본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 29. 10:30

【Claude Opus 4.8】ultracode는 effort의 새로운 레벨이 아니다 ─ effort / workflow /

요약

Anthropic의 Claude Opus 4.8 출시와 함께 도입된 ultracode, effort 파라미터, dynamic workflows의 개념 차이를 설명합니다. 특히 ultracode가 API의 effort 레벨이 아님을 명시하며, 비용 효율적인 에이전트 작업을 위한 설정 방법을 다룹니다.

핵심 포인트

  • ultracode는 API effort 레벨이 아닌 Claude Code의 통합 설정임
  • effort 파라미터는 토큰 사용량과 도구 호출 횟수를 제어함
  • Opus 4.8은 long-horizon 에이전트 작업에 최적화됨
  • xhigh 이상의 레벨 사용 시 넉넉한 max_tokens 설정이 필수적임

2026/05/28, Anthropic이 Claude Opus 4.8을 공개했다. 동시에 Claude Code 측에 「ultracode」와 「dynamic workflows」가 도입되면서, /effort 메뉴에 낯선 ultracode가 나란히 배치되었다.

이와 관련하여 SNS에서는 「ultracode = 최강의 effort 레벨」과 같은 거친 소개가 돌고 있지만, 공식 문서(official documentation)를 읽어보면 ultracode는 API의 effort 레벨이 아니다. 이를 혼동한 채 사용하면 비용 추산에서 큰 실수를 저지르게 된다.

이 기사에서는 세 가지 개념을 공식 사양을 기반으로 구분한다.

effort 파라미터 (low ~ max의 5단계)

dynamic workflows (서브 에이전트(sub-agent)를 스크립트로 오케스트레이션(orchestration)하는 메커니즘)

ultracode (위의 두 가지를 하나로 묶은 Claude Code 측의 설정)

모델 단독으로서의 4.7 → 4.8은 화려한 신기능이라기보다 long-horizon 에이전트 작업의 은근한 기초 체력 향상이 주축이다.

항목내용
가격$5 / 100만 입력 토큰(input token), $25 / 100만 출력 토큰(output token) (4.7에서 동결)
...speed: "fast"로 동일 모델 상태에서 출력 2.5배속 ($10 / $50의 프리미엄 가격, 리서치 프리뷰)

모델 ID는 claude-opus-4-8이다. 「자신의 출력에 대한 불확실성을 솔직하게 신고하고, 근거 없는 단정이 줄었다」는 방향의 개선이 포함되었는데, 이것이 코딩 용도에서는 가장 효과적이다.

effortClaude가 얼마나 토큰을 많이 사용하는지를 제어하는 파라미터다. 사고(adaptive thinking)뿐만 아니라, 텍스트 출력 및 도구 호출(tool call) 횟수를 포함한 모든 토큰에 영향을 미친다는 점이 포인트다.

레벨성격주요 용도
max상한 없는 최대 능력프론티어급 난제만
xhigh장시간 에이전트용30분 초과 · 수백만 토큰의 코딩/에이전트 작업
high기본값 (지정 생략과 동일)복잡한 추론 · 어려운 코딩 전반
medium밸런스형비용 중심의 에이전트 작업
low최저 토큰 사용분류 · 가벼운 참조, 서브 에이전트

주의사항:

  • 기본값은 high이다. effort: "high"를 전달하는 것과 파라미터를 생략하는 것은 완전히 동일하게 동작한다.
  • xhigh를 사용할 수 있는 것은 Opus 4.8과 4.7뿐이다. 코딩/에이전트 용도는 xhigh부터 사용하는 것이 공식 권장 사항이다.
  • Opus 4.8은 adaptive thinking을 사용한다. 수동으로 thinking: {budget_tokens: N}을 설정하면 400 에러가 발생하므로, 사고 깊이의 제어는 effort로 수행한다.

API에서의 지정은 output_config.effort이다:

