Files

182 lines
7.3 KiB
Markdown

# 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
# 크론 종료 시 호출
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
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 | 전체 크론 마이그레이션 | ⬜ 대기 |
---
## ⚠️ 알려진 한계
1. **토큰 자동 수집 불가** - OpenClaw 크론 구조상 불가능, 추정치 사용
2. **LLM 자기평가 편향** - 완전 해결 불가, 외부 검증으로 완화
3. **정확도 측정 불가** - 정답이 없는 태스크는 측정 자체가 불가능
---
## 🔬 파일럿 크론 (Week 1)
1. **TQQQ 5분 모니터링** - 고빈도, 단순
2. **모닝 브리핑** - 복잡, 중요
3. **일일 백업** - 단순, NO_REPLY
4. **크론 감시 리포트** - 중간 복잡도
5. **주간 자기평가 감사 V5.0** - 메타 재귀적 (자신을 평가)
---
## 📝 변경 이력
| 날짜 | 버전 | 변경 내용 |
|------|------|----------|
| 2026-02-07 | 5.0 | 초기 설계 |
| 2026-02-07 | 5.0.1 | 비판적 검토 후 5개 결함 수정 |
---
*"측정할 수 없으면 개선할 수 없다. 하지만 측정할 수 없는 것을 억지로 측정하면 거짓만 남는다."*