AI 뉴스

Claude Code의 Extended Thinking 출력은 실제 추론이 아니다

노동1호 2026. 6. 25. 00:02

Claude Code의 Extended Thinking 출력 텍스트는 실제 추론이 아님 — 로컬 로그가 보여주는 함정

2026년 6월 현재, Claude Code를 감사 추적(감사 로그, audit trail) 용도로 사용하려는 개발팀이 빠르게 늘고 있습니다. 그런데 ctrl+o로 보이는 Extended Thinking 출력 텍스트는 모델이 실제로 한 추론이 아니라, 추론을 압축한 요약본에 불과합니다. 로컬 세션 로그에는 thinking block 자체가 없고 600자 길이의 signature만 남아 있어서, 에이전트가 어떤 사고 과정을 거쳤는지 재현하려면 외부 자료에 의존해야 합니다.

Claude Code Extended Thinking signature encryption summary

Extended Thinking은 signature로 암호화된다

Claude Code는 각 세션을 디스크에 JSONL 형식으로 저장합니다. 그 안에는 모델 응답, 도구 호출 기록, thinking block이 함께 들어 있는데, 정작 그 thinking block 안을 열어 보면 실제 추론 텍스트가 비어 있고 600자 길이의 signature 블록만 남아 있습니다. Anthropic의 Extended Thinking 공식 문서는 이 구조를 세 가지 원칙으로 설명합니다.

  • Claude는 추론 본문을 signature 안에 암호화하여 저장한다.
  • 복호화 키는 Anthropic이 보유하며 사용자 기기로 전달되지 않는다.
  • API가 돌려주는 값은 추론 원문이 아니라 reasoning summary(추론 요약) 다.

전체 thinking output을 받아보려면 별도의 enterprise agreement가 필요한데, 일반 사용자와 소규모 팀은 사실상 그 내용을 볼 방법이 없습니다. Matt Green이 정리한 signature block 관찰에 따르면, 같은 signature는 같은 모델 가중치에서 같은 입력에 대해 결정적으로 생성되지만, 그 signature가 어떤 사고 흐름을 압축한 것인지는 공개되지 않습니다. 따라서 로컬 세션 로그를 그대로 감사 자료로 사용하면 사고 과정이 누락된 채 동작 기록만 남게 됩니다.

ctrl+o 출력은 사고 요약, 사고 원문이 아니다

Claude Code에서 ctrl+o 단축키로 펼치는 extended-thinking 화면에는 화려한 문장이 줄줄이 표시되지만, 그것은 세션 안에서 모델의 실제 행동을 구동한 추론이 아니라 Fable/Opus 모델의 사고 과정을 사람이 읽기 좋게 다시 쓴 요약입니다. 긱뉴스 원문은 이 구조를 jpeg를 bmp로 변환한 뒤 다시 jpeg로 저장하는 과정에 비유합니다. 무손실 형식과 손실 형식의 차이처럼, 요약으로 바뀌는 단계에서 정보 손실이 이미 한 번 발생한 상태입니다.

Anthropic 공식 문서의 "extended thinking returns a summary of Claude's full thinking process"라는 문장도 같은 맥락입니다. "summary"라는 단어가 명시적으로 들어가지만, 한국어 자동 번역이나 빠른 독해 과정에서는 "전체 사고 과정의 반환"처럼 읽혀 오해하기 쉽습니다. 실제로는 사고 원문이 아니라 사고 논리의 요약만 반환되는 구조입니다.

로컬 로그만으로 에이전트 행동을 재현할 수 없다

Claude Code 세션을 감사 추적으로 활용하려면 다음 세 가지 종류의 로그를 별도로 수집해야 합니다.

  • 입력 로그: 사용자 메시지, 첨부 파일, 시스템 프롬프트
  • 출력 로그: 모델의 텍스트 응답, 도구 호출 결과, 생성된 diff
  • 동작 로그: Claude Code가 실행한 셸 명령, 파일 편집, 네트워크 요청

이 세 가지 로그를 모두 합쳐도 에이전트를 실제로 구동한 thinking 자체는 복원되지 않습니다. 사고 사슬(chain-of-thought) 안에서 모델이 어떤 후보를 검토하고 어떤 도구 사용 순서를 결정했는지는 signature 뒤에 잠겨 있고, signature만으로는 그 내용을 거꾸로 풀 수 없습니다. 사고 사슬에서 정렬(alignment)이 일시적으로 제거된 상태로 결정이 일어나는 경우도 있어, 사고 원문이 공개되지 않으면 그 순간의 의사결정 이유를 외부에서 검증할 방법이 없습니다.

| 구분 | 사고 원문 | signature | 사고 요약 |

|---|---|---|---|

| 길이 | 가변(수천 토큰) | 약 600자 고정 | 가변(보통 200~800자) |

