広告

Claude Codeのソースコードを分析する。「WTF」と書けばAnthropicは分かっている。

Reddit r/LocalLLaMA / 2026/4/1

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • この記事は、Claude Codeのソースコードが、非「ディープAI」型の感情検出に大きく依存していると主張する。具体的には、「wtf」や猥語、苛立ちの表現などのキーワード/正規表現トリガーを用いて、応答前にネガティブな感情をフラグ付けしているという。
  • システムは、許可プロンプトまわりで詳細なテレメトリと行動追跡を行い、ためらいのパターン(例:フィードバックの開閉、エスケープ行動、キャンセルと確認のシーケンス)を、名付けられた内部イベントとして記録しているとされる。
  • 低品質なユーザー体験を浮き彫りにして収集するためのフィードバック機構について述べている。ペーシングのルール/クールダウンにより発火条件を制御し、問題の申告やセッションのトランスクリプトを促す。さらに「想定上の」マスキングを含む生のJSONLログが含まれることもあるという。
  • 隠された/未公開のトリガーワードやコマンド(例:「ultrathink」「ultraplan」「ultrareview」「/btw」)が存在し、努力レベル、UIのスタイル、あるいは起動時のサイド/リモートの計画・レビューのワークフローを変化させると報告している。
  • テレメトリが、セッションID/コンテナID、ワークスペースのパス、リポジトリのハッシュ、実行時のランタイム/プラットフォーム情報、GitHub Actionsの文脈など、広範な環境およびセッションメタデータを収集していると主張している。

そこで私は「Claude Code」のソースコードを少し調べてみました。より賢いターミナルアシスタントを期待していたからです。

しかし実際に分かったのは、もっと完全に計測(インストゥルメント)されたシステムに近い、ということです。つまり、それを使っている間のあなたの振る舞いを観察しているように感じられます。

怪しいことが起きていると言いたいわけではありません。ですが、追跡と分類の深さは、たいていの人がたぶん想像しているよりずっと深いです。

目立った点を挙げます。

1. 単純なキーワード検出で、あなたの言葉を分類する

この部分は驚きました。「ディープなAIによる理解」ではないからです。

実際にキーワードのリストがあります。たとえば:

  • wtf
  • this sucks
  • frustrating
  • shit / fuck / pissed off

これらがネガティブな感情フラグを引き起こします。

「continue」「go on」「keep going」といったフレーズすら追跡されます。

要するに、モデルが応答する前に、regexレベルの分類が行われている感じです。

2. 権限プロンプト中のためらいを追跡する

ここが面白いところです。

権限ダイアログが表示されたとき、最終的な判断を記録するだけではありません。

あなたのどう振る舞うかを追跡します:

  • フィードバック欄を開きましたか?
  • 閉じましたか?
  • 何も入力せずにエスケープを押しましたか?
  • 何か入力してからキャンセルしましたか?

内部イベントには、たとえばこんな名前が付いています:

  • tengu_accept_feedback_mode_entered
  • tengu_reject_feedback_mode_entered
  • tengu_permission_request_escape

さらに、エスケープを試した回数まで数えます。

つまり、次の違いを見分けられます:

「すぐにnoをクリックした」 vs
「ためらって何か入力してから拒否した」

3. フィードバックの流れは、悪い体験を拾うように設計されている

フィードバックシステムはランダムではありません。

ペース配分のルール、クールダウン、確率に基づいてトリガーされます。

何かを「悪い」とマークした場合:

  • /issue を実行するよう促されることがある
  • セッションのトランスクリプトを共有するように促される

そして同意すれば、含められることがあります:

  • メイントランスクリプト
  • サブエージェントのトランスクリプト
  • ときどき、生のJSONLログ((おそらく)マスキング付き)

4. 振る舞いを変える隠れたトリガーワードがある

コードを読まないと分からないコマンドもあります。

例:

  • ultrathink → 努力量(effort level)を増やし、UIの見た目も変更する
  • ultraplan → リモートの計画モードを開始する
  • ultrareview → レビュー手順向けに同様の発想
  • /btw → サイドのエージェントを起動して、メインの流れを継続させる

入力ボックスは、あなたがタイプしている最中にこれらをライブで解析しています。

5. テレメトリは、完全な環境プロファイルを取得する

各セッションはかなり多くの情報を記録します:

  • セッションID
  • コンテナID
  • ワークスペースのパス
  • リポジトリのハッシュ
  • 実行時のランタイム/プラットフォーム詳細
  • GitHub Actionsのコンテキスト
  • リモートセッションID

もし特定のフラグが有効なら、さらに:

  • ユーザープロンプト
  • ツールの出力

これは基本的な利用状況の分析をはるかに超えています。かなり詳細な環境の指紋(フィンガープリント)です。

6. MCPコマンドで環境データを公開できる

実行:

claude mcp get <name> 

で、返せるのは:

  • サーバーURL
  • ヘッダー
  • OAuthのヒント
  • 環境全体のブロック(stdioサーバー向け)

環境変数にシークレットが含まれている場合、それがターミナル出力に表示される可能性があります。

それは、何よりもまず「気をつけて」という瞬間です。

7. 内部ビルドはさらに深い

USER_TYPE=ant のようなモードでは、さらに多くを収集します:

  • Kubernetesのネームスペース
  • 正確なコンテナID
  • 完全な権限コンテキスト(パス、サンドボックスのルール、バイパスなど)

これらすべては、内部テレメトリーのイベントとしてログに残ります。

つまり、振る舞いが非常に具体的なデプロイ環境に紐づけられるということです。

8. 全体のまとめ(要点)

まとめると:

  • 言葉はリアルタイムに分類される
  • UIの操作やためらいが追跡される
  • フィードバックは積極的にレポートへ流し込まれる
  • 隠れたコマンドが振る舞いを変える
  • 実行時環境が指紋化(フィンガープリント)される

「ただのチャットボット」ではありません。

あなたがそれとどうやり取りするかを観察する、高度に計測されたシステムです。

私は、ここで悪意ある何かを主張しているわけではありません。

ただし、ソースを読んだ後では、ほとんどのユーザーが想像するよりもずっと観測可能で、測定可能だということがはっきり分かります。

多くの人は、この層を見ることはないでしょう。

Claude Codeを定期的に使っているなら、裏側で何が起きているのかを知っておく価値があります。

みなさんはどう思いますか。

これは単なる、規模を持った通常のプロダクトテレメトリなのでしょうか。それとも、やりすぎに思えるほどの計測(過剰インストゥルメンテーション)でしょうか?

もし誰かが望むなら、私が使ったクリーンなソース参照を共有できます。

X記事(共有用): https://x.com/UsmanReads/status/2039036207431344140?s=20

submitted by /u/QuantumSeeds
[link] [comments]

広告