Anthropic, Claude Sonnet 4 Extended Thinking 스트리밍 정식 지원
Anthropic이 Claude Sonnet 4의 Extended Thinking 모드에서 생각 과정(thinking block)을 실시간 스트리밍으로 수신할 수 있는 API를 정식 공개했다. 기존에는 최종 응답만 스트리밍됐으나 이제 `thinking` 이벤트 타입이 별도로 전송되어, 사용자에게 추론 진행 상황을 UI로 노출하는 크리에이터 도구·코딩 어시스턴트 제작이 한결 쉬워진다.
변경 전·후 비교
Extended Thinking은 Claude가 최종 답변 전 내부 추론 체인을 생성하는 기능으로, 수학·코딩·복잡한 계획 수립 태스크에서 정확도가 높다. 그러나 기존 스트리밍 구현에서는 thinking block이 완전히 완성된 뒤에야 전달되어 사용자 입장에서 수십 초의 무응답 구간이 발생했다.
v2026-07 API 버전부터 stream: true + thinking.type: "enabled" 조합 시 다음 이벤트가 순서대로 실시간 전송된다.
| 이벤트 타입 | 내용 |
|---|---|
| content_block_start (thinking) | thinking block 시작 신호 |
| content_block_delta (thinking_delta) | 추론 텍스트 청크 |
| content_block_stop (thinking) | thinking block 종료 |
| content_block_start (text) | 최종 응답 시작 |
| content_block_delta (text_delta) | 응답 텍스트 청크 |
가격 및 토큰 정책
- 모델: Claude Sonnet 4 (
claude-sonnet-4-20250514) - Thinking 토큰 비용: 공식 페이지 참조 (thinking 토큰은 출력 토큰으로 과금)
- 최소 thinking budget: 1,024 토큰 (기존과 동일)
- 스트리밍 추가 요금: 없음
- thinking block 내용: 응답 본문에 포함되지만
redacted_thinking필드로 부분 난독화 가능
크리에이터·개발자 활용 시나리오
1. 코딩 어시스턴트 UX 개선 사용자가 복잡한 알고리즘 설계를 요청할 때 "지금 어떤 접근법을 검토 중인지" 실시간으로 보여주면 기다리는 동안의 이탈률을 낮출 수 있다. Cursor 플러그인이나 VS Code 익스텐션에서 사이드 패널에 thinking 스트림을 렌더링하는 방식이 대표 예시다.
2. AI 튜터·교육 플랫폼 수학·과학 풀이 과정을 단계별로 스트리밍해 학생이 어느 단계에서 논리가 전개되는지 시각적으로 따라갈 수 있다.
3. 구현 시 주의사항
import anthropic
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-sonnet-4-20250514",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 8000},
messages=[{"role": "user", "content": "..."}]
) as stream:
for event in stream:
if event.type == "content_block_delta":
if hasattr(event.delta, 'thinking'):
# thinking 청크 처리
print("[THINKING]", event.delta.thinking, end="", flush=True)
elif hasattr(event.delta, 'text'):
# 최종 응답 청크 처리
print(event.delta.text, end="", flush=True)
budget_tokens를 지나치게 크게 설정하면 thinking 스트림이 길어져 오히려 UX가 저하될 수 있다. 태스크 복잡도에 따라 4,000~10,000 토큰 범위를 실험적으로 조정할 것을 권장한다.