7.3 KiB
7.3 KiB
Self-Review V5.0.1 시스템 문서
버전: 5.0.1 적용일: 2026-02-07 상태: Week 1 파일럿
🎯 핵심 철학
| 원칙 | 설명 |
|---|---|
| 거짓 약속 금지 | "자동 수집"이라 하면서 수동인 건 금지 |
| 편향 인정 | LLM 자기평가의 한계 인정 (기본값 = 관대함 의심) |
| 크론별 목표 | 일률적 목표는 무의미 → 크론 특성에 맞게 |
| 외부 검증 의무화 | 주간 Opus 검증 |
| 히스토리 보존 | 파일명 타임스탬프로 덮어쓰기 방지 |
⚠️ V5.0 → V5.0.1 변경사항
| 문제 | 수정 |
|---|---|
| "자동 메트릭 수집" 거짓 약속 | 문서에서 명확히 "호출자 제공" 명시 |
| 파일 덮어쓰기 (히스토리 손실) | 파일명에 HHMMSS 타임스탬프 추가 |
| 일률적 목표 (15초, 500토큰) | targets-by-cron.yaml 매핑 파일 |
| grep 기반 YAML 파싱 | Node.js 정규식 파싱 (yq 없이) |
편향 기본값 false |
true로 변경 (보수적 접근) |
🏗️ 아키텍처
┌─────────────────────────────────────────────────────────┐
│ Layer 1: 메트릭 기록 (호출자 제공) │
│ • score (1-10 자기평가) │
│ • tokens_in/out (추정치 허용) │
│ • exit_status (성공/실패) │
│ ⚠️ OpenClaw 크론은 토큰을 자동 수집할 수 없음 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Layer 2: LLM 자기성찰 │
│ • what_went_wrong (무엇이 잘못됐나) │
│ • why (왜 그랬나) │
│ • next_action (다음 액션) │
│ • bias_check (편향 점검 - 기본값 true) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Layer 3: 외부 검증 (주간) │
│ • 검증자: Claude Opus │
│ • 빈도: 일요일 23:30 │
│ • 비용: ~$0.60/월 │
│ • 도구: weekly-review-collector.sh │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Layer 4: PDCA 사이클 │
│ • Plan (일요일): 다음 주 목표 설정 │
│ • Do (월~금): 크론 실행 + 자기성찰 │
│ • Check (토요일): 주간 리뷰 │
│ • Act (일요일): 시스템 개선 │
└─────────────────────────────────────────────────────────┘
📁 파일 구조
~/openclaw/
├── templates/
│ ├── self-review-v5.0.yaml # YAML 템플릿
│ └── targets-by-cron.yaml # 크론별 목표 매핑 ✨
├── scripts/
│ ├── self-review-logger.sh # 메트릭 기록 스크립트
│ └── weekly-review-collector.sh # 주간 데이터 수집 (Node.js)
├── memory/
│ ├── self-review/ # Layer 2 일일 기록
│ │ └── 2026-02-07/
│ │ ├── TQQQ_모니터링_163045.yaml # ✨ 타임스탬프!
│ │ └── TQQQ_모니터링_163545.yaml
│ └── weekly-review/ # Layer 3 주간 리포트
│ └── 2026-W06.md
└── docs/
└── self-review-v5.0.md # 이 문서
🔧 사용법
크론에서 V5.0 자기평가 기록
# 크론 종료 시 호출
bash ~/openclaw/scripts/self-review-logger.sh \
"TQQQ 5분 모니터링" \
"8.2" \ # 점수 (1-10)
"150" \ # tokens_in (추정치 OK)
"300" \ # tokens_out (추정치 OK)
"ok" \ # exit_status
"Yahoo 지연 명시 누락" \ # what_went_wrong
"습관적 생략" \ # why
"다음부터 지연 태그 추가" # next_action
주간 데이터 수집
bash ~/openclaw/scripts/weekly-review-collector.sh
📊 크론별 목표 (targets-by-cron.yaml)
| 크론 유형 | 예시 | duration | tokens |
|---|---|---|---|
| 복잡한 분석 | 트렌드 헌터, 정보 탐험 | 120-180초 | 2000-3000 |
| 브리핑 | 모닝/퇴근 브리핑 | 60초 | 1200 |
| 모니터링 | TQQQ, GitHub | 10-20초 | 200-400 |
| 단순 실행 | 백업, 로그 정리 | 10초 | 100 |
| 알림 | 조식, 취침 | 5초 | 50 |
📈 성공 기준
| 지표 | 목표 | 측정 방법 |
|---|---|---|
| 자기평가 기록률 | >50% | 파일럿 5개 크론 중 |
| 평균 점수 | 7.0+ | weekly-review-collector |
| 외부 검증 실행률 | 100% | 크론 실행 로그 |
| 관대함 인정률 | >20% | am_i_being_too_easy = true |
🚀 마이그레이션 로드맵
| 주차 | 작업 | 상태 |
|---|---|---|
| Week 1 | Layer 1-2 파일럿 (5개 크론) | ⏳ 진행중 |
| Week 2 | YAML 형식 10개 전환 | ⬜ 대기 |
| Week 3 | Layer 3 외부 검증 테스트 | ⬜ 대기 |
| Week 4 | Layer 4 PDCA 사이클 시작 | ⬜ 대기 |
| Week 5 | 전체 크론 마이그레이션 | ⬜ 대기 |
⚠️ 알려진 한계
- 토큰 자동 수집 불가 - OpenClaw 크론 구조상 불가능, 추정치 사용
- LLM 자기평가 편향 - 완전 해결 불가, 외부 검증으로 완화
- 정확도 측정 불가 - 정답이 없는 태스크는 측정 자체가 불가능
🔬 파일럿 크론 (Week 1)
- TQQQ 5분 모니터링 - 고빈도, 단순
- 모닝 브리핑 - 복잡, 중요
- 일일 백업 - 단순, NO_REPLY
- 크론 감시 리포트 - 중간 복잡도
- 주간 자기평가 감사 V5.0 - 메타 재귀적 (자신을 평가)
📝 변경 이력
| 날짜 | 버전 | 변경 내용 |
|---|---|---|
| 2026-02-07 | 5.0 | 초기 설계 |
| 2026-02-07 | 5.0.1 | 비판적 검토 후 5개 결함 수정 |
"측정할 수 없으면 개선할 수 없다. 하지만 측정할 수 없는 것을 억지로 측정하면 거짓만 남는다."