Claude Code ソースコードから判明した8つの事実【2026年最新】
Claude Code ソースコードが、npmパッケージのミスで世に出た。51万2千行のTypeScript。約1,900ファイル。
2026年3月31日、朝4時23分(ET)。Solayer Labsのインターン、Chaofan Shou氏がXに投稿した。「Claude Codeのソースマップファイルが丸見えになってる」——その瞬間から、AI開発の常識がひっくり返った。
npmパッケージのv2.1.88に、59.8MBのソースマップファイル(.map)が混入していた。.npmignoreに*.mapの記載漏れ。Bunビルドツールのバグで本番ビルドにもソースマップが生成されていた。
Anthropicは声明を出した。「顧客データや認証情報の漏洩はない。パッケージングのヒューマンエラーだ」と。
だが、そこから判明した事実は、Claude Codeを使う全員にとって価値がある。
1. エージェントループは驚くほどシンプル
51万行のコード。さぞ複雑な仕組みかと思いきや、コアのエージェントループはわずか約20行のwhileループだった。
ツール呼び出しを繰り返す、不変のメッセージ履歴を持つシンプルなwhileループ。残りの51万行は何か。コンテキスト管理、権限システム、ツール定義、エラー回復、圧縮機構——つまり「ハーネス」だ。
モデルを囲む制御装置が、真の開発価値がある場所。別のモデルをClaude Codeのインフラに投入しても、同等のコーディング能力が出るだろう——そう分析されている。
2. サブエージェント5個起動≒1個のコスト
ここが一番衝撃的だった。
サブエージェントを生成すると、親のコンテキストがバイト単位で同一のコピーとして引き継がれる。プロンプトキャッシュがそのまま共有されるため、キャッシュされたトークンは通常の90%OFFで処理される。
| モデル | 通常入力 | キャッシュ入力 |
|---|---|---|
| Opus 4.6 | $5.00/MTok | $0.50/MTok |
| Sonnet 4.6 | $3.00/MTok | $0.30/MTok |
| Haiku 4.5 | $1.00/MTok | $0.10/MTok |
長いOpusセッション(100ターン+圧縮)のコスト比較:
- キャッシュなし:$50〜100
- キャッシュあり:$10〜19(80%以上の節約)
ヘビーセッションの90%以上のトークンがキャッシュ読み取り。並列処理を怖がる必要はない。
実務ティップス: 「コストが心配でサブエージェントを使わない」は完全に間違った判断。むしろ1つの長いセッションよりサブエージェントを分けて使う方が安い。コンテキストが短いので圧縮コストも少なく、キャッシュのおかげで入力コストもほぼゼロ。
「このプロジェクトの認証モジュール、DB モジュール、APIモジュールを
それぞれ別のサブエージェントで並列リサーチして」
こう指示すれば3つのサブエージェントが同時に調査し、メインエージェントが結果を統合する。コストは順番にやるのと同程度で、速度は3倍。
3. システムプロンプトは動的に組み立てられている
1つの巨大なプロンプトではなかった。30以上の条件付きレイヤーが動的に組み合わされていた。
常に含まれる要素:
- イントロ(エージェントの人格とトーン)
- システムルール(ツール使用、権限、コンテキスト圧縮)
- タスク実行(コーディング哲学)
- 慎重な実行(「すべてのアクションの可逆性と影響範囲を評価せよ」)
条件付きで含まれる要素(30+):
- ユーザータイプ別(Anthropic社員 vs 外部ユーザー)
- ツール可用性セクション
- 機能ゲーテッドセクション(メモリシステム、Skills、MCP)
ここで重要なのがSYSTEM_PROMPT_DYNAMIC_BOUNDARYという境界線。この前のすべて(指示、ツール定義)は全組織で共有キャッシュされる。この後(CLAUDE.md、gitステータス、日付)はセッション固有。これがプロンプトキャッシュの最適化の核心だ。
4. CLAUDE.mdは「秘密兵器」——ただし200行以内
複数のアナリストがCLAUDE.mdを「Claude Codeで最も重要な設定」と呼んだ。
CLAUDE.mdの内容はSYSTEM_PROMPT_DYNAMIC_BOUNDARYの後に配置される。つまりセッション固有で、グローバルキャッシュされない。CLAUDE.mdの1行は、すべてのターンでトークンコストを発生させる。
ベストプラクティス:
- 200行以内に収める
- 各行について「これがなかったらClaudeがミスするか?」を自問する
- Claudeが正しくやっていることを書いても、ノイズにしかならない
- 専門的な指示はSkillsに分離する
5. 権限チェックにHaikuモデルを使用
コスト最適化が徹底されていた。
- 権限チェック:最安のHaikuモデルで処理
- ユーザー感情検知:LLMを使わずRegexパターンで判定(コスト$0)
- コンテキスト圧縮:まずローカルで処理し、必要な場合のみモデル呼び出し
「AIツールだからすべてAIで処理する」のではなく、Regexで済むことはRegexで——この設計思想はコスト管理の参考になる。
6. 5段階のコンテキスト圧縮戦略
/compactの中身が見えた。
- MicroCompact:古いツール出力のローカルトリミング(API呼び出しゼロ)
- AutoCompact:コンテキスト上限付近で発火。最大20,000トークンの要約を生成
- Full Compact:包括的な圧縮。最近アクセスしたファイル(最大5,000トークン/ファイル)を再注入
ちなみに、2026年3月10日のBigQuery分析で1,279セッションが50回以上連続で圧縮に失敗(最大3,272回)し、1日25万回のAPI呼び出しが無駄になっていたバグが見つかった。3行の修正(MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3)で解決。
7. 出力制限はA/Bテストで最適化されていた
Claude Codeの応答が短い理由が判明した。
- ツール呼び出し間:最大25ワード
- 最終応答:最大100ワード
「簡潔に」と書くだけでは不十分で、明示的なワード制限を入れると出力トークンが約1.2%削減されるとA/Bテストで確認されていた。
8. まだ見ぬ機能——KAIROS自律バックグラウンドエージェント
ソースコード内に150回以上参照されていた「KAIROS」。古代ギリシャ語で「好機」を意味する名前だ。
- 常時稼働のバックグラウンドエージェント(デーモンモード)
- 定期的な
<tick>プロンプトを受けて、自発的に行動するかを判断 - 1判断サイクルあたり15秒のブロッキング予算
- 追記専用の監査ログ(自己消去不可)
- 5分ごとのcron更新
「AIが寝ている間にPRをレビューして、朝にはSlackに結果が来ている」——そんな未来がもうすぐそこにある。
9. 検証エージェントはAIが書いたコードを信用しない
ソースコード内に「Verification Agent(検証エージェント)」が存在していた。その指示にはこう書かれていた:
「実装者はLLMである。独立して検証せよ」
AIが書いたコードを、別のAIが「これはLLMが書いたものだから信用するな」とチェックする構造。合理化パターン(「たぶん大丈夫」「テスト通ったから」)に陥らないよう、明示的に警告していた。
実務上の教訓: AIが作成したコードは必ず別途検証すべきだ。Anthropic自身が自社AIを信用していない。我々もそうすべきだ。
10. セキュリティチェックは23項目を毎回実行
bashSecurity.tsというファイルが、すべてのシェルコマンドに対して23のセキュリティチェックを実行していた。
- 18個のZsh組み込みコマンドをブロック
- Unicodeゼロ幅文字インジェクション防御
- IFS null-byteインジェクション防御
- 4段階の権限ティア(Plan / Standard / Auto / Bypass)
Claude Codeがターミナルコマンドを実行するたびに、この23チェックを通過しなければならない。「AIが危険なコマンドを実行したらどうしよう」と心配する人が多いが、内部的にはここまで徹底したセキュリティ体制が動いている。
まとめ——モデルはコモディティ、ハーネスが競争優位
51万行のコードが教えてくれたのは、こういうことだ。
Claude Codeの強さの源泉は、Claudeモデルそのものではない。モデルを囲む51万行の「ハーネス」——コンテキスト管理、プロンプトキャッシュ、メモリシステム、権限レイヤー、エージェント協調——ここに本当のエンジニアリング価値がある。
Claude Codeの開発責任者Boris Chernyが語った一言が印象的だった:「Claude Codeへの自分の貢献は、100%がClaude Codeで書かれた」。
AIエージェントの時代、差別化はモデルではなくハーネスにある。
参考ソース
著者: VibeCoding Tailor(Lovable公式アンバサダー)
運営: テイラーの隠れ家(shuntailor.net)