확장 사고는 Claude가 응답을 생성하기 전에 복잡한 문제를 충분히 생각할 수 있는 시간을 제공하는 고급 추론 기능입니다. 이 기능이 활성화되면 Claude는 사용자가 모델이 질문에 어떻게 접근했는지 이해할 수 있도록 눈에 보이는 사고 과정을 생성합니다.

이 기능은 Claude가 복잡한 작업을 더 높은 정확도로 처리하는 능력을 크게 향상시키지만, 중요한 트레이드오프가 따릅니다. 사고 단계에서 생성된 모든 토큰에 대해 비용이 청구되며, 추가 처리 시간으로 인해 응답 지연 시간이 증가합니다. 핵심은 향상된 지능이 추가 비용과 대기 시간을 정당화하는 시점을 파악하는 것입니다.
확장 사고를 사용해야 하는 경우
확장 사고를 활성화할지 여부는 프롬프트 평가 결과에 따라 결정해야 합니다. 권장되는 접근 방식은 다음과 같습니다:
- 먼저 확장 사고 없이 프롬프트를 작성하고 테스트합니다
- 평가를 실행하여 정확도를 측정합니다
- 프롬프트 최적화 노력 후에도 결과가 기준을 충족하지 못하는 경우
- 그런 다음 해결책으로 확장 사고 활성화를 고려합니다
확장 사고가 응답을 변화시키는 방식
확장 사고가 없으면 Claude의 응답 흐름은 단순합니다 - 텍스트 블록이 포함된 사용자 메시지를 보내면 텍스트 블록이 포함된 어시스턴트 메시지를 받습니다.

확장 사고가 활성화되면 응답 구조가 크게 변경됩니다. 두 개의 별개 블록을 포함하는 어시스턴트 메시지를 받게 됩니다:

- Claude의 추론 과정을 포함하는
thinking블록 - 최종 응답이 포함된
text블록
서명 시스템
각 thinking 블록에는 중요한 보안 목적을 수행하는 암호화 서명이 포함되어 있습니다. 이 서명은 향후 대화 턴에 메시지를 포함할 때 thinking 텍스트가 수정되지 않았음을 보장합니다.

Claude는 응답 생성을 위해 thinking 콘텐츠에 크게 의존하므로, 변조를 방지하는 것이 안전하고 일관된 동작을 유지하는 데 매우 중요합니다. thinking 텍스트를 수정하면 서명 검증이 실패합니다.
편집된 Thinking (Redacted Thinking)
때때로 Claude의 사고 과정이 내부 안전 시스템에 의해 플래그가 지정될 수 있습니다. 이런 경우, 원본 thinking 텍스트 대신 편집된(redacted) thinking 블록을 받게 됩니다.

편집된 콘텐츠에는 실제 thinking 텍스트가 암호화된 형태로 포함되어 있습니다. 이를 읽을 수는 없지만, Claude가 이전 추론에서 컨텍스트를 잃지 않도록 향후 대화 턴에 이 블록을 계속 포함할 수 있습니다.
구현
코드에서 확장 사고를 활성화하려면 두 개의 새로운 매개변수로 채팅 함수를 수정해야 합니다:
thinking budget은 Claude가 추론에 사용할 수 있는 최대 토큰 수를 나타냅니다. 허용되는 최소값은 1024 토큰입니다. 중요한 점은 max_tokens 매개변수가 thinking budget을 초과해야 한다는 것입니다 - thinking budget을 1024로 설정한 경우, max_tokens는 최소 1025 이상이어야 합니다.
실제로는 훨씬 더 큰 버퍼를 원하게 될 것입니다. 예를 들어, thinking budget이 1024이고 max_tokens가 4000인 경우, Claude는 thinking에 최대 1024 토큰을, 실제 응답에 최대 2976 토큰을 사용할 수 있습니다.
기능이 활성화되면 API 매개변수에 thinking 구성을 추가하세요:
편집된 응답 테스트
개발 중에 애플리케이션이 편집된 thinking 블록을 어떻게 처리하는지 테스트하고 싶을 수 있습니다. 메시지에 이 특수 트리거 문자열을 포함하여 Claude가 편집된 응답을 반환하도록 강제할 수 있습니다:
TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB이를 통해 프로덕션 환경에서 편집된 콘텐츠를 만났을 때 오류 처리가 올바르게 작동하는지 확인할 수 있습니다.