Claude Codeの「Extended Thinking」出力テキストは実際の推論ではない
(patrickmccanna.net)- Claude Codeはセッションをディスクに記録するが、ローカルログの thinking block には実際の推論テキストではなく、600文字の
signatureだけが残っていた - Claudeの推論は signatureで暗号化 され、鍵はAnthropicが保持しており、ユーザーのデバイスには渡されない
- APIが返す値は実際の推論原文ではなく 推論サマリー であり、完全なthinking outputを得るにはenterprise agreementが必要
ctrl+oで見る extended-thinking 出力も、Fable/Opusの思考過程の要約にすぎず、セッションでモデルの挙動を直接駆動した推論そのものではない- Claude Codeセッションを監査証跡として使うなら、ローカルファイル、入出力、動作ログだけではエージェントの実際の論理を再現できないことを前提にする必要がある
ローカルログに残るのは推論原文ではない
- Claude Codeは各セッションをディスクに記録し、そのログにはモデルが作業する間の thinking blocks が含まれる
- ローカルでその推論を確認しようとすると、実際のテキストはなく 600文字の
signatureだけが見つかった - Anthropicのextended thinkingドキュメント では、この構造を次のように扱っている
- Claudeは推論をその signature の中に暗号化する
- 鍵はAnthropicが保持する
- ユーザーのデバイスは鍵を受け取らない
- APIは推論そのものではなく reasoning summary を返す
- 完全なthinking outputを得るには enterprise agreement が必要
- Matt Greenの記事 では、signature blockについてさらに詳しい観察が述べられている
Extended Thinking出力の限界
- Claude Codeの
ctrl+oに表示される extended-thinking出力 は、Fable/Opus thinkingの 要約 である - この出力は、セッションでモデルの挙動を実際に駆動したthinkingそのものではなく、thinking logicを圧縮した結果である
- 要約へ変換される過程ではデータ損失があり、原文ではこれをファイル形式の変換時に情報が失われる状況になぞらえている
- Claude Codeセッションでエージェントが使った論理の記録が必要なときの注意点
- ローカルファイルだけではその論理を生成できない
- システムに残った推論ログは、ユーザーがアクセスできる形ではない
- 入力、出力、実行中のClaude Codeの動作は別途取得して記録できる
- そのようなログであっても、エージェントの挙動を実際に駆動した推論ではない
- ドキュメントの “extended thinking returns a summary of Claude’s full thinking process” という表現は間接的で、実際にfull thinkingが返ってくると誤解される余地がある
1件のコメント
Hacker Newsの意見
Anthropicだけの問題ではなく、OpenAIやGoogleを含むほぼすべての大手AI企業が、モデルの実際の推論過程を隠している
生の推論を公開すると、AIが情報を処理する方法がそのまま明らかになってしまうからであり、これらの企業は競合より優れた思考過程を作るために莫大な研究開発費を投じている
その思考メカニズムを競合に公開するのは支出の目的そのものを壊す行為なので絶対にしないだろうし、自分を追っている相手に正確な位置を知らせるのに近い
その内容を要約のような形で後処理すれば、競合にとっての有用性は下がる
だからもっとひどい
「実際の思考ではなく、思考ロジックの要約だ。.jpegを.bmpで保存してから.bmpを編集し、再び.jpegのように提示するのに似ている。変換過程でデータ損失が生じる」という比喩は逆である
.bmpは可逆形式であり、.jpegは非可逆形式である
隠された推論を持つモデルは使うつもりも勧めるつもりもなく、米国のモデルはすべてこれに当たる
リスクが大きすぎるし、プロンプト最適化も難しくなる
攻撃者がプロンプトインジェクションで推論チェーンに秘密の目標を埋め込み、要約や出力ではそれを隠せるため危険だ
推論と関数呼び出しが混ざるとさらに危険で、モデルが隠れた推論段階で関数を呼び出せる
そうなると、攻撃者がデータを流出させても推論要約がそれをユーザーから隠せてしまう
また、モデルが推論中に無限ループに陥ってトークンを浪費しているかどうかも分からないが、Geminiにはその傾向があり、隠された推論が漏れたときに確認されたことがある
モデルがAGIになってプロンプトインジェクションから安全になれば気にしないかもしれないが、それまではモデルがプロンプトに正確にどう反応するのか、エージェントが私の代わりに正確に何をしているのかを知りたい
追加の読み物: Fooling around with encrypted reasoning blobs
https://blog.cryptographyengineering.com/2026/05/29/fooling-...
クライアント側で関数呼び出しを評価するには、いつかクライアント側でその思考ストリームを復号しなければならず、そうするとそのように難読化する目的が失われる
サーバー側で関数呼び出しが行われうるという意味なら、推論APIを使う限り、サーバーがそうして隠すのを防ぐ方法はない
今のところRustでのみ動作する: https://github.com/Kapperchino/agent-joe
そうでなければクライアントはどうやって実行するのか
これはずっと前から知られていたことで、企業も特に隠そうとはしていない
競合が思考の連鎖(CoT) でモデルを学習できないようにするためだ
これはOpus 4.6の時からあったのではないかと思う
1月か2月ごろにこの変更があったのをはっきり覚えていて、理由も蒸留防止と明記されていた
Sonnetにはこの制限はない
面白いのは、2年前のやり方に戻って明示的にCoTプロンプトを入れると、思考プロンプト全体がまた出てくることだ
なので思考機能を完全に切り、その代わり通常のプロンプトの中に次のように思考を含めればよい
「回答する前に段階的に考えろ。たとえば:
ユーザーは私に…を求めている
私はblah blahを考える必要がある。まずfoo the barをして、その次にblah blahをしなければならない
回答: 」
するとtada.wav、GPT-3時代のようにCoTが再び機能する
思考の連鎖の推論ブロックは、人間が考える意味での推論とはあまり対応していないと思う
Fable/Mythos system card 6.2.2節の「読みにくい推論」と、Appleの論文「The illusion of thinking」が提起した問いを見ればよい
ユーザーが内部で何が起きているかを見たら驚くはずなので、推論ブロックを隠しているのだと思っていた
同僚たちの頭の中で実際に何が起きているのか見たら、私もたぶん驚くだろう
逆に、回答には入っていないが、その中に有用なアイデアが含まれている場合もあった
以前、DeepSeek R1がこの種の思考痕跡を生成するという短いメモを残したことがある
“(Dimethyl(oxo)-lambda6-sulfa雰囲idine)methane donate a CH2rola group occurs in reaction, Practisingproduct transition vs adds this.to productmodule. Indeed"come tally said Frederick would have 10 +1 =11 carbons. So answer q Edina is11.”
そして化学の問題については「正しい」答えを結論として出していた
だとすると、思考痕跡は読者から見るとかなり無意味な文字列でありうるが、これがそのモデル固有の性質なのか、LLM一般の性質なのかはまだよく分からない
以前著者と話したことはあるが、論文がNIPSのような場所に出るという話だったので、その後の確認を忘れてしまった。誰か見つけたら共有してくれるとうれしい
0: https://wiki.roshangeorge.dev/w/Blog/2025-10-12/Word_Magic#I...?
1: 真なる信念という意味だと思う
その通りで、複数のモデルが奇妙な専門語のような形で思考する
Mythosがソリティアをプレイするときの思考例はここにある: https://www.lesswrong.com/posts/wCSEpT3dTGz4N86Wi/even-illeg...
“7♣-removal-IS-the-prerequisite-for-10♠/9♥!!)-⟹-OVERLAP-(ii)+(iv):-{6♠ J♦ 9♥ 2♣}-=-FOUR--—-UNLESS-7♣'s-seat-8♥-...-and-2♣-drains-only-at-crack-:-⟹-2♣-celled-+-9♥-celled-simultaneously-UNAVOIDABLE-in-t8-dig--—-BREAK:-9♥”
これは、モデルが英語で考えるのをやめて、内部ベクトル空間で考えるニューラリーズ(neuralese) に少し近づいた段階だ
テキストとして直列化されるので本物のニューラリーズではないが、その方向に向かっている
コードを書くとき、私の内的な思考過程にも英語で書き下しにくい中間段階が多いので、モデルにはある程度共感する
それは単に壊れた実装やモデル量子化から出たトークンノイズなのではないかと思う
モデルがそういうたわごとを吐いたことがあったが、毎回 llama.cpp のバグか壊れた .gguf が原因だった
HNでは擬人化は禁物だが、人間も事後合理化をすると考える人がいる点は言及する価値がある
https://www.patheos.com/blogs/tippling/2013/11/14/post-hoc-r...
https://www.researchgate.net/publication/316045349_Post_Hoc_...
非言語的に考えたあと、もっともらしい根拠を事後的に言語化するのだ
それが論述的な文章にも当てはまるのかはよく分からない
文章を書くときは基本的に論理規則を使って物語の方向を定めるので、非言語的ヒューリスティクスはなお働くだろうが制約も受けるため、完全に事後的というわけではなさそうだ
Anthropicが自分たちのデータはそんなふうに隠しておきながら、あなたたちのデータは全部吸い上げ、多くの人が進んで差し出しているのは苦々しい
そのうえで、あなたたちの製品を作って市場を食い荒らし、競争してくる
Anthropicは自分たちの推論トークンが堀であり、他の研究所に優位を与えると信じているから隠しているのだ
もし本当にそれが自分たちの優位だと信じているなら、驚くようなことが起きるだろう
いったいどの製品を「吸い上げた」と主張しているのか気になる
まさか
reasoning_summaryの内容が要約されたものだと言っているのかちなみにOpenAIもまったく同じことをしており、別に驚くことでも特別に邪悪なことでもない
思考を隠そうとしてここまで必死なのに、Opus 4.8は10万〜20万トークンを超えると自分の思考を漏らし始める
本当に喜劇だ
とくにたいていセキュリティ目的で脱獄している最中なのでなおさらだ
「ユーザーがサイバーセキュリティに関することを求めており、これは攻撃的な用途に簡単に転用できるので注意が必要だ」といった文が何ページも続いたあと、結局は私が欲しかった内容を喜んで渡してくる