ツール比較
| 項目 | Codex CLI | Claude Code |
|---|---|---|
| ライセンス | Apache-2.0 | プロプライエタリ (ソース公開) |
| コア言語 | Rust + TypeScript | TypeScript |
| API | OpenAI Responses API | Anthropic Messages API |
| サンドボックス | bubblewrap + Landlock + seccomp (Linux) Seatbelt (macOS) Restricted Token (Windows) | コンテナベース |
| ツール拡張 | MCP + Custom Handlers | MCP + Bash/Read/Write/etc. |
| 承認システム | Starlark DSL + ExecPolicy | 許可モード (Plan/Auto-accept) |
| プロトコル | SQ/EQ (Session Query/Event Queue) | 直接統合 |
AI コーディングエージェントの比較
Codex CLI と Claude Code はともに AI コーディングエージェントの代表的な実装である。ここでは公開情報に基づいて、両ツールの設計アプローチを比較する。
基本アーキテクチャの比較
| 項目 | Codex CLI | Claude Code |
|---|---|---|
| 言語 | Rust (コア) + Node.js (ランチャー) | TypeScript (Node.js) |
| モデル | OpenAI (GPT-4o, o4-mini 等) | Anthropic (Claude) |
| 配布 | npm パッケージ + ネイティブバイナリ | npm パッケージ |
| オープンソース | Yes (Apache 2.0) | No (クローズドソース) |
| プロトコル | SQ/EQ パターン | 内部プロトコル |
共通する設計パターン
両ツールは AI エージェントの構造的課題に対して類似のアプローチを採用している。
1. ツールオーケストレーション
Codex CLI と Claude Code はともに、モデルが要求するツール呼び出しをオーケストレーションする仕組みを持つ。
- モデルがツール呼び出しを出力
- エージェントがツールを実行
- 結果をモデルに返して次の応答を生成
このループ構造は AI コーディングエージェントの共通アーキテクチャである。
2. サンドボックスによる安全性確保
両ツールともプロセスレベルのサンドボックスを実装している。
Codex CLI:
- Linux: bubblewrap + Landlock + seccomp
- macOS: Seatbelt (sandbox-exec)
- Windows: 制限トークン
Claude Code:
- Linux/macOS: OS レベルのサンドボックス
- ファイルシステムアクセス制御
3. 承認メカニズム
ユーザーの承認なしに危険な操作を実行しない点も共通している。
Codex CLI:
AskForApprovalenum による段階的制御- ExecPolicy DSL によるルールベース承認
- 承認キャッシュ
Claude Code:
- Permission mode (Ask / Auto-approve / Deny)
- ツール単位の権限制御
.claude/settings.jsonによる設定
4. コンテキスト管理
長い会話のトークン上限管理も共通課題として対処されている。
Codex CLI:
- 自動コンパクション (
compact.rs) - トークン使用量のリアルタイム追跡
- プレサンプリングコンパクション
Claude Code:
- 自動要約によるコンテキスト圧縮
- コンテキストウィンドウの使用状況表示
5. 設定の階層化
プロジェクト固有の設定をサポートする点も共通している。
Codex CLI:
~/.codex/config.toml(グローバル).codex/config.toml(プロジェクト)
Claude Code:
~/.claude/settings.json(グローバル).claude/settings.json(プロジェクト)CLAUDE.md(プロジェクト指示)
差異のあるアプローチ
フロントエンド/バックエンド分離
Codex CLI は SQ/EQ プロトコルで明確にフロントエンドとバックエンドを分離している。これにより、複数の UI フロントエンド(TUI、Web、IDE)を同一のバックエンドに接続できる。
Claude Code は単一のプロセスとして動作し、TUI と処理ロジックが密結合している。
実行ポリシー
Codex CLI は Starlark ベースの DSL で実行ポリシーを定義する。これは柔軟で組織ポリシーの適用に適している。
Claude Code はツール単位のパーミッション設定が中心で、ルールベースのポリシーエンジンは持たない。
MCP (Model Context Protocol)
両ツールとも MCP をサポートしているが、統合の深さが異なる。
Codex CLI: MCP ツールはネイティブツールと同じ ToolRegistry に登録され、承認・サンドボックスの対象となる。
Claude Code: MCP サーバーをプラグインとして接続し、ツールとして公開する。
AI コーディングエージェント共通の設計課題
安全性と利便性のトレードオフ
すべての操作にユーザー承認を要求すると生産性が低下し、すべてを自動承認するとセキュリティリスクが増大する。両ツールとも「段階的承認」モデルでこの課題に取り組んでいる。
コンテキストウィンドウの制約
LLM のコンテキストウィンドウには上限がある。大規模プロジェクトでの長時間作業では、過去の文脈を効率的に圧縮しつつ重要な情報を保持する仕組みが必要である。
ツール出力の制御
シェルコマンドの出力は予測不能で、大量の出力がコンテキストを圧迫する可能性がある。出力の切り詰め・要約の戦略が重要になる。
マルチプラットフォーム対応
Linux、macOS、Windows それぞれで利用可能なサンドボックス技術が異なるため、プラットフォーム抽象化レイヤーが必要になる。