"LLM 추론 모드 (6/6) — 비교와 실전 가이드: 비용·지연·품질, 그리고 어느 다이얼을 언제"
지금까지 다이얼을 하나씩 분해했다 — 1편 원리, 2편 Claude Thinking, 3·4편 Claude effort, 5편 OpenAI reasoning_effort. 마지막 6편은 둘을 나란히 놓고, "더 생각하게 하면 늘 좋아지는가"라는 물음에 벤치마크와 함께 답한다. 그리고 과제마다 어느 눈금에 둘지를 표로 정리한다.
이 시리즈의 한 줄 결론을 먼저 말하면 이렇다 — 추론 다이얼은 품질 손잡이이자 비용 손잡이이며, 정답은 "항상 최대"가 아니라 "작업 난이도에 맞추기"다. 6편은 그 결론을 뒷받침하는 비교·수치·가이드를 모은다.
한 문단 요약
Claude의
effort는 사고·텍스트·도구 호출을 한 다이얼로(기본값high), OpenAI는 사고 깊이(reasoning_effort, 기본값medium)와 출력 길이(verbosity)를 두 다이얼로 나눠 조절한다. 벤치마크는 다이얼이 비용효율 레버임을 보여준다 — Anthropic 보고 기준, Opus 4.5는 SWE-bench Verified에서 medium effort로 Sonnet 4.5의 최고 점수를 출력 토큰 76% 절감으로 따라잡고, high에서는 4.3%p 앞서면서 48% 적은 토큰을 썼다. 더 생각하는 게 늘 이득은 아니다(overthinking). 실전 규칙: 단순 작업은 낮게, 어려운 추론·에이전트는 높게, 진짜 난제에만 최상단.
1. Claude vs OpenAI — 한 표 비교
두 플랫폼은 같은 트레이드오프(품질 ↔ 비용·지연)를 다루지만 설계 철학이 다르다.
| 항목 | Claude effort |
OpenAI reasoning_effort |
|---|---|---|
| 레벨 | low · medium · high · xhigh · max |
none·minimal · low · medium · high · xhigh (모델마다 다름) |
| 기본값 | high |
medium |
| 조절 범위 | 모든 토큰 (사고 + 텍스트 + 도구 호출) | 사고 깊이. 출력 길이는 별개(verbosity) |
| 사고 제어 | adaptive thinking + effort (단일 다이얼) | reasoning_effort + verbosity (두 다이얼) |
| 가장 낮은 단계 | low (어려운 문제엔 여전히 사고) |
none / minimal (≈ 추론 거의 없음) |
| 사고 원문 | 요약만, 원문 비반환 | 가려진 추론 + 선택적 요약 |
| 루프 비용 손잡이 | Task Budgets (카운트다운, 최소 20k) | (별도 없음 — effort + 출력 상한) |
핵심 차이 둘:
- 단일 vs 분리. Claude는 손잡이 하나가 사고 깊이와 출력·도구 장황함을 함께 움직인다. OpenAI는 사고(
reasoning_effort)와 출력 길이(verbosity)를 따로 돌린다. "깊게 생각하되 짧게 답하라"를 OpenAI는 두 파라미터로 직접 표현하고, Claude는 프롬프트로 보완한다. - 기본값. Claude는
high, OpenAI는medium. 같은 "기본값으로 두기"가 서로 다른 사고량을 의미하므로, 두 플랫폼을 오갈 때 비용·지연 체감이 달라진다.
2. 비용·지연·품질 — 같이 움직이는 세 변수
1편에서 세운 곡선을 다시 불러오자. 테스트타임 컴퓨트를 \(C_{\text{test}}\)라 하면, 어려운 문제의 정답률은 대체로 \(C_{\text{test}}\)가 커질수록 오르되 한계 효용이 줄어드는 모양이다. 다이얼을 올린다는 것은 \(C_{\text{test}}\)를 키운다는 뜻이고, 그에 따라 세 변수가 동시에 움직인다.
- 품질 ↑ — 단, 어려운 과제에서만, 그리고 점점 완만하게.
- 비용 ↑ — 사고/추론 토큰은 비싼 출력 토큰 등급으로 과금된다(양 플랫폼 공통). 다이얼을 올리면 보이지 않는 토큰까지 늘어 청구서가 커진다.
- 지연 ↑ — 답의 첫 글자가 나오기 전에 사고를 끝내야 하므로 time-to-first-token이 늘어난다.
그래서 다이얼은 순수한 "더 똑똑하게" 버튼이 아니라 "품질을 위해 비용·지연을 얼마나 지불할 것인가"의 손잡이다. 곡선이 완만해지는 구간에서는 더 올려도 품질은 거의 그대로인데 비용·지연만 커진다 — 이 구간이 다음 절의 overthinking이다.
3. 벤치마크가 말하는 것 — 더 똑똑한 모델 + 낮은 effort
다이얼의 진짜 가치는 "최대로 올려 점수를 짜내는 것"이 아니라 같은 점수를 더 싸게 내는 것에 있다. Anthropic이 보고한 Opus 4.5의 SWE-bench Verified 수치가 이를 잘 보여준다.
- medium effort: Opus 4.5가 Sonnet 4.5의 최고 점수와 동급을 — 출력 토큰 76% 절감으로 달성.
- high effort: Opus 4.5가 Sonnet 4.5를 4.3%p 앞서면서 — 그래도 48% 적은 토큰을 사용.
읽어야 할 함의는 둘이다.
- 더 똑똑한 모델을 낮은 effort로 돌리는 것이, 약한 모델을 최대로 돌리는 것보다 더 좋고 더 싸다. 모델 선택과 effort 선택은 함께 봐야 한다.
- effort를 올리는 것이 곧 토큰 폭증은 아니다. 같은 작업을 더 적은 토큰으로 더 잘 끝낼 수도 있다 — 더 나은 추론이 헛도는 시도를 줄이기 때문이다.
즉 effort는 "비용을 태워 품질을 산다"는 단순 교환이 아니라, 모델·effort 조합에 따라 품질과 비용이 함께 좋아지는 지점이 존재하는 최적화 문제다.
4. overthinking — 더 생각이 해가 되는 곳
곡선이 완만해지는 구간을 넘어 다이얼을 더 올리면, 추가 사고는 도움이 안 될 뿐 아니라 해가 될 수 있다.
- 출력 공간이 좁은 과제(분류·추출·포맷·단답)에서는 더 생각해도 답이 나아지지 않는다. Anthropic의 effort 문서조차 구조화 출력 작업에서
max가 "overthinking으로 이어질 수 있다"고 명시한다. - 과도한 사고는 멀쩡한 답을 스스로 의심해 틀린 쪽으로 고치기도 한다.
- 그리고 그 모든 추가 사고는 비용·지연으로 그대로 청구된다 — 품질 이득 없이.
그래서 max(Claude)나 high/xhigh(OpenAI 상단)는 기본값이 아니라 예약석이다. Claude Code가 max를 현재 세션에만 적용되도록 둔 것(4편)도 같은 맥락 — 무심코 최상단이 상시 기본값으로 굳는 것을 막는 안전장치다.
5. 실전 선택 가이드 — 과제 난이도별 매칭
시리즈 전체의 원칙을 한 표로 압축한다. 과제 난이도에 다이얼을 맞추는 출발점이다(이후 자신의 평가셋으로 미세조정).
| 과제 유형 | Claude effort |
OpenAI reasoning_effort |
|---|---|---|
| 단순 분류·추출·포맷·단답 | low |
minimal(GPT-5) / none(GPT-5.5) / low(Codex 계열) |
| 일반 워크플로·평범한 생성 | medium |
medium (기본값) |
| 복잡한 추론·어려운 코딩 | high (기본값) |
high |
| 장기 에이전트·코딩 세션 | xhigh |
xhigh (지원 모델) |
| 진짜 난제(지연·비용 둔감) | max |
high/xhigh |
운영 팁:
- 출발점부터 잡아라. Claude는 기본
high라 가벼운 작업엔 내려야 비용·지연이 준다. Sonnet 4.6은 특히 effort를 명시하지 않으면high로 동작해 지연이 커질 수 있다 —medium을 명시적 기본으로 두는 편이 안전하다. - 높은 effort엔 넉넉한 출력 한도. Claude
xhigh/max에서는max_tokens를 크게(약 64k부터) 잡아 모델이 펼칠 공간을 줘야 한다(3편). - 답 길이 문제는 effort가 아니다. OpenAI에서 "깊게 생각하되 짧게"가 필요하면
reasoning_effort는 두고verbosity를 내린다. Claude에서는 프롬프트로 길이를 제어한다. - 얕은 추론은 프롬프트가 아니라 다이얼로. 어려운 과제에서 답이 얕으면 "더 깊게 생각해" 프롬프트보다 effort를 한 단계 올리는 게 직접적이다(3편).
6. 루프 비용은 따로 — Task Budgets
턴마다의 깊이는 effort로 잡되, 에이전트 루프 전체의 누적 토큰은 별도 손잡이로 묶는 게 안전하다. Claude의 Task Budgets(output_config.task_budget, 최소 20,000)는 모델에게 루프 전체 예산을 알려주고 줄어드는 카운트다운에 맞춰 스스로 마무리하게 한다 — 모델이 인지하지 못하는 강제 상한 max_tokens와 달리, 모델이 인지하고 자기 조절하는 예산이다(3편). 긴 자율 작업에서 "깊이는 effort, 총량은 Task Budget"으로 나눠 잡으면 품질과 비용을 동시에 관리할 수 있다.
마치며
추론 모드는 결국 하나의 질문에 대한 답이다 — 이 호출에 연산을 얼마나 쓸 것인가.
- 원리(1편): 사고는 테스트타임 컴퓨트이고 출력 토큰으로 과금된다.
- Claude(2~4편): adaptive thinking이 "생각할지·언제"를,
effort가 "얼마나 깊게·응답 전체"를 잡는다. Claude Code는 같은 다이얼을 CLI로 노출한다. - OpenAI(5편):
reasoning_effort(깊이)와verbosity(길이)를 두 손잡이로 나눈다. - 선택(6편): 작업 난이도에 다이얼을 맞춘다. 더 똑똑한 모델을 적정 effort로 — 그것이 품질과 비용을 함께 잡는 길이다.
다이얼이 보이기 시작하면, "왜 같은 모델이 어떤 날은 빠르고 싸고 어떤 날은 느리고 비싼가"가 더 이상 미스터리가 아니다. 그건 대개 다이얼이 어디에 있었느냐의 문제다.
비교·수치는 Anthropic·OpenAI 공식 문서와 Anthropic이 보고한 Opus 4.5 SWE-bench Verified 결과를 1차 자료로 정리했다. 벤치마크 수치는 모델·환경에 따라 달라질 수 있으므로, 실제 적용 전 자신의 평가셋으로 검증하기를 권한다.
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기