# Autoresearch 시스템 완전학습 + 첫 실행

## 배경
Autoresearch 시스템이 Phase 1~2까지 코드 완성 (150 테스트 PASS, pyright 0 에러).
하지만 한 번도 실제 실행된 적이 없음. 이번 작업에서 시스템을 완전히 이해하고 실행까지 진행.

## 작업 범위

### Phase 1: 완전학습 (시스템 이해)

아래 파일을 **모두 읽고** 시스템 구조를 완전히 파악:

**코어 모듈 (7개):**
- `/home/jay/workspace/scripts/autoresearch/runner.py` — 메인 오케스트레이터
- `/home/jay/workspace/scripts/autoresearch/mutator.py` — SKILL.md 변이 생성
- `/home/jay/workspace/scripts/autoresearch/judge.py` — 체크리스트 기반 채점
- `/home/jay/workspace/scripts/autoresearch/changelog.py` — 변경 로그 관리
- `/home/jay/workspace/scripts/autoresearch/skill_executor.py` — 스킬 실행 (API 호출)
- `/home/jay/workspace/scripts/autoresearch/capture.py` — 자동 입력 캡처
- `/home/jay/workspace/scripts/autoresearch/reporter.py` — 결과 리포트 생성

**스킬 정의:**
- `/home/jay/workspace/skills/autoresearch/SKILL.md` — CLI 스킬 정의

**대상 스킬 (첫 실행 타겟):**
- `/home/jay/workspace/skills/ad-creative/SKILL.md` — 광고 카피 생성 스킬
- `/home/jay/workspace/skills/ad-creative/evals/checklist.yaml` — 품질 체크리스트 (5항목)
- `/home/jay/workspace/skills/ad-creative/evals/test-inputs.yaml` — 테스트 입력 (3개)

### Phase 2: 실행 전 검증

1. **API 키 확인**: ANTHROPIC_API_KEY가 환경변수 또는 .env 파일에 존재하는지 확인
   - 확인 경로: 환경변수 → `/home/jay/workspace/.env.keys` → `/home/jay/workspace/.env` → `/home/jay/.env`
   - ★ API 키 값을 출력하지 말 것. 존재 여부만 확인.

2. **테스트 재실행**: 150개 테스트 전부 PASS 확인
   ```bash
   cd /home/jay/workspace && python3 -m pytest scripts/autoresearch/tests/ -v --tb=short
   ```

3. **Dry-run 실행**: 실제 API 호출 없이 구조 확인
   ```bash
   cd /home/jay/workspace && python3 scripts/autoresearch/runner.py \
     --skill ad-creative \
     --checklist skills/ad-creative/evals/checklist.yaml \
     --test-input "보험 FA 모집 광고 테스트" \
     --rounds 1 \
     --dry-run
   ```

### Phase 3: 첫 실행 (ad-creative 스킬 최적화)

**★ 실행 전 반드시 Phase 2 검증 통과 후 진행**

1. **SKILL.md 원본 백업 확인**: `skills/ad-creative/evals/backup-original.md` 자동 생성되는지 확인

2. **소규모 실행 (5라운드)**: 먼저 5라운드로 동작 확인
   ```bash
   cd /home/jay/workspace && python3 scripts/autoresearch/runner.py \
     --skill ad-creative \
     --checklist skills/ad-creative/evals/checklist.yaml \
     --test-inputs-file skills/ad-creative/evals/test-inputs.yaml \
     --rounds 5 \
     --target-score 0.90
   ```

3. **결과 확인**:
   - 라운드별 점수 변화 (stdout 로그)
   - changelog.json 생성 여부: `skills/ad-creative/evals/changelog-*.json`
   - SKILL.md 변경 여부: 최적화로 개선되었는지 diff 확인
   - backup-original.md 존재 확인

4. **리포트 생성**:
   ```bash
   cd /home/jay/workspace && python3 scripts/autoresearch/reporter.py \
     --skill ad-creative
   ```

5. **소규모 결과가 정상이면 → 본 실행 (30라운드)**:
   ```bash
   cd /home/jay/workspace && python3 scripts/autoresearch/runner.py \
     --skill ad-creative \
     --checklist skills/ad-creative/evals/checklist.yaml \
     --test-inputs-file skills/ad-creative/evals/test-inputs.yaml \
     --rounds 30 \
     --target-score 0.95 \
     --consecutive 3
   ```

6. **최종 리포트 생성**:
   ```bash
   cd /home/jay/workspace && python3 scripts/autoresearch/reporter.py \
     --skill ad-creative
   ```

### Phase 4: 결과 분석 및 보고

보고서에 포함할 내용:
1. **시스템 학습 결과**: 아키텍처 요약 (한 단락)
2. **실행 결과**:
   - 초기 점수 vs 최종 점수
   - 총 라운드 수, KEEP/REVERT 비율
   - 어떤 변이가 점수를 올렸는지 (changelog 분석)
3. **SKILL.md 변화**: 원본 vs 최적화 후 주요 차이점
4. **개선 제안**: 체크리스트 항목 추가/수정 제안, 다음 최적화 대상 스킬 추천
5. **이슈**: 실행 중 발견된 문제가 있다면 기록

## 검증
1. 150개 테스트 전체 PASS
2. dry-run 정상 동작
3. 소규모 실행 (5라운드) 완료 + changelog 생성
4. 본 실행 (30라운드) 완료 + 리포트 생성
5. SKILL.md 백업 존재 확인
6. pyright 에러 0건 (기존 코드 수정 시에만)

## 주의사항
- ★ 기존 autoresearch 코드 수정 금지. 읽기 + 실행만.
- ★ API 키를 로그나 보고서에 노출하지 말 것.
- ★ 실행 중 에러 발생 시: 에러 로그 전문 보존, 원인 분석 후 보고.
- ★ SKILL.md가 더 나빠지면 (점수 하락) backup-original.md에서 복원.

## 참조
- Autoresearch 설계: Karpathy의 autoresearch 방법론 (프롬프트 자동 최적화)
- Phase 1 보고서: 5팀 task-1090.1
- Phase 2 보고서: 5팀 task-1091.1 + 8팀 task-1096.1