피드로 돌아가기
Dev.toAI/ML
원문 읽기
Vibes-based 프롬프팅 탈피를 위한 Frozen Benchmark 기반 Eval-Driven 루프 설계
Eval-Driven Agent Development: How I Stopped Tuning Prompts on Vibes
AI 요약
Context
Agent의 Non-determinism과 Ground-truth 부재로 인해 프롬프트 수정 후 성능 개선 여부를 판단하는 정량적 기준이 부재한 상황. 단일 실행 결과에 의존하는 'Vibes-based' 엔지니어링으로는 회귀 테스트가 불가능하며 실제 성능 향상과 운에 의한 성공을 구분할 수 없는 한계 노출.
Technical Solution
- 변수 통제를 위해 코드베이스를 정적으로 고정한 Frozen Target(Tier 1: CLI, Tier 2: 69K-LOC Backend) 도입
- 성공 여부를 결정론적으로 판별하는 Shell Command 기반의 Oracle/Acceptance Checks 설계
- Non-determinism 대응을 위해 동일 Task를 N회(기본 3회) 반복 실행하는 Trial 구조 채택
- 코드 실행 결과(Test Pass-ratio)를 확인하는 Deterministic Grader와 코드 품질(Spec Quality)을 평가하는 Probabilistic LLM Judge의 이중 검증 체계 구축
- 단순 평균값의 함정을 피하기 위해 신뢰도 지표인 pass@k 및 pass^k 메트릭 적용
- Judge 모델의 비용 및 결과가 Agent 성능 지표에 영향을 주지 않도록 Cost-isolation 및 Memoization 처리
실천 포인트
1. 타겟 코드베이스를 Repo에 Vendored하여 외부 변경에 의한 노이즈 차단
2. LLM 판단 전 단계에 반드시 결정론적인 Oracle(Test Case) 배치
3. 평균값이 아닌 성공 확률 분포(pass@k)를 통한 신뢰도 측정
4. 평가용 Judge LLM을 별도 격리하여 최적화 대상 지표와 분리