import anthropic
client = anthropic.Anthropic()
resp = client.messages.create(
...

low일수록 도구 호출을 묶어서 횟수를 줄이고, 서론을 생략하고 즉시 행동한다. xhigh / max일수록 도구를 더 많이 호출하고, 계획을 설명하며, 변경 사항의 요약도 정중하게 한다. 「똑똑함」이라기보다 「정중함·끈기」의 조절 다이얼이라고 이해하면 동작을 예측할 수 있다.

xhigh / max로 실행할 때는 max_tokens를 넉넉하게(64k 정도부터) 설정하지 않으면, 사고와 도구 실행 도중에 한계에 부딪힌다.

dynamic workflows는 Claude가 작성한 JavaScript 스크립트가 다수의 서브 에이전트를 오케스트레이션하는 메커니즘이다. 리서치 프리뷰 단계이며, v2.1.154 이후 · 유료 플랜(및 API / Bedrock / Vertex / Foundry)에서 사용할 수 있다.

기존의 subagents / skills와의 차이점은 "누가 계획을 쥐는가"이다:

구분SubagentsSkillsWorkflows
실체Claude가 생성하는 워커 (Worker)Claude가 따르는 지시런타임 (Runtime)이 실행하는 스크립트
...

핵심은 중간 결과가 Claude의 컨텍스트 (Context)에 올라가지 않는다는 점이다. 스크립트가 분기, 루프, 중간 데이터를 처리하므로, Claude의 문맥에는 최종 결과만 반환된다. 그렇기에 "500개 파일의 마이그레이션", "리포지토리 전체의 버그 소탕"과 같이 단일 대화로는 처리할 수 없는 규모를 한 세션 내에서 돌릴 수 있다.

나아가, 계획을 코드로 구현하면 품질 패턴을 재현 가능한 형태로 심을 수 있다. 예를 들어, 독립된 에이전트(Agent)끼리 서로의 발견 사항을 *적대적으로 리뷰 (Adversarial Review)*하게 한 뒤 보고하게 하는 등의 검증을 매번 동일한 절차로 실행할 수 있다.

런타임 제약 사항:

  • 동시 실행은 최대 16개 에이전트 (CPU가 적은 머신에서는 더 적음) - 1 런 (Run)당
  • 최대 1,000개 에이전트까지 (폭주 루프 방지) - 스크립트 자체는 파일/셸 (Shell)에 직접 접근하지 않는다. 실제 읽기/쓰기 및 명령 실행은 에이전트가 담당한다.

기동 방법은 두 가지:

# 1. 프롬프트에 workflow 단어를 포함 (단발성, effort는 변경되지 않음)
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks
# 2. 내장 워크플로우 (Built-in Workflow)
...

/workflows에서 진행 상황 뷰를 열 수 있으며, 만족스러운 런(의 스크립트)은 s를 눌러 /<name> 명령어로 저장 및 재사용할 수 있다.

여기가 본론이다. ultracode는 API의 추가적인 effort 레벨이 아니다. effort가 API에서 수용하는 값은 low ~ max까지의 5가지 값뿐이며, ultracode는 여기에 포함되지 않는다.

공식 정의는 다음과 같다:

ultracode는 Claude Code의 effort 메뉴에 나타나지만, API의 effort 레벨은 아니다.

xhigh effort와, Claude Code가 멀티 에이전트 워크플로우 (Multi-agent Workflow)를 기동해도 좋다는 상시 허가 권한을 페어링한 것이다. 즉, ultracode = xhigh + "일일이 묻지 않고 workflow를 실행해도 좋다"는 권한이다. 이는 Claude Code 내의 세션 설정일 뿐, 모델에 전달되는 수치가 아니다.

/effort ultracode

이를 입력하면, 해당 세션의 모든 실질적인 (Substantive) 태스크에서 Claude가 알아서 workflow를 계획한다. 하나의 요청이 "코드를 이해하는 workflow → 변경하는 workflow → 검증하는 workflow"와 같이 연쇄적으로 일어날 수도 있다. 당연히, 1회 요청당 토큰과 소요 시간은 급증한다.

동작 정리:

  • 세션 한정. 새로운 세션을 시작하면 리셋된다.
  • 일상적인 작업으로 돌아갈 때는 /effort high로 낮춘다.
  • xhigh를 가진 모델 (= Opus 4.8 / 4.7)에서만 메뉴에 나타난다. 다른 모델에서는 선택지 자체가 사라진다.

무효화하고 싶을 때는 /config 토글, ~/.claude/settings.json"disableWorkflows": true, 또는 환경 변수 CLAUDE_CODE_DISABLE_WORKFLOWS=1 중 하나를 사용한다. 이를 설정하면 workflow 키워드도 작동하지 않으며, ultracode도 메뉴에서 사라진다.

세 가지 개념은 다음과 같이 구분하면 실무에서 혼동하지 않는다.

  • 일상적인 작업 $\rightarrow$ high (기본값) 상태 유지. 별도 지정 불필요.
  • 무거운 코딩/탐색을 단 하나의 태스크만 깊게 수행 $\rightarrow$ API라면 effort: "xhigh", Claude Code라면 /effort xhigh.
  • 규모가 큰 단발성 작업 (대량 마이그레이션, 전체 감사, 다각도 리서치) $\rightarrow$ 프롬프트에 workflow라는 단어를 넣어 단발성으로 기동. effort는 그대로 두어도 무방.
  • 세션 전체를 본격적으로 고품질로 돌리고 싶을 때 $\rightarrow$ /effort ultracode. 단, 비용(지갑 사정)을 고려할 것. 작업이 끝나면 /effort high로 복구한다.

비용 측면의 주의사항: workflow는 1회 실행 시 수십~수백 명의 에이전트 (Agent)를 가동하므로, 일반적인 대화로 동일한 작업을 수행하는 것보다 명확하게 토큰 (Token)을 더 많이 소모한다. ultracode는 매 태스크마다 이를 수행할 가능성이 있으므로, "일단 최강이니까 항상 ON"으로 두는 것은 명백한 손해다. 작업의 규모에 맞춰 effort/workflow를 조절하는 것이 올바른 방법이다.

  • Opus 4.8은 가격을 유지하면서, 장기적 작업 (long-horizon task)과 코드 품질 (결함 간과율 1/4 감소)을 끌어올린 견실한 업데이트다.
  • effortlow ~ max의 5단계로 구성된다. 기본값은 high이며, 코딩 시에는 xhigh를 권장한다. 모든 토큰 (사고 + 출력 + 도구)에 적용된다.
  • dynamic workflows는 서브 에이전트 (Sub-agent)를 스크립트로 묶는 메커니즘이다. 중간 결과물을 컨텍스트 (Context) 외부로 분리함으로써, 리포지토리 (Repository) 규모의 단발성 작업을 1개 세션 내에서 처리할 수 있다. 편리하지만 매 태스크가 무거워지므로 규모에 따라 구분해서 사용한다.
  • ultracode는 effort의 새로운 레벨이 아니라, xhigh + workflow 실행 권한을 하나로 묶은 Claude Code 설정이다.

"ultracode를 ON으로 하면 똑똑해진다"가 아니라, "ultracode는 xhigh와 자동 오케스트레이션 (Orchestration)을 결합한 모드이며, 그만큼 비용이 추가된다"는 점을 이해해야 한다. 이 점만 파악하고 있다면 4.8 세대의 조절 장치들을 과하거나 부족함 없이 다룰 수 있다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0