적응형 사고 (Adaptive Thinking)
이 페이지는 AI 문맥에서 자주 쓰이는 적응형 사고 (Adaptive Thinking)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 6개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
적응형 사고(Adaptive Thinking)는 모델이 요청마다 답하기 전에 사고할지와 얼마나 깊이 사고할지를 스스로 판단하는 Claude의 사고 모드입니다. 앤트로픽(Anthropic)의 Claude API에서 사고 설정의 한 모드로 제공됩니다. 간단한 질문에는 사고를 생략하고 복잡한 문제에는 더 깊이 사고할 수 있으며, 개발자는 effort 매개변수로 그 경향을 조절합니다.
요청별 사고 판단의 작동 방식
2026년 10월 11일 확인한 앤트로픽의 사고 조정 문서에 따르면 Claude는 요청마다 입력의 복잡도를 따져 더 깊은 추론이 답을 낫게 할지 판단합니다. 판단 단위가 요청이라서 같은 대화 안에 사고한 턴과 사고하지 않은 턴이 섞일 수 있고, 사고하지 않기로 한 턴에는 사고 블록(thinking block)이 아예 없습니다. 같은 문서는 모든 어시스턴트 턴이 사고 블록으로 시작한다고 가정하는 애플리케이션 로직을 만들지 말라고 적었습니다.
도구를 쓰는 작업에서는 사고가 도구 호출 사이에 자동으로 끼어듭니다. Claude는 도구 결과를 받을 때마다 다음 행동을 정하기 전에 사고할 수 있고, 이 인터리브드 사고(interleaved thinking)에는 베타 헤더나 추가 설정이 필요 없습니다. 도구 사용 루프에서는 새 사용자 입력 뒤 첫 요청이 추론 대부분을 맡고, 도구 결과만 처리하는 후속 요청은 xhigh나 max에서도 사고를 건너뛸 수 있습니다. 대화가 길어질수록 요청당 사고량이 줄어드는 경향도 문서에 적혀 있습니다.
이런 성질 때문에 문서는 사소한 요청과 복잡한 요청이 섞인 작업, 단계마다 필요한 추론량이 달라지는 긴 에이전트 작업에 적응형 사고가 잘 맞는다고 설명합니다. 반면 문서는 어떤 effort 수준도 모든 요청에 사고 블록을 보장하지 않는다고 밝혔고, 사고가 실제로 일어났는지는 응답에 사고 블록이 있는지로 판단합니다.
사고 모드와 effort 매개변수의 구분
Claude API의 사고 개요 문서는 두 설정의 역할을 나눕니다. thinking 매개변수는 Claude가 답하기 전에 사고 블록 안에서 사고할지를 정하고, effort 매개변수는 응답 전체에 들이는 작업량을 정하며 적응형 모드에서는 사고의 빈도와 깊이도 여기에 포함됩니다. 같은 문서는 adaptive가 사고 모드이지 effort 값이 아니라고 따로 적었습니다.
effort 문서에 따르면 effort는 요청의 output_config.effort에 넣고, 수준은 low, medium, high, xhigh, max입니다. 모델마다 지원하는 수준과 기본값이 다르고, 기본값과 같은 값을 명시하면 생략한 것과 똑같이 동작합니다. Claude는 낮은 수준에서도 충분히 어려운 문제에는 사고하지만 같은 문제를 높은 수준에서 풀 때보다 덜 사고합니다. effort는 사고뿐 아니라 텍스트 응답과 도구 호출에도 영향을 주므로 사고가 꺼진 요청에서도 작동합니다.
사고 개요 문서가 레거시로 분류하는 확장 사고(extended thinking)는 수동 모드입니다. thinking: {type: "enabled"}와 budget_tokens로 사고 토큰 예산을 직접 정하고, 고정 예산 안에서 사고한 뒤 답합니다. 적응형 모드에서는 요청에 따라 사고 블록 없이 답할 수도 있습니다. 모델에 따라 사고가 기본으로 켜져 있거나 thinking: {type: "adaptive"}를 따로 지정해야 하고, 확장 사고만 지원하는 모델도 있어 모델별 표를 확인합니다.
비용 상한과 프롬프트 조정의 조건
사고 조정 문서에 따르면 적응형 사고에서는 사고 토큰 예산을 정하지 않고 두 가지로 비용을 묶습니다. max_tokens는 사고와 응답 텍스트를 합친 출력 전체의 엄격한 상한이고, effort는 그 출력 중 얼마를 사고에 쓸지 정하는 강제력 없는 지침으로 토큰 수를 보장하지 않습니다. 도구 사용 루프에서는 요청마다 max_tokens가 따로 적용돼 턴 전체 지출을 묶지 못합니다. 응답에 stop_reason: "max_tokens"가 보이면 상한을 올리거나 effort를 낮춥니다.
사고에 쓴 토큰은 출력 토큰으로 과금됩니다. display를 "omitted"로 두어 사고 텍스트를 받지 않거나 "summarized"로 요약만 받아도, 청구되는 출력 토큰은 사고 과정 전체 분량입니다. 내부 추론에 쓴 출력 토큰 수는 응답의 usage.output_tokens_details.thinking_tokens에서 확인합니다. 이전 턴의 사고 블록이 맥락에 남아 있으면 입력 토큰으로도 과금됩니다.
대화 중에 설정을 바꾸는 데도 비용이 따릅니다. 실제로 적용되는 effort 값이 프롬프트에 함께 렌더링되므로 요청 사이에 최상위 effort를 바꾸면 프롬프트 캐시 중단점이 무효가 되고, 이를 지원하는 모델의 메시지별 effort 변경(베타)은 캐시를 유지합니다. 시스템 프롬프트나 사용자 메시지의 자연어 지시로 사고 빈도를 조정할 수도 있습니다. 문서는 표현에 민감한 지시보다 effort를 먼저 낮추라고 권하고, 프롬프트 조정은 실제 트래픽 표본에서 사고 빈도, 출력 토큰, 지연 시간, 답 품질을 비교한 뒤 배포하라고 안내합니다.
관련 용어
적응형 사고 (Adaptive Thinking)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