Claude Code Extended Thinking signature encryption summary

| 사용처 | Anthropic 서버 내부 | 로컬 세션 JSONL | ctrl+o 화면, API 응답 |

| 접근 권한 | enterprise agreement | 누구나 (의미 없음) | 누구나 |

| 사고 재현 가능성 | 높음 | 없음(키 없음) | 부분적(정보 손실) |

| 정렬 상태 | 정렬 일시 해제 | 정렬 일시 해제 | 정렬 재적용 |

기업 환경에서 특히 위험한 이유

Hacker News의 기술 토론에서 자주 지적되는 것처럼, 모델의 원시 추론을 숨기는 것은 Anthropic만의 정책이 아니라 OpenAI와 Google을 포함한 거의 모든 대형 AI 회사의 공통된 선택입니다. 그 이유로 자주 거론되는 가설은 세 가지입니다.

  1. 경쟁 보호: 사고 메커니즘이 그대로 노출되면 경쟁사가 그 과정을 학습해 결과를 복제할 수 있다.
  2. 안전 정렬: 추론 중에는 정렬이 일시적으로 풀리므로, 그 상태의 출력이 사용자에게 직접 노출되지 않도록 요약 단계에서 다시 정렬을 적용한다.
  3. 프롬프트 주입 방어: 공격자가 추론 사슬에 비밀 목표를 심을 수 있고, 사고 원문이 그대로 노출되면 그 가짜 목표까지 사용자에게 보이기 때문이다.

추론과 함수 호출이 섞이는 환경에서는 위험이 더 커집니다. 모델이 숨겨진 추론 단계에서 도구를 호출하면, 그 호출이 일으킨 데이터 유출이 사고 요약에서는 사용자에게 가려질 수 있습니다. 또한 추론 중 무한 루프에 빠져 토큰을 낭비하는 현상은 일부 모델(Gemini 등)에서 보고된 사례인데, 사고 원문이 숨겨지면 그 낭비 자체를 운영자가 감지하기도 어렵습니다.

실전에서 사고 내용을 확인하는 세 가지 우회 경로

사고 원문을 직접 읽을 수는 없지만, 사고 요약과 외부 로그를 교차하면 모델의 의사결정 방향을 부분적으로 추정할 수 있습니다.

  • 도구 호출 시퀀스 재구성: Claude Code 세션 JSONL에는 도구 이름, 인자, 응답이 시간순으로 기록됩니다. 어떤 도구가 어떤 순서로 호출되었는지를 다시 그려보면 사고의 골격을 복원할 수 있습니다.
  • 반복 실행 비교: 같은 프롬프트를 다시 실행해 보고, 도구 호출 순서가 일관되는지 확인합니다. 사고 요약이 달라도 도구 호출 패턴이 안정적이라면 행동 자체는 재현 가능한 영역 안에 있다는 신호입니다.
  • 외부 트레이싱 도구 연결: OpenTelemetry, Langfuse, Helicone 같은 옵저버빌리티 도구를 붙여 모델 입출력, 토큰 사용량, 응답 시간을 별도 저장하면 사고 요약에 드러나지 않는 정량 데이터를 보완할 수 있습니다.

향후 발전 방향

Anthropic, OpenAI, Google 모두 Extended Thinking이나 비슷한 명칭의 추론 모드를 공개하면서, 사고 요약만 API로 노출하는 현재 구조가 일시적이라는 신호를 보내고 있습니다. 향후에는 사고 원문의 일부를 옵트인(opt-in)으로 공개하거나, 사고 내용에 대한 별도 검증 API를 enterprise 플랜에 추가하는 방향으로 발전할 가능성이 있습니다.

다만 사고 사슬의 경쟁 우위와 정렬 안전성을 모두 만족시키는 공개 수준이 어디까지일지는 아직 정해진 표준이 없습니다. 2026년 6월 기준으로, 사고 원문 공개는 일부 학술 연구 협업과 enterprise tier에서만 부분적으로 가능하고, 일반 사용자에게는 사고 요약과 signature만 제공되는 구조가 유지되고 있습니다.

요약

Claude Code의 Extended Thinking 출력은 실제 추론이 아니라 사고 요약입니다. 로컬 세션 로그에 남는 600자 signature도 사고 원문이 아니며, 복호화 키는 Anthropic만이 보유합니다. Claude Code 세션을 감사 추적으로 사용하려면 입력 로그, 출력 로그, 동작 로그를 별도로 수집하고, 사고 요약과 외부 트레이싱 도구를 교차해 의사결정 방향을 추정하는 전략이 필요합니다. 사고 원문 공개 범위는 2026년 6월 현재 enterprise agreement 수준의 옵트인 옵션으로만 제공되고, 일반 환경에서는 사고 요약 + signature + 외부 로그의 3중 보완이 가장 현실적인 접근입니다.