저는 대부분의 Claude Code 세션이 비슷하다는 것을 깨닫고 AutoMode를 만들었습니다. 간단한 질문을 하고, 실제 작업을 수행하고, 또 다른 질문을 한 뒤, 더 어려운 작업을 합니다. 그리고 기본적으로 모든 것이 Opus 모델로 실행됩니다.
AutoMode는 무료 오픈 소스 (MIT) Claude Code 모드입니다. 프롬프트마다 적절한 모델과 추론 노력을 선택합니다: 간단한 사실 확인에는 Haiku를, 수정 작업에는 Sonnet을, 설계 및 위험도가 높은 작업에는 Opus를 사용합니다. 이 도구는 API 키나 프록시, 서버 없이 사용자 자신의 Claude 로그인으로 실행됩니다.
아이디어 자체는 명확했습니다. 하지만 그것이 도움이 된다는 것을 증명하는 것은 아니었습니다. 이것은 제 도구가 패배했던 테스트를 포함한 벤치마크 이야기입니다.
벤치마크 작동 방식
저는 다른 사람이 게시했을 때 신뢰할 수 있는 숫자를 원했습니다:
- 실제 작업. 각 작업은 공개 저장소, 고정된 베이스 커밋(base commit), 그리고 고정된 참조 커밋(reference commit)을 명시합니다.
- 숨겨진 테스트. 에이전트가 변경 사항을 저장한 후에만 워크스페이스에 접근합니다. 에이전트는 이들을 절대 볼 수 없습니다.
- 모든 비용 계산. 모든 요청, AutoMode 자체 심사(judge) 호출 및 서브 에이전트를 포함하여 리스트 가격 등가액으로 비용이 산정됩니다.
- 규칙 우선. 각 실행에 대한 시프트 규칙(ship rule)은 첫 번째 행보다 먼저 커밋됩니다.
- 세션은 Opus로 시작합니다. 대부분의 사람들이 Claude Code를 이 방식으로 사용하기 때문입니다.
첫 번째 테스트는 좋지 않았습니다
첫 30개 작업 실행에서 AutoMode는 순수 Opus 모델보다 더 많은 비용이 들었습니다.
원인은 하나의 규칙 때문이었습니다. 심사관(judge)이 작업을 '어려우며 임계 위험'이라고 평가할 때마다, AutoMode는 이를 Opus로 시작했습니다. 이것은 30개 작업 중 절반을 Opus로 보내게 만들었습니다. 반면 순수 Sonnet 모델은 동일한 모든 작업을 훨씬 저렴하게 통과했습니다.
해결책은 Opus가 '획득하는' 것이 되도록 만든 것입니다. 이제 어려운 작업은 Sonnet high에서 시작합니다. Opus는 오직 증거(evidence)가 있을 때만 사용됩니다: 실패한 체크, 회귀(regression), 또는 리뷰어가 변경을 차단했을 경우입니다. 가장 어려운 등급의 작업조차도 여전히 Opus로 시작합니다.
저는 패배했던 실행 기록을 보고서에 남겨두었습니다. 벤치마크가 승리만을 보여준다면, 저는 누군가가 그것이 성공할 때까지 조정했다고 가정합니다.
5개의 혼합 세션, 20단계. 각 세션은 하나의 지속적인 대화에서 실행됩니다: 질문, 작업, 또 다른 질문, 더 어려운 작업.
| Setup | Passed | Total |
|---|
| AutoMode | 20/20 | $2.01 |
| ... | | |
| That is 51% less than Opus and 48% less than effortless at the same pass rate. Most of the gap is the questions. Haiku answered them for $0.08 in total, against $0.50 on Opus. | | |
30개의 단일 코딩 작업.
| Setup | Passed | Cost per passed task |
|---|
| AutoMode | 29/30 | $0.275 |
| ... | | |
| The cost ratio against Opus is 0.551, with a 90% interval of 0.511 to 0.591. | | |
AutoMode가 우위를 점하지 못하는 경우
모든 워크로드에서 승리하는 라우터는 없으므로, AutoMode의 약점은 다음과 같습니다:
- 질문이 없는 긴 코딩 작업. AutoMode는 이러한 작업을 Sonnet으로 실행하므로, Sonnet High 비용에 더해 Sonnet의 평가자(judges) 및 검사 비용이 발생합니다. 이는 약 15% 더 많은 비용을 차지합니다. 만약 이것이 하루 전체이고 이미 Sonnet High를 사용하고 있다면 절감 효과가 크지 않습니다.
- 각 팔(arm)을 한 번씩 실행하는 경우. 이를 일반적인 법칙이라기보다는 출시 신호로 간주하십시오.
- 이는 목록 가격입니다. Pro 또는 Max 플랜에서는 요청당 청구되지 않으므로, 이 수치들은 상대적 비용으로 읽어야 합니다.
중요했던 두 가지 엔지니어링 세부 사항
모델 전환은 공짜가 아닙니다. 각 모델은 자체 프롬프트 캐시(prompt cache)를 유지합니다. 따뜻하게 활성화된 채팅(warm chat)에서 모델을 전환하면, 새로운 모델이 전체 대화 내용을 자신의 캐시에 기록해야 합니다. AutoMode는 어떤 전환이 일어나기 전부터 이 재작성 비용을 책정하며, 절감액이 재작성 비용을 상쇄하지 못할 경우 현재 모델을 유지합니다. 사이트에는 전환 비용이 어떻게 상쇄되는지 확인할 수 있는 차트가 있습니다: https://mralexivy.github.io/AutoMode/calculator/
코드 내의 위험 완충 장치(risk floor). 마이그레이션, 인증 변경(auth changes), 데이터 삭제 및 유사한 작업은 평가자가 낮출 수 없는 품질 하한선이 있습니다. 위험도가 높은 작업은 항상 독립적인 검토를 거칩니다.
직접 사용해 보거나 제 수치를 확인해 보세요
Claude Code 내에 설치하세요:
/plugin marketplace add mralexivy/AutoMode
/plugin install automode@automode
/reload-plugins
이후 막대 그래프에는 각 프롬프트에 대한 경로(route), 캐시 카운트다운(cache countdown), 그리고 사용을 시작한 모델 대비 예상 절감액이 표시됩니다.
결정(decision)을 재현하는 데 사용된 행(rows), 방법론(method), 그리고 명령어는 공개되어 있습니다: https://mralexivy.github.io/AutoMode/benchmark/
코드는 https://github.com/mralexivy/AutoMode에서 확인할 수 있습니다. 만약 사용하시는 워크로드(workload)가 제가 제시한 수치를 깨뜨린다면, 그것을 보고 싶습니다. 벤치마크 작업(Benchmark tasks)이 가장 유용한 기여입니다.