なぜCodexはRustで、Claude CodeはBunなのか
Algomatic の記事は、AI コーディングエージェントの基盤技術において、OpenAI が Codex を Rust に書き換えて安全性と実行効率を追求する一方、Anthropic は Claude Code で TypeScript エコシステムと Bun を採用し、開発者体験を重視するという対照的な設計思想の違いを分析している。
キーポイント
Codex の Rust リライトによる基盤強化
OpenAI は Codex CLI を Node.js から Rust に書き換え、長時間稼働するエージェントのメモリ管理やレイテンシを最適化し、OS 隔離機能(Seatbelt, Landlock)との親和性を高めている。
Claude Code の TypeScript エコシステム維持
Anthropic は Claude Code を Bun 実行可能ファイルとして提供しつつ、TypeScript 周辺のエコシステムや開発者体験(DX)を損なわない設計思想を採用している。
ランタイム依存と導入の壁
Node.js ベースでは利用環境へのランタイム依存が導入障壁となるが、Rust によるバイナリ化によりこの課題を解消し、エージェントの安定稼働を可能にしている。
設計思想の違いと「AI エージェント」への視点
両社のアプローチは単なる言語選択ではなく、「安全で大量のエージェント実行」を重視する OpenAI と「開発者フレンドリーな製品表面」を重視する Anthropic の哲学の表れである。
Claude Code の Bun 統合と買収
Anthropic は Claude Code を単に Bun で実行するだけでなく、Bun の実行バイナリを自社のインフラに取り込み、2025 年 12 月に Bun を買収して深く統合しています。
開発体験とランタイムの戦略的選択
Rust で OS の隔離機能に依存する Codex と対照的に、Claude Code は TypeScript の開発速度や SDK/MCP 親和性を保ちつつ、Node.js への依存を外して Bun を採用しました。
GC 非存在とシステム寄りの違い
両者とも単体実行ファイル化されましたが、Codex は GC のない Rust でシステムレベルの制御を目指し、Claude Code は GC を残したままランタイム層を自社インフラ化しています。
影響分析・編集コメントを表示
影響分析
この記事は、AI コーディングエージェント市場における二大プレイヤーの技術戦略の違いを浮き彫りにしており、開発者がツール選定を行う際の重要な判断材料となる。特に、長時間稼働やセキュリティ要件が厳しい環境では Rust ベースの基盤が有利である一方、既存の開発ワークフローとの親和性を求める場合は TypeScript/Bun 系が優位であることを示唆している。
編集コメント
単なる言語の比較を超え、各企業が「AI エージェント」に何を求めているかという根本的な設計思想の違いが読み取れる興味深い分析です。開発者にとっては、自社のユースケース(長時間稼働 vs DX重視)に合わせてツールを選ぶ際の明確な指針となります。
株式会社 Algomatic の高比良です。
先月、システム変革本部にエンジニアとして参画しました。6 月から新体制となり、毎日が挑戦です。楽しいです。
Algomatic 初夏のアドベントカレンダーの 7 本目の投稿となります。
前回の菊池さんの記事はこちらです!私は自戒しかありませんでした!
さて今回は初夏のアドベントカレンダーということで、最近気になっていた AI コーディングエージェントの実装まわりについて書きます。
はじめに
2025 年半ば、Claude Code が Pro プランのサブスクリプションでも使えるようになって盛り上がり始めていた時期に、私ももれなく Claude Code と Codex の両方を業務で触り始めました。
両ツールはよく対比されますが、黎明期なのもあってか、使用感やアウトプットには違いがあります。それは単なるモデルの差というより、中の設計思想の違いから来ている気がして、ちょっと調べてみたくなりました。
実際、土台の作り方は対照的で、ざっくり言うと、Codex は Rust rewrite によって実行基盤を固め、Claude Code は TypeScript 周辺の product surface を保ちながら Bun executable として配る方向に進んでいます。そこに、それぞれの「AI エージェント」への考えが見えた気がしたので少し小話的に語っていきます。
Codex は Node から Rust に
Codex は、もともと TypeScript と Node.js で書かれており、OpenAI は 2025 年 5 月末、Codex CLI を Rust に書き換えていることを公表しています(GitHub の Discussion #1174 に経緯が残っています)。(Rust は、OS に近い低い層を安全に書くのに向いた言語です。)
書き換えた理由はどれも、「エージェントを長時間、安全に、たくさん動かす」ことに関わっていました。
Node.js を前提にする場合、利用者の環境にランタイムが入っていないと動かず、これが導入の壁になってきます。
次にメモリ周り、エージェントは会話の履歴やツールの実行結果を抱えながら長く動くため、
Node.js のようなランタイム GC(ガベージコレクション)のある環境では、レイテンシやメモリ消費の見通しが難しくなる場面があり、短い処理なら気にならなくても、延々と動くエージェントでは効いてきます。
Rust だと OS のサンドボックスと深く結びつけられる利点もあります。
実際、Codex のリポジトリを覗くと、sandboxing や execpolicy、mcp-server、app-server、network-proxy といった部品が並んでいます。macOS なら Seatbelt、Linux なら Landlock といった OS の隔離機能と合わせているあたりにも、その本気度が滲んでます。
Claude Code は TypeScript を捨てなかった
一方で Claude Code は、npm や TypeScript 周辺の開発者体験を強く持っています。
最近の v2.1.113 リリースノート では、bundled JavaScript を直接動かすのではなく、プラットフォームごとのネイティブバイナリを起動する形に変わったことが明記されています。
さらに Bun 公式 は、Claude Code が Bun executable として配布されていると説明しています。
Bun は高速な JavaScript / TypeScript のランタイム兼ツールキットです。
詰まるところ Claude Code は、TypeScript 的な開発速度や SDK/MCP との親和性を保ちながら、Node.js runtime への依存だけを外したということです。
Claude Code のドキュメント でも、npm でインストールした場合も最終的にはプラットフォーム別のネイティブバイナリが入り、インストール後の claude binary 自体は Node を呼ばないと説明されています。
さらに 2025 年 12 月、Anthropic は Bun を買収しています。Bun 公式ブログでは「Bun が壊れたら Claude Code も壊れる」とまで書かれていて、Bun が Claude Code の土台にかなり深く入っているように見えます。
つまり Claude Code は TypeScript を捨てるどころかその足回りである JavaScript runtime まで自社のインフラに取り込んでいます。
拡張のしかたも同じ方向を向いていて、これは私の所感ですが MCP や SDK など、開発者に近い世界を取りにいっているように見えます。
Node を外した後に見えてくる違い
「結局どちらも、Node がいらない単体の実行ファイルになったんだ」となりますが Claude Code は「単体で動く」という見た目は似ていても、Rust binary と同じ意味で runtime GC が消えるわけではなく面白いのは、Codex は OS に近い言語に書き換え、Claude Code は Bun を自社のインフラに取り込んだことです。
Codex は Rust に書き換えることで、ランタイム GC のない実行基盤、OS のサンドボックス化、プロセス制御といったシステム寄りに。(これは #1174 で OpenAI が説明している理由と重なる)
一方で Claude Code は、TypeScript 周辺の開発者体験を保ちながら、Bun executable として配布し、さらに Bun を Anthropic のインフラとして取り込んでいます。
おわりに
なぜ Codex は Rust で Claude Code は Bun なのか
これは完全に私の感想ですが、
Codex は「安全に深くたくさん動かす」ことに、Claude Code は「TypeScript エコシステムの速さと拡張のしやすさ」に重きを置いたように見えます。
一見すると地味な技術選定ですが、何の言語で書き、どう Node から離れるか「AI エージェントとは何か」をどう見ているかが、少し垣間見れたようで個人的にとても興味深かったです。
自分は普段 AI エージェントを使うとき、ハーネス設計そのものも大事だと思いつつ、究極的な所「自分がゴールを明確に握っておくこと」がかなり重要だと感じています。
何を達成したいのか、そこに向け今 AI が何を掴めていないのか、何を渡すのかを見極めるのは、まだ人間側の仕事だと思ってます。その前提でエージェントの挙動を見ると、それぞれの設計思想の違いも少し見えやすくなると思ってます。
実際自分は二刀流で、体感として、Codex は防御的な実装をしてくれる印象があり、レビューや深いロジックの探索、調査、設計で重宝しています。一方で Claude Code は手元のドラえもんのような感覚で使っています。
次回もよろしくお願いいたします!
Algomatic は 6 月より新体制となり非連続な成長へエンジニアやビジネス職全員が挑戦中です!
ぜひお気軽にカジュアル面談に足を運んでいただけると嬉しく思います!
参考にした主な情報源です。
- Codex の Rust 書き換えの理由:OpenAI の GitHub Discussion「Codex CLI is Going Native」(#1174)
- Codex の公開リポジトリ:openai/codex
- Claude Code が native binary を配るようになった件:Claude Code の v2.1.113 リリースノート
- Claude Code の SDK / TypeScript SDK と platform native binary:Agent SDK overview
- Anthropic による Bun の買収:Anthropic 公式「Anthropic acquires Bun」
- Bun 側の発表:「Bun is joining Anthropic」
- Bun executable の仕組み:Bun single-file executable docs
原文を表示
株式会社Algomaticの高比良です。
先月システム変革本部にエンジニアとして参画しました。
6月から新体制で、毎日が挑戦です。楽しいです。
Algomatic初夏のアドベントカレンダー7本目の投稿となります
前回の菊池さんの記事はこちらです!私は自戒しかありませんでした!
さて今回は初夏のアドベントカレンダーということで最近気になっていた AI コーディングエージェントの実装まわりについて書きます。
はじめに
2025年半ば、Claude CodeがProプランのサブスクリプションでも使えるようになって盛り上がり始めていた時期に、私ももれなくClaude CodeとCodexの両方を業務で触り始めました。
両ツールはよく対比されますが、黎明期なのもあってか、使用感やアウトプットには違いがあります。それは単なるモデルの差というより、中の設計思想の違いから来ている気がして、ちょっと調べてみたくなりました。
実際、土台の作り方は対照的で、ざっくり言うと、Codex は Rust rewrite によって実行基盤を固め、Claude Code は TypeScript 周辺の product surface を保ちながら Bun executable として配る方向に進んでいます。そこに、それぞれの「AI エージェント」への考えが見えた気がしたので少し小話的に語っていきます。
CodexはNodeからRustに
Codexは、もともとTypeScriptとNode.jsで書かれており、OpenAIは2025年5月末、Codex CLIをRustに書き換えていることを公表しています(GitHub の Discussion #1174 に経緯が残っています)。(Rust は、OS に近い低い層を安全に書くのに向いた言語です。)
書き換えた理由はどれも、「エージェントを長時間、安全に、たくさん動かす」ことに関わっていました。
Node.jsを前提にする場合、利用者の環境にランタイムが入っていないと動かず、これが導入の壁になってきます。
次にメモリ周り、エージェントは会話の履歴やツールの実行結果を抱えながら長く動くため、
Node.js のようなランタイムGCのある環境では、レイテンシやメモリ消費の見通しが難しくなる場面があり、短い処理なら気にならなくても、延々と動くエージェントでは効いてきます。
RustだとOSのサンドボックスと深く結びつけられる利点もあります。
実際、Codex のリポジトリを覗くと、sandboxing や execpolicy、mcp-server、app-server、network-proxy といった部品が並んでいます。macOS なら Seatbelt、Linux なら Landlock といった OS の隔離機能と合わせているあたりにも、その本気度が滲んでます。
Claude Code は TypeScript を捨てなかった
一方でClaude Codeは、npm やTypeScript周辺の開発者体験を強く持っています。
最近のv2.1.113 リリースノートでは、bundled JavaScriptを直接動かすのではなく、platformごとのnative binaryを起動する形に変わったことが明記されています。
さらにBun 公式は、Claude CodeがBun executableとして配布されていると説明しています。
Bun は高速な JavaScript / TypeScript のランタイム兼ツールキットです。
詰まるところClaude Code は、TypeScript的な開発速度やSDK/MCPとの親和性を保ちながら、Node.js runtimeへの依存だけを外したということです。
Claude Code のドキュメントでも、npmでインストールした場合も最終的にはplatform別のnative binaryが入り、インストール後のclaude binary自体はNodeを呼ばないと説明されています。
さらに2025年12月、AnthropicはBunを買収しています。Bun 公式ブログでは「Bun が壊れたら Claude Code も壊れる」とまで書かれていて、BunがClaude Code の土台にかなり深く入っているように見えます。
つまりClaude CodeはTypeScriptを捨てるどころかその足回りであるJavaScript runtimeまで自社のインフラに取り込んでます。
拡張のしかたも同じ方向を向いていて、これは私の所感ですがMCPやSDKなど、開発者に近い世界を取りにいっているように見えます。
Nodeを外した後に見えてくる違い
「結局どちらも、Nodeがいらない単体の実行ファイルになったんだ」となりますがClaude Codeは「単体で動く」という見た目は似ていても、Rust binaryと同じ意味でruntime GCが消えるわけではなく面白いのは、CodexはOSに近い言語に書き換え、Claude Code は Bun を自社のインフラに取り込んだことです。
CodexはRustに書き換えることで、ランタイムGCのない実行基盤、OSのsandboxing、プロセス制御といったsystems寄りに。(これは #1174でOpenAIが説明している理由と重なる)
一方でClaude Codeは、TypeScript周辺の開発者体験を保ちながら、Bun executableとして配布し、さらに Bun を Anthropic のインフラとして取り込んでいます。
おわりに
なぜCodexはRustでClaude CodeはBunなのか
これは完全に私の感想ですが
Codex は「安全に深くたくさん動かす」ことに、Claude Codeは「TypeScript エコシステムの速さと拡張のしやすさ」に重きを置いたように見えます。
一見すると地味な技術選定ですが、何の言語で書き、どうNodeから離れるか「AI エージェントとは何か」をどう見ているかが、少し垣間見れたようで個人的にとても興味深かったです。
自分は普段AI エージェントを使うとき、ハーネス設計そのものも大事だと思いつつ、究極的な所「自分がゴールを明確に握っておくこと」がかなり重要だと感じています。
何を達成したいのか、そこに向け今AIが何を掴めていないのか、何を渡すのかを見極めるのは、まだ人間側の仕事だと思ってます。その前提でエージェントの挙動を見ると、それぞれの設計思想の違いも少し見えやすくなると思ってます。
実際自分は二刀流で、体感として、Codex は防御的な実装をしてくれる印象があり、レビューや深いロジックの探索、調査、設計で重宝しています。一方でClaude Codeは手元のドラえもんのような感覚で使っています。
次回もよろしくお願いいたします!
Algomaticは6月より新体制となり非連続な成長へエンジニアやビジネス職全員が挑戦中です!
ぜひお気軽にカジュアル面談に足を運んでいただけると嬉しく思います!
参考にした主な情報源です。
- Codex の Rust 書き換えの理由:OpenAI の GitHub Discussion「Codex CLI is Going Native」(#1174)
- Codex の公開リポジトリ:openai/codex
- Claude Code が native binary を配るようになった件:Claude Code の v2.1.113 リリースノート
- Claude Code の SDK / TypeScript SDK と platform native binary:Agent SDK overview
- Anthropic による Bun の買収:Anthropic 公式「Anthropic acquires Bun」
- Bun 側の発表:「Bun is joining Anthropic」
- Bun executable の仕組み:Bun single-file executable docs
関連記事
Visa と ChatGPT の統合により AI エージェントが小売購入を可能に
Visa が決済インフラを ChatGPT に連携させ、AI エージェントが商品推薦から決済実行まで人間を介さず自動処理する機能を導入した。
OpenAI は依然として「スーパーアプリ」の開発に取り組んでいる
OpenAI が、複数の機能を統合した次世代の「スーパーアプリ」開発を継続中であることが報じられた。同社は既存の AI 技術を活用し、ユーザー体験を大幅に向上させる新たなプラットフォーム構築を目指している。
MosaicLeaks:研究エージェントは秘密を守れるか?(10 分読了)
TLDR AI は、プライベート文書とウェブ検索を組み合わせる深層研究エージェントのプライバシーリスク「MosaicLeaks」を指摘し、安全なクエリ構築による報酬学習で情報漏洩を大幅に削減する新手法 PA-DR を提案した。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み