확장 사고 (Extended Thinking)
이 페이지는 AI 문맥에서 자주 쓰이는 확장 사고 (Extended Thinking)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 6개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
확장 사고(Extended Thinking)는 언어 모델이 최종 답을 내기 전에 추론을 생성하도록 추가 토큰을 쓰게 하는 방식입니다. Claude API의 레거시 수동 모드에서는 type: "enabled"와 budget_tokens로 사고 예산을 정합니다. 지원 모델에 한해 쓰는 설정이며, 응답의 thinking 블록에는 설정에 따라 추론 요약이나 빈 텍스트가 돌아옵니다.
답변 앞에 생성되는 thinking 블록
앤트로픽의 Thinking 개요 문서는 사고가 켜지면 Claude가 답하기 전에 질문을 다시 정리하고, 여러 접근을 시도하고, 중간 결과를 확인하고, 맞지 않는 경로를 버린다고 설명합니다. 이 과정은 응답의 text 블록보다 앞선 thinking 블록으로 오고, 모델은 이를 바탕으로 최종 답을 씁니다. 문서에 따르면 사고는 답의 품질이 중간 작업에 달린 수학, 코딩, 분석, 긴 에이전트 작업에서 성능을 높입니다. 추론 시점에 계산을 더 써서 답을 개선하는 이런 접근은 테스트 타임 컴퓨트라는 더 넓은 개념에 속합니다.
thinking 블록에 담긴 텍스트는 Claude 추론의 요약입니다. display 값이 "summarized"이면 요약을, "omitted"이면 빈 thinking 필드를 돌려주며, 문서는 어느 설정도 원래의 사고 연쇄를 돌려주지 않는다고 밝힙니다. 요약은 요청한 모델과 다른 모델이 만들고, 전체 추론은 암호화되어 signature 필드에 담깁니다. 같은 문서는 모델의 추론을 보려면 답변 본문에 추론을 쓰게 하는 프롬프트보다 thinking 블록을 읽으라고 안내합니다.
사고에 쓴 토큰은 사고 텍스트가 돌아오지 않아도 출력 토큰으로 과금되고, 응답 텍스트와 함께 max_tokens에 포함됩니다. 요약을 받더라도 과금은 원래 생성된 전체 사고 토큰 기준이라 청구된 출력 토큰 수와 응답에서 보이는 토큰 수가 다릅니다. 컨텍스트 윈도우 문서에 따르면 사고 토큰도 컨텍스트 윈도우 한도에 포함되고, 이전 턴의 사고 블록이 다음 요청의 입력으로 남는지는 모델에 따라 다릅니다.
Claude API의 budget_tokens 수동 설정
확장 사고 문서는 수동 모드에서 요청마다 thinking: {type: "enabled", budget_tokens: N}으로 사고 토큰 예산을 정하고, Claude가 그 예산을 기준으로 생각한 뒤 최종 답을 시작한다고 설명합니다. 문서의 예시는 claude-sonnet-4-6 모델에 max_tokens 16,000과 budget_tokens 10,000을 준 요청입니다. 문서는 지연 시간을 예측해야 하거나 사고 비용을 정밀하게 통제해야 하는 작업에서 수동 모드가 여전히 쓸모 있다고 적습니다.
budget_tokens는 1,024 이상이어야 하고, 사고 토큰이 max_tokens에 포함되므로 최종 응답을 쓸 자리를 남기도록 max_tokens보다 작아야 합니다. 도구 호출 사이에서 생각하는 인터리브드 사고에서는 예산이 한 어시스턴트 턴의 모든 사고 블록에 걸치므로 max_tokens를 넘을 수 있습니다. 예산은 목표값이어서 Claude가 예산을 다 쓰기 훨씬 전에 추론을 멈출 수 있고, 전체 출력의 절대 상한은 max_tokens입니다.
문서는 단순한 작업은 최소값 1,024 근처에서 시작해 조금씩 늘리고, 복잡한 작업은 16,000 이상에서 시작해 지연 시간과 품질에 맞춰 조정하도록 안내합니다. 예산이 클수록 추론이 깊어지지만 효과는 작업에 따라 줄어들고 지연 시간은 늘어납니다. 32k를 넘는 예산에는 시간 초과를 피하도록 배치 처리를 권하며, 실제 사고 비용은 응답의 usage.output_tokens_details.thinking_tokens 필드로 확인합니다. 요청 사이에 budget_tokens를 바꾸면 예산 값이 프롬프트에 들어가기 때문에 프롬프트 캐시 중단점이 무효가 됩니다.
적응형 사고와의 구분과 모델별 지원 범위
2026년 10월 11일 확인한 확장 사고 문서는 이 수동 설정을 legacy로 분류합니다. 문서에 따르면 type: "enabled"와 budget_tokens는 Claude 4.6 모델에서 지원 중단 예정(deprecated)이지만 요청은 아직 성공하고, Claude 4.7 이후 모델은 400 오류로 거부합니다. 사고를 지원하는 Claude 4.5 이하 모델에서는 확장 사고가 유일한 사고 방식이며, 두 방식을 모두 지원하는 모델에서는 적응형 사고를 쓰라고 안내합니다.
적응형 사고는 thinking: {type: "adaptive"}로 켜고, Claude가 요청마다 생각할지와 얼마나 생각할지를 정합니다. 깊이는 토큰 예산 대신 output_config의 effort 값으로 조절합니다. 문서는 고정 예산에서는 Claude가 모든 요청에서 생각하고, 적응형 사고에서는 effort가 낮을 때 쉬운 입력에서 사고를 건너뛸 수 있다고 설명합니다.
Thinking 개요 문서에 따르면 type: "enabled"와 함께 도구를 쓸 때 tool_choice는 기본값 auto나 none만 지원하고, 도구 사용을 강제하는 any나 특정 도구 지정은 오류가 납니다. 도구 결과를 돌려보내는 요청에는 앞선 어시스턴트 메시지의 thinking 블록을 완전한 형태로 보존해 전달해야 합니다.
관련 용어
확장 사고 (Extended Thinking)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
