Claude Codeのコードベースのうち、AIが担っているのはわずか1.6%だった。
2026年4月14日、アブダビのMohamed bin Zayed University of Artificial Intelligence(MBZUAI)とUniversity College Londonの研究チームが、公開されているTypeScriptソースコード(v2.1.88)を解析してClaude Codeの完全なアーキテクチャ図を再構成した論文「Dive into Claude Code」をarXivに投稿しました。
この記事でわかること:
- 公開ソースコード解析でわかったClaude Codeの内部構造
- AIが1.6%しか占めない理由と残り98.4%が何をしているか
- 5つの設計哲学と13の設計指針
- パーミッション7層・コンテキスト管理5層の仕組み
- オープンソースのOpenClawと比較してわかる設計上の選択
論文の著者たちは、Anthropicが公開しているドキュメントに加え、GitHubで一時的に公開状態になっていたTypeScriptソース(v2.1.88)をもとに、Anthropicが非公開としてきたアーキテクチャの詳細を体系的に文書化しています。
AIロジックはたった1.6%
論文のもっとも印象的な数字が「1.6% vs 98.4%」です。
コードベース全体のうち、モデルが何をすべきか判断するAI意思決定ロジックは約1.6%に過ぎません。残りの98.4%はすべて「運用インフラ」です。パーミッション評価、コンテキスト圧縮、ツール実行、セッション保存、エラー処理など、モデルが自由に推論できる環境を整えるための仕組みが大部分を占めます。
この比率が示すのは、Claude Codeの設計思想の核心です。モデルに判断を強制するスキャフォールディング(計画グラフや明示的な状態機械)を最小限に抑え、インフラ側を充実させることでモデルが自由に推論できる余地を広げる——論文はこれを「minimal scaffolding, maximal operational harness(スキャフォールディングは最小化、ハーネスは最大化)」という設計原則として明示しています。
LangGraphのような状態グラフ型フレームワークや、SWE-AgentのようなDockerコンテナ隔離型エージェントとは根本的に異なるアプローチです。
5つの設計哲学
論文はアーキテクチャの各決定を動機づける5つの人間的価値観を特定しています。
人間の決定権威(Human Decision Authority)。エージェントが何をするかの最終決定権は常に人間にあります。Anthropicはユーザーが権限確認プロンプトの93%を承認してしまう実態(都度確認が形骸化している)を把握した上で、個別確認を増やすのではなく「エージェントが自由に動ける境界を設計する」方向に転換しています。
安全性・セキュリティ・プライバシー。人間が不注意でも、モデルが操作されても、システム側で保護する責任を持ちます。これは決定権威とは別の概念で、人間が権限を行使できない状況でも機能する安全弁を指します。
信頼できる実行(Reliable Execution)。ユーザーが意図したことをやり遂げ、長い作業の中でも一貫性を保ちます。コンテキストウィンドウをまたいでも、セッションを再開しても、サブエージェントに委任しても、意図が失われない設計です。
能力増幅(Capability Amplification)。Anthropicの内部調査(132名のエンジニア・研究者対象)によると、Claude Codeで処理したタスクの約27%は「このツールがなければそもそも着手しなかった作業」だったとされています(参考)。単なる作業効率化ではなく、新しいワークフローを可能にすることを目標に置いています。
文脈的適応性(Contextual Adaptability)。使い続けることで人間とエージェントの信頼関係が深まる設計です。セッション数が50回未満のユーザーの自動承認率は約20%ですが、750回を超えると40%以上に上昇するというデータが示すように、システムは固定の信頼状態ではなく「信頼の軌跡」を前提に設計されています。
アーキテクチャの7コンポーネント
コアは単純な ループです。 という非同期ジェネレーター関数がモデルを呼び出し、ツールを実行し、それを繰り返します。ターミナルからIDEから Agent SDK まで、すべての入力経路が同じ を通ります。
その周囲に7つのコンポーネントが配置されています。ユーザーが入力を送ると、インターフェース層(インタラクティブCLI、ヘッドレスCLI、Agent SDK、IDE/Desktop/Browser)を経てエージェントループに渡ります。ループはパーミッションシステムにアクション確認を投げ、承認されたアクションがツール群(最大54本、うち19本は常時利用可、35本は機能フラグやユーザー種別で切り替わる)に渡ります。ツールは実行環境(シェル、ファイルシステム、MCPサーバー、リモート実行)と対話し、結果をループに返します。状態・永続化レイヤー(ほぼ追記専用のJSONLセッションログ)がこれら全体を記録します。
パーミッションの7層防御
Claude Codeの安全性は単一の安全弁ではなく、7つの独立したレイヤーが直列に並ぶ多層防御で実現されています。
禁止ツールをモデルのビューから事前に削除する「ツール事前フィルタリング」を筆頭に、Deny-firstルール評価(拒否ルールは許可ルールより常に優先)、7種類のパーミッションモードによる基本制御、MLクラシファイアによるツール安全性の機械的評価、承認済みコマンドでもファイルシステムとネットワークを制限するシェルサンドボックス、セッション再開時の権限非復元、そしてPreToolUseフックによるリアルタイム割り込みが連なります。
これらのうちいずれか1つが拒否すれば、アクションはブロックされます。
コンテキスト管理の5層パイプライン
Claude Codeが「支配的なリソース制約(binding resource constraint)」と位置付けるのはコンテキストウィンドウです。Claude 4.6シリーズでは100万トークンに達しますが、論文はそれでもこの管理が重要だと分析しています。
モデル呼び出しの直前に5つの圧縮処理が順番に実行されます。サイズ制限を超えた個別ツール出力を削減する「Budget Reduction」、古い会話を刈り込む「Snip」、キャッシュオーバーヘッドへの反応的圧縮「Microcompact」、長い履歴を管理する「Context Collapse」、最終手段としてのセマンティック圧縮「Auto-compact」の5段階です。コストの低い処理から順に実行され、前段で解決すれば後段は動かない設計です。
この5層パイプライン以外にも、CLAUDE.mdのネストディレクトリ分を実際にファイルを読むまで遅延ロードする仕組みや、ToolSearch有効時はツールのフルスキーマを必要になるまで省略する工夫など、コンテキスト節約の施策が全体に織り込まれています。
OpenClawとの対比で浮かぶ設計の選択
論文はオープンソースのAIエージェント「OpenClaw」との比較も行っています。同じ設計上の問いを抱えながら、展開コンテキストが違うと答えがどう変わるかを示しています。
Claude Codeがアクションごとに安全分類を行うのに対し、OpenClawはペリメーター(境界)レベルのアクセス制御を採用。Claude Codeが単一のCLIループで動くのに対し、OpenClawはゲートウェイのコントロールプレーンに組み込まれた実行ランタイムとして動きます。拡張機能の登録もClaude Codeがコンテキストウィンドウ拡張として行うのに対し、OpenClawはゲートウェイ全体へのケイパビリティ登録として実装しています。
商用CLIツールとオープンソースのゲートウェイでは、同じ「コーディングエージェントを作る」という問いに対して設計の重点が根本的に異なる——この対比は、自前のAIエージェントを設計する際に参考になる視点です。
今後のエージェント設計に向けて
論文が特定した6つの今後の設計課題として、可観測性・評価ギャップ、クロスセッション永続性、ハーネス境界の進化、長期水平スケーリング、ガバナンス、そして人間の長期的スキル保全が挙げられています。
最後の「スキル保全」は論文が特に注視する点です。Anthropicの内部調査では、AI支援条件下の開発者がコード理解テストで17%低いスコアを記録したと報告されており、短期的な能力増幅が長期的な人間のスキル形成を阻害する可能性を「評価レンズ」として提示しています。
ソースコードとGitHubリポジトリは論文内にリンクがあります(GitHub)。エージェント設計の実務に携わる方に価値のある技術文書です。
