Effort는 올릴수록 좋은 게 아니다

claudecost-optimizationllm

안녕하세요! 재니미입니다.

지난 글에서는 프롬프트에 낀 구모델 시대 안티패턴을 다뤘습니다. 이번엔 세 번째 축인 effort 보정입니다.

effort는 모델에게 “얼마나 공들여서 풀지”를 정해주는 값입니다. Anthropic 원문의 표현을 빌리면, effort를 낮게 주면 모델은 대체로 빠르게 결론에 도달하고, 높게 주면 답하기 전에 숙고하고 검증하고 다른 가능성까지 따져봅니다.

그런데 effort를 최대로 올리는 게 항상 이득은 아닙니다. 마지막 몇 퍼센트 성능을 짜내려고 비용을 몇 배로 태우는 구간이 있고, 반대로 강한 모델을 낮은 effort로 쓰는 게 약한 모델을 높은 effort로 쓰는 것보다 싸고 정확한 경우도 있습니다.

이 글은 Anthropic 공식 글 Reducing cost and improving performance with the Claude Platform을 읽고 정리한 것입니다. 벤치마크 수치는 전부 원문 출처이며, 별도 표기 없는 한 직접 재현한 결과가 아닙니다.

곡선은 평탄해질 수 있다

FrontierCode Diamond(어려운 문제 50개) 벤치마크에서 Fable 5의 effort별 성적입니다.

Effort 정확도 비용/작업
Low 11.5% $5.35
Max 30.9% $19.00

비용은 3.5배, 성능은 19포인트 올랐습니다. 여기서는 effort를 올릴 가치가 있습니다.

반면 Fable 5.1로 가면 얘기가 달라집니다. Humanity’s Last Exam은 전공을 가리지 않는 전문가 수준 문제 2,500개로 구성된 벤치마크입니다. 웬만한 벤치마크는 이미 정답률이 90%를 넘겨서 변별력이 없어지자, 일부러 극단적으로 어렵게 만들어졌습니다. 도구를 쓰지 않는 조건에서 Fable 5.1의 성적은 이렇습니다.

Effort 정확도 비용/질문
Low 53% ~$0.30
Max 61% ~$2.23

마지막 구간은 정확도 0.5포인트를 위해 비용 46%를 더 씁니다. 여기서는 곡선이 평탄한 쪽에 가깝습니다.

흔한 실수 두 가지

  • Over-thinking: 작업 난이도보다 훨씬 오래 생각합니다. 비용·지연이 늘어나고, 오히려 품질이 떨어질 수도 있습니다.
  • Under-thinking: 증거가 부족한 채로 첫 검색 결과만 쓰고 검증을 생략합니다. 결과는 부정확한 답입니다.

강한 모델 + 낮은 effort가 이기는 경우

CursorBench 3.2(코딩 에디터 Cursor의 실제 세션에서 뽑은, 여러 파일에 걸친 애매한 작업들로 코딩 에이전트를 채점하는 벤치마크)에서 Fable 5.1(low)이 Fable 5(high)와 동급 성능을 내면서 비용은 1/3이었습니다. Fable 5.1의 캐시 읽기 단가(백만 토큰당 $0.25)도 Fable 5(백만 토큰당 $1.00)보다 싸서, 같은 가격을 적용해도 약 40% 절감됩니다.

보정 방법: hillclimb

내 작업이 어느 쪽인지는 감으로 판단하지 않습니다. /claude-api hillclimb가 평가셋을 train과 test 두 묶음으로 나눕니다. train 쪽에서 실패한 예제를 분석해 모델·effort·프롬프트 같은 설정을 바꿔가며 반복 조정하고, 그렇게 나온 최종 설정을 지금까지 한 번도 안 쓴 test 쪽에 적용해서 실제로 효과가 있었는지 검증합니다. train만 보고 판단하면 그 train 데이터에만 맞춰진 설정이 나올 수 있어서, 안 쓴 데이터로 다시 확인하는 절차입니다.

Anthropic이 공개한 고객 지원 사례에서는 이렇게 진행됐습니다.

  1. Opus 4.8(기본 effort)에서 시작합니다.
  2. Opus 5(low effort)로 바꾸고 안티패턴을 제거하니, 정확도 98.9%를 유지하면서 비용은 2.6센트/티켓으로 내려갔습니다.
  3. Sonnet 5(low effort)로 더 낮춰보니, 비용은 1센트/티켓까지 내려갔지만 정확도가 88.9%로 떨어졌습니다.
  4. 실패한 티켓을 분석해, 어떤 요청을 어디로 넘길지 정하는 라우팅 규칙과 환불 금액이 한도를 넘는지 미리 대조해보는 규칙(refund-cap cross-reference)을 프롬프트에 추가하니, 정확도가 다시 98.9%로 회복됐습니다.

최종적으로 held-out 테스트셋에서 정확도 90.5%(기존 78.6% 대비 상승)를 비용 약 1/5 수준에서 달성했습니다.

다음 편은 이 세 가지(캐싱·안티패턴·effort)를 하나씩 따로 만지지 않고 한 번에 감사하는 방법입니다.

감사합니다.


참고 자료