[G1-Sync] Manual knowledge update
This commit is contained in:
+160
-93
@@ -1,120 +1,187 @@
|
||||
---
|
||||
id: wiki-2026-0508-goal
|
||||
title: goal
|
||||
title: goal (Goal Definition in Software & Agents)
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: []
|
||||
aliases: [Goal Specification, Objective Function, Agent Goal]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.92
|
||||
tags: [uncategorized]
|
||||
confidence_score: 0.85
|
||||
verification_status: applied
|
||||
tags: [goal-setting, planning, agents, okr, project-management]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-08
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: unspecified
|
||||
framework: unspecified
|
||||
language: Markdown / Python
|
||||
framework: convention + agent planning libs
|
||||
---
|
||||
|
||||
# 🎯 YouTube 에이전트 — 나의 미션
|
||||
# goal (Goal Definition in Software & Agents)
|
||||
|
||||
> 🌞 24시간 업무가 켜져 있으면 이 미션을 향해 자동으로 한 스텝씩 일합니다.
|
||||
> 자유롭게 수정하세요. 비워두면 회사 공동 목표만 따라갑니다.
|
||||
## 매 한 줄
|
||||
> **"매 'goal' 매 software-eng / agent context 의 매 measurable success criterion + termination condition"**. OKR 의 KR, RL 의 reward, agent 의 stop condition, project brief 의 north star — 매 모든 context 에서 매 same shape: _state X must hold_. 2026 LLM agent 시대 매 'goal' 의 설계 가 prompt engineering 의 most-leveraged part.
|
||||
|
||||
## 장기 목표 (3~6개월)
|
||||
- 채널 정체성 확립 + 구독자 1만 도달
|
||||
- 영상 평균 시청 지속률 50% 이상
|
||||
## 매 핵심
|
||||
|
||||
## 이번 주 목표
|
||||
- 후크 강한 영상 기획서 3개 작성
|
||||
- 감시 채널 댓글 패턴에서 후크 단어 5개 추출
|
||||
- 경쟁 채널 인기 영상 → 다음 액션 브리프 1건
|
||||
### 매 Goal anatomy
|
||||
1. **Predicate**: state 가 hold 의 boolean function.
|
||||
2. **Metric**: 진행도 의 measurable scalar.
|
||||
3. **Deadline**: time bound.
|
||||
4. **Constraints**: 매 do-not-violate (cost, safety).
|
||||
5. **Owner**: 매 accountable entity.
|
||||
|
||||
## 사용 가능한 도구 (Skills)
|
||||
- 🔑 `[[youtube_account|youtube_account]]` — API 키·내 채널·감시 채널·텔레그램 한 번에 설정
|
||||
- 🎯 `trend_sniper` — 키워드 기반 떡상 영상 패턴 분석
|
||||
- 🌙 `[[auto_planner|auto_planner]]` — 트렌드 스나이퍼 무인 반복 실행
|
||||
- 🎬 `[[my_videos_check|my_videos_check]]` — 내 채널 영상이 잘 올라갔는지 자동 판단
|
||||
- 💬 `[[comment_harvester|comment_harvester]]` — 감시 채널 댓글 → [[memory|memory]].md 누적
|
||||
- 🔭 `competitor[[_brief|_brief]]` — 경쟁 채널 → 지시문 형식 다음 액션
|
||||
- 📨 `[[telegram_notify|telegram_notify]]` — 다른 도구 보고를 메신저로 자동 푸시
|
||||
### 매 Goal 의 levels
|
||||
- **Strategic** (북극성, 분기): "$10M ARR by EoY".
|
||||
- **Tactical** (epic, 매 sprint): "ship 3 enterprise features".
|
||||
- **Operational** (PR, task): "reduce P95 latency from 800ms to 300ms".
|
||||
- **Agent-step** (1 turn): "extract email from this PDF".
|
||||
|
||||
## 작업 원칙
|
||||
- 추상적 조언 대신 **실행 가능한 산출물** (제목·썸네일 브리프·스크립트 후크)
|
||||
- 매번 다음 단계 1줄을 명시
|
||||
- 메모리(`memory.md`)에 누적된 댓글·반응 키워드를 후크에 반영
|
||||
### 매 SMART 의 modern 개정
|
||||
- Specific, Measurable, **Aligned** (was Achievable), Relevant, Time-boxed, **Verifiable** (new) — 매 LLM 의 self-check 가능.
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
### 매 응용
|
||||
1. Project brief / `_brief.md` 의 "Why" + "Now" 섹션.
|
||||
2. Agent system prompt 의 stop condition.
|
||||
3. RL reward shaping.
|
||||
4. PR description ("This PR achieves: ___").
|
||||
|
||||
> *(TODO: 한 문장으로 핵심 통찰을 작성. "X는 Y 조건에서 Z 효과를 낸다" 구조 권장.)*
|
||||
## 💻 패턴
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
### Goal struct (TypeScript)
|
||||
```typescript
|
||||
interface Goal {
|
||||
id: string;
|
||||
description: string;
|
||||
predicate: () => Promise<boolean>;
|
||||
metric?: () => Promise<number>; // higher = closer
|
||||
deadline?: Date;
|
||||
constraints: Constraint[];
|
||||
owner: string;
|
||||
parent?: string; // hierarchy
|
||||
}
|
||||
|
||||
**추출된 패턴:**
|
||||
> *(TODO)*
|
||||
|
||||
**세부 내용:**
|
||||
- *(TODO)*
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
|
||||
- **과거 데이터와의 충돌:** 없음
|
||||
- **정책 변화:** 없음
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- **Parent:** [[10_Wiki/Topics]]
|
||||
- **Related:** *(TODO: 최소 2개)*
|
||||
- **Opposite / Trade-off:** *(TODO)*
|
||||
- **Raw Source:** 직접 입력
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
|
||||
## 💻 코드 패턴 (Code Patterns)
|
||||
|
||||
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
|
||||
|
||||
```text
|
||||
# TODO
|
||||
interface Constraint {
|
||||
type: 'budget' | 'latency' | 'safety';
|
||||
check: () => Promise<boolean>;
|
||||
}
|
||||
```
|
||||
|
||||
## 🤔 의사결정 기준 (Decision Criteria)
|
||||
### Agent stop-condition
|
||||
```python
|
||||
async def run_agent(goal: Goal, max_steps=20):
|
||||
for step in range(max_steps):
|
||||
if await goal.predicate():
|
||||
return {"status": "achieved", "steps": step}
|
||||
for c in goal.constraints:
|
||||
if not await c.check():
|
||||
return {"status": "violated", "constraint": c.type}
|
||||
action = await llm_plan(goal, history)
|
||||
history.append(await execute(action))
|
||||
return {"status": "exhausted", "steps": max_steps}
|
||||
```
|
||||
|
||||
**선택 A를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
### OKR YAML
|
||||
```yaml
|
||||
# goals/2026-Q2.yaml
|
||||
objective: "Make Acme the default CRM for 50-person SMBs"
|
||||
key_results:
|
||||
- id: arr
|
||||
description: "Reach $2M ARR"
|
||||
metric: arr_usd
|
||||
target: 2_000_000
|
||||
current: 1_240_000
|
||||
- id: nps
|
||||
description: "NPS ≥ 50"
|
||||
metric: nps_score
|
||||
target: 50
|
||||
current: 38
|
||||
- id: churn
|
||||
description: "Monthly churn < 2%"
|
||||
metric: monthly_churn
|
||||
target: 0.02
|
||||
direction: minimize
|
||||
```
|
||||
|
||||
**선택 B를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
### LLM goal-prompt template
|
||||
```text
|
||||
You are working toward this goal:
|
||||
<goal>{description}</goal>
|
||||
|
||||
**기본값:**
|
||||
> *(TODO)*
|
||||
You must terminate when ALL of these are true:
|
||||
{predicate_checklist}
|
||||
|
||||
## ❌ 안티패턴 (Anti-Patterns)
|
||||
You must NOT violate:
|
||||
{constraints}
|
||||
|
||||
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
|
||||
After each action, output `<self-check>...</self-check>` where you state
|
||||
whether the goal predicate is now true and why.
|
||||
```
|
||||
|
||||
### Hierarchical decomposition (HTN-style)
|
||||
```python
|
||||
def decompose(goal: Goal) -> list[Goal]:
|
||||
# 매 LLM 또는 rule-based
|
||||
if goal.id == "ship_feature_X":
|
||||
return [
|
||||
Goal("design_doc", ..., parent=goal.id),
|
||||
Goal("api_impl", ..., parent=goal.id),
|
||||
Goal("ui_impl", ..., parent=goal.id),
|
||||
Goal("docs_update", ..., parent=goal.id),
|
||||
]
|
||||
return [goal]
|
||||
```
|
||||
|
||||
### Verifiable goal check
|
||||
```typescript
|
||||
const goals: Goal[] = [{
|
||||
id: 'p95_latency',
|
||||
description: 'p95 < 300ms for /search',
|
||||
predicate: async () => {
|
||||
const r = await fetch('https://prom/api/v1/query?query=histogram_quantile(0.95,rate(http_dur_bucket{route="/search"}[5m]))');
|
||||
const v = +(await r.json()).data.result[0].value[1];
|
||||
return v < 0.3;
|
||||
},
|
||||
constraints: [],
|
||||
owner: 'eng@acme',
|
||||
}];
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Company-level | OKR (1 obj, 3-5 KRs, quarterly) |
|
||||
| Team sprint | Goal + acceptance criteria checklist |
|
||||
| LLM agent run | predicate + max-step + cost budget |
|
||||
| RL training | dense reward + sparse goal + early stopping |
|
||||
| Personal dev | weekly review, 매 1-2 active goals only |
|
||||
|
||||
**기본값**: 매 written goal + measurable predicate + deadline + 매 weekly check-in. 매 매 unmeasurable goal 의 X.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Project-Management]] · [[Agent-Planning]]
|
||||
- 변형: [[OKR]] · [[SMART-Goal]] · [[Reward-Function]]
|
||||
- 응용: [[_brief]] · [[Agent-Stop-Condition]] · [[Sprint-Planning]]
|
||||
- Adjacent: [[KPI]] · [[North-Star-Metric]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: goal decomposition draft, predicate code generation, OKR phrasing.
|
||||
**언제 X**: 매 strategic priority 의 결정 — 매 founder/leadership 의 own.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Vague goal**: "improve UX" — 매 unverifiable. Use metrics.
|
||||
- **Too many goals**: > 5 active = 0 active. Force prioritization.
|
||||
- **No constraints**: agent 가 매 cost/safety 의 무시 → catastrophic.
|
||||
- **Goal-metric mismatch**: Goodhart's law — metric 만 game 됨. Pair with qualitative review.
|
||||
- **Set-and-forget**: 매 check-in 없으면 매 3개월 wasted.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Doerr "Measure What Matters", Anthropic agent design notes, RL textbooks).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — goal anatomy + agent stop condition |
|
||||
|
||||
Reference in New Issue
Block a user