동일 모델로 더 빠르게 작동하는 에이전트: Harness Fast 모드
요약
본 기사는 코딩 에이전트의 성능 향상 방안으로 'Fast 모드'를 제안합니다. Fast 모드는 모델과 추론 설정을 고정하면서도, 기존 Standard 모드 대비 평균 완료 시간을 50%~80%까지 단축시키는 효과를 보였습니다. 이는 에이전트가 신속하게 결과를 제공하도록 최적화된 실행 정책을 제시합니다.
핵심 포인트
- Fast 모드는 모델/설정을 고정하고 속도만 개선함.
- 평균 완료 시간이 50.4%–80.1% 감소하는 효과를 입증.
- 에이전트의 작업 종료 시점까지의 시간을 측정함.
- 신속한 결과 제공을 위한 최적화된 실행 정책임.
코딩 에이전트가 더 빠른 모델로 전환하지 않고도 더 빨리 결과물을 제공할 수 있을까요? 저희는 모델과 추론 설정을 고정한 채 Sunny Code에서 Fast와 Standard 실행 정책을 비교하여 이를 테스트했습니다.
9개의 소규모 태스크 전반에 걸쳐 Fast 모드는 36쌍의 관측치 모두에서 로컬 결과물을 더 빨리 제공했습니다. 6개 코호트별 모델 집계에서는 평균 완료 시간이 50.4%–80.1% 감소했으며, 평균 새 토큰 사용량은 10.2%–38.7% 감소했습니다.
중요한 경계점: 이는 에이전트가 태스크를 종료하는 시점까지의 시간을 측정합니다. 이후에 진행되는 독립적인 승인(acceptance)은 이 기간에 포함되지 않습니다. 결과적으로 더 빨리 작동했다고 해서 모든 결과물이 통과했다는 의미는 아닙니다.
정상 검증 코호트만 해당; 각 막대는 실패한 결과물을 포함하여 6회 실행의 평균입니다. 시간은 에이전트가 태스크를 완료할 때 끝나며, 이후 독립적인 승인은 제외됩니다.
설정: 9개 태스크, 2개 모델, 72회 실행
저희는 모두 낮은 사고(thinking) 설정을 가진 GPT-6.1 Sol과 DS4.1 Flash를 사용했습니다. 각 태스크는 각 모델의 모든 모드에서 두 번씩 실행되었습니다: 9 × 2 × 2 × 2 = 72회 실행.
쌍(Pairs)은 태스크, 코드 스냅샷, 종속성, 모델 및 추론 설정을 고정했습니다. 실행은 순차적이었으며, 모드 순서는 번갈아 가며 적용되었습니다. 저희는 제공업체 캐싱이나 서비스 부하가 완전히 통제되지 않은 상태에서 제품 모드를 완전한 구성으로 비교했습니다.
태스크들은 7개의 저장소(repositories)를 다루었습니다:
| 코호트 | 저장소 및 태스크 |
|---|---|
| 정상 검증 (Normal verification) | Sunny Code: 로컬 미리보기 URL 경계; 텍스트 프롬프트 학습 및 미디어 입력. 클릭 시: 정규화된 Choice 셸 완성. |
| ... | |
| 저가 검증 저장소들은 중앙값 네이티브 스위트 기준선(baseline)이 약 0.7–2.7초였습니다. 이는 저장소 테스트 자체가 이미 저렴한 비용으로 이루어질 때도 결과가 유지되는지 테스트하는 데 도움이 되었습니다. |
완료 시간
아래의 각 셀은 실패한 결과물을 포함하여 6회 실행의 평균입니다.
| Cohort | Model | Standard | Fast |
|---|---|---|---|
| Normal verification | GPT-6.1 Sol | 106.4 s | 31.3 s |
| ... | |||
| Fast 모드는 에이전트가 작업에 집중하고, 추가 작업을 제한하며, 변경 사항을 만들고 검사한 후 신속하게 결과를 제공하는 것을 목표로 합니다. 두 모드가 동일한 검증을 수행하지 않았기 때문에, 이 수치들을 단순히 더 빠르게 실행된 동일한 작업으로 해석해서는 안 됩니다. |
새로운 토큰도 감소했습니다
여기서 **새로운 토큰 = provider가 보고한 입력 + 출력 (cacheRead 및 cacheWrite 제외)**입니다. 이는 전체 처리 토큰량이나 실제 청구 금액이 아닙니다.
| Cohort | Model | Standard | Fast |
|---|---|---|---|
| Normal verification | GPT-6.1 Sol | 23,518 | 14,411 |
| ... | |||
| 토큰 감소율과 시간 감소율은 그 크기가 달랐습니다. 예를 들어, no-tests 코호트의 Sol은 새로운 토큰을 10.2% 적게 사용하면서도 완료 시간을 51.1% 단축했습니다. 이전 실험에서는 캐시된 입력(cached input)을 토큰 합계에 포함했기 때문에, 그 백분율은 직접적으로 비교할 수 없습니다. |
통과한 것과 실패한 것
시간 측정이 끝난 후, 우리는 제공된 코드의 별도 복사본에 대해 독립적인 행동 검사를 수행했으며, 사용 가능한 레포지토리 회귀(regression) 검사와 함께 진행했습니다. 실패한 실행 결과는 결과에 남아 있으며, 소스를 수리했다고 해서 통과로 간주하지 않았습니다.
| Cohort | 엄격한 승인: Standard / Fast | 발생한 일 |
|---|---|---|
| Normal verification | 8/12 / 8/12 | 모든 Click 제공 건이 보조적인 빈 접두사(empty-prefix) 요구 사항을 놓쳤습니다. |
| ... | ||
| slugify 작업에서 ASCII 입력은 번역(transliteration) 백엔DER를 우회해야 했지만, 이전 테스트는 여전히 백엔드 초기화를 기대했습니다. 업데이트된 상위스트림(upstream) 테스트는 보조 진단(supplementary diagnosis)에서 통과했지만, 이는 원래의 실패를 대체하지 않습니다. |
동일한 통과 횟수가 품질 동등성을 입증하는 것은 아닙니다. Standard 제공 건에 유지된 테스트는 이 시간 측정 지표가 포착하지 못하는 미래 유지보수 가치를 가질 수도 있습니다.
제가 얻은 점
에이전트의 전달 정책(delivery policy) 역시 모델 선택과 함께 측정할 가치가 있습니다. 이러한 작업에서 Fast는 네이티브 검증(native verification) 비용이 저렴하거나 없을 때조차 로컬 전달 시간(local-delivery time)을 단축했습니다. 이 실험은 특정 구현 변경 사항 중 어느 것의 기여도를 분리하여 보여주는 것은 아닙니다.
이는 36개의 독립적인 작업이 아니라, 설정별로 두 번 반복된 아홉 가지 작업을 의도적으로 선정한 샘플입니다. 만약 전달에 대한 정의가 독립적인 승인(independent acceptance)을 통과해야 한다고 요구한다면, 그 시간과 모든 재작업(rework) 시간을 비교에 포함해야 합니다.
저는 더 효율적인 AI 코딩, 개선된 상호 작용, 그리고 프로그래밍의 미래를 탐색하기 위해 Sunny Code를 구축하고 있습니다. 이러한 실험들은 그러한 탐색을 측정 가능하게 만드는 한 가지 방법입니다.
전체 실험: 차트, 작업 요구 사항, 승인 커버리지 및 모든 72개 실행 기록.
코딩 에이전트의 전달 경계(delivery boundary)는 어디에서 설정해야 할까요? 편집을 완료했을 때일까요, 로컬 검사가 통과되었을 때일까요, 아니면 독립적인 승인 이후일까요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기