auto-improve은(는) 무엇을 하나요?
모든 텍스트 아티팩트를 위한 자율적이고 판정 기반의 자기 개선 도구입니다. 전체 가이드는 README.md를 참조하세요. 이 문서는 에이전트용 빠른 참조입니다.
사용 시기
사용자가 단순히 다시 쓰는 것이 아니라 측정 가능하게 더 나은 결과를 원하고, '더 나은' 것을 루브릭으로 표현할 의향이 있을 때 사용합니다. 적합한 예: 냉장 이메일, 랜딩 페이지 카피, 프롬프트, 스킬 정의, 블로그 게시물, 자기소개서, 문서, 계약서, 메뉴.
실행 방법
export GEMINI_API_KEY=... # https://aistudio.google.com/apikey
python3 improve.py \
--artifact path/to/file.md \ # git 저장소 내에 있어야 함
--tag v1 \ # → improve/v1 브랜치, results/v1.tsv 파일 생성
--max-iterations 8 \
--criteria path/to/rubric.md # 선택 사항 — 생략하면 루브릭을 자동 추론하거나
# --goal "좋은 모습"을 추가하여 추론된 루브릭을 유도할 수 있음
--criteria를 전달하지 않으면 auto-improve가 먼저 아티팩트에서 루브릭을 작성하여 results/<tag>.rubric.md에 저장합니다. 이를 읽으면 무엇을 최적화하고 있는지 알 수 있습니다. 완료된 실행을 확인하려면: python3 improve.py --status --tag v1. 결과는 improve/<tag> Git 브랜치에 있으며, git diff main improve/v1 -- <file>로 확인할 수 있습니다.
판정 방식 (슬롭 방지)
- 변형 — 최고의 N개 후보 편집을 생성, 외과적 diff로 적용 (충돌 방지).
- 점수화 — 각 후보를 별도의 모델 호출로 루브릭에 따라 평가.
- 결정 — 최고 후보를 현재 챔피언과 쌍별 판정(양쪽 순서, 편향 제거)으로 비교하여 진정으로 승리한 경우에만 유지, 그렇지 않으면 되돌리기.
변형기는 자신의 작업을 평가하지 않으며, 자신감은 있지만 실제로 더 나쁜 재작성은 폐기되므로, 개선은 실제이며 모든 커밋은 검증된 진전입니다.
루브릭 작성
총합 100의 가중치가 있는 차원으로 구성된 마크다운 파일입니다. 기준점(50/70/90)을 사용하고, 보상 중심으로 구체적으로 작성합니다. criteria/README.md 및 criteria/의 예제를 참조하세요.
주요 규칙
- 변형기와 평가기는 컨텍스트를 공유하지 않습니다.
- 한 번에 하나의 아티팩트, 하나의 루브릭, 하나의
--tag만 사용합니다. - Git 브랜치가 진실의 원천이며,
results/<tag>.tsv는 개선 기록입니다(추적되지 않음). - 아티팩트 외부는 편집하지 않으며, 전체 재작성이 아닌 작은 외과적 diff만 적용합니다.