Rust ハーネス対決:grok-build vs codex

xAI の grok-build と OpenAI の codex をクローンし、それぞれ 20 のサブシステムを一行ずつ読み込んで、同じコーディングエージェントを作る 2 つのラボが実際にどこで分かれるのかを調べました。

著者: Reason

2026年7月23日

世界でも屈指の高性能なターミナル向けコーディングエージェントのうち2つが、Rust で書かれ、単一バイナリとして配布され、数か月違いでオープンソース化されました。xAI のgrok-build(grok CLI)と、OpenAI のcodexです。私たちは両方をクローンし、約100のアナリシスエージェントで20のサブシステムにわたって1行ずつ読み込み、ひとつの問いに答えようとしました。2つのラボが同じツールを作ると、設計思想は実際どこで分かれるのでしょうか。

気まずい出発点は、grok-build 自身のTHIRD-PARTY-NOTICESにあります。そこには、openai/codexおよびsst/opencodeからツール実装を移植したと記されています。これはクリーンルームでの競争ではありません。子孫が祖先をリミックスしたものであり、だからこそ両者の違いはいっそう多くを物語ります。

ひとつの骨格、2つの設計思想

並べて読むと、2つのエージェントはほぼ同一の骨格を共有しています。型付きのメッセージ境界の背後に、単一のセッションアクターがあります。1つのバイナリが、対話型ターミナル UI、ヘッドレスの exec モード、エディタサーバーという複数の薄い顔を持ちます。中核ループも同じで、モデルをサンプリングし、モデルが求めたツールを実行し、モデルが止まるまで繰り返します。どちらも追記専用のログを永続的な真実の源として保持し、コンテキストウィンドウが埋まるとどちらも会話を圧縮し、どちらもセッションの再開とフォークができます。

したがって興味深いのは形ではありません。骨格ができたあとで、各チームが何だけは譲らなかったかです。Codex は引き算をします。grok-build は手を伸ばします。

Codex は引き算をする

Codex は、自社でモデルを持ち、制御、安全性、小さな表面積を重視して最適化するチームの成果です。選択肢を削る方向に向かう設計思想です。古いチャット用の通信プロトコルを取り除き、モデルへの経路をちょうど1本にしました。temperature と top-p のサンプリングをやめ、推論の強度を決める単一のノブに置き換えました。プロバイダーのマーケットプレイスになることを拒み、ファーストパーティのバックエンドを短いリストで提供するだけにしています。

この集中によって、実際に問題となる部分に深く手が入ります。決定論のためにソースからビルドされる3プラットフォームのサンドボックス。ターンごと、機能ゲート付きでツール計画を立てるポリシーエンジン。モデルが実行するすべてのコマンドを包む承認とエスカレーションの層。モデルから見える履歴は不可侵であり、書き換えてはならないというレビューで強制されるルール。Codex は、自分では決して目にしない多数のマシンのために作るプラットフォームチームのように読めます。

grok-build は手を伸ばす

grok-build はアーキテクチャとしてより野心的で、部分的には完成度が低めです。何も削らず、より遠くへ手を伸ばしました。マシン全体で動くリーダープロセスが、多数のウォームクライアントにAgent Client Protocol経由でサービスを提供します。これは台頭しつつあるベンダー横断の標準で、ここでは後付けではなく内部の通信路として使われています。プロバイダー非依存のサンプラーが3種類のモデルプロトコルにファンアウトするため、プロバイダーの追加はコードではなく設定で済みます。メモリは本格的なサブシステムで、過去のターンを grep するのではなく、検索用にインデックス化された Markdown ファイルです。構造的なナビゲーションのためのtree-sitterコードグラフと、実行をまたいで積み重なるセッションメモリも備えています。

これは、他人の環境の中で動き、どのモデルよりも長く生き残るよう設計されたツールのトポロジーです。codex が信頼できないマシンに備えるのと同じ形で、grok-build はロックインに備えています。

スコアカード

比較した20のサブシステム全体で、設計が優れているのは codex が11、互角が8、引き分けが1です。grok-build はどの軸でも完勝していませんが、その理由は率直なものです。codex は成熟した上流のプロダクトで、grok-build は v0.1 のアルファ版であり、それが表れています。

しかし、野心が報われるのは互角の8項目です。幅広いモデル対応、メモリ検索、エディタプロトコル、クラウド実行、正確なコスト計算はいずれも、より遠くへ手を伸ばしたことで本当に異なる、ときにはより良い答えが生まれた分野です。紙の上では11対0に見える集計も、実際には成熟と野心の競走の物語です。

11 項目で Codex が優位8 項目で grok-build が優位1 項目は完全に同点

サブシステム | 判定 | アーキテクチャ分析 |

サンドボックスと分離 | Codex | Codex は 3 OS(macOS/Linux/Windows)向けにソースからビルドしたサンドボックスを提供しています。grok-build は 2 OS に対応しています。 |

安全性とポリシーゲート | Codex | Codex はターンごとの機能ゲートとエスカレーション確認を適用します。grok-build の安全フックはフェイルオープンです。 |

モデルプロトコルの多重化 | 互角 | grok-build は OpenAI、Anthropic、xAI を明快に振り分けます。Codex は自社のワイヤ形式に固定されています。 |

Agent Client Protocol (ACP) | 互角 | grok-build は、ベンダーをまたぐクライアントとデーモンの構成に向けて、登場しつつある標準である ACP を採用しています。 |

メモリと状態の蓄積 | 互角 | grok-build は検索用に Markdown ファイルをインデックス化します。Codex は生のトランスクリプトを再生して圧縮します。 |

コードグラフと Tree-sitter | 互角 | grok-build は、リポジトリの構造マップ用にネイティブの Tree-sitter AST ナビゲーション crate を備えています。 |

スキルの相互運用性 | 互角 | grok-build は Claude と Cursor の SKILL.md フォルダーを手動で変換することなく利用できます。 |

スキルの深さと機能 | Codex | Codex のスキルは、ユニットテストスクリプトと UI メタデータを備えた完全な実行可能パッケージです。 |

ツールガバナンスのミドルウェア | Codex | Codex は実行を厳格なプラットフォームポリシーのガードと検証ミドルウェアで包んでいます。 |

トランスクリプトの完全性 | Codex | Codex は、再現可能な監査のために、不変で書き換えられないモデル履歴を保証します。 |

設定の堅牢化 | Codex | Codex は暗号署名鍵を組み込んでいます。grok-build の署名は v0.1 では機能しません。 |

ヘッドレス実行エンジン | Codex | Codex のヘッドレス CI ランナーは決定的で、実戦で鍛えられています。 |

コストとトークンの集計 | 互角 | grok-build は、複数のバックエンドにまたがるターンごとの正確なトークン台帳と金額台帳を保持します。 |

エディターサーバー連携 | 互角 | grok-build は ACP 言語サーバーとしてネイティブに統合されます。 |

エラー回復と継続 | Codex | Codex は高度なループ検出と自動サーキットブレーカーを備えています。 |

ターミナル UI(TUI)の安全性 | Codex | Codex の TUI は 100% 安全な Rust です。grok-build は生ポインタのキャストを使用しています。 |

リリースのパッケージングと可搬性 | 同点 | どちらも外部ランタイムを必要としない、単一の静的スタンドアロン Rust バイナリにコンパイルされます。 |

プロンプトの削減と圧縮 | Codex | Codex の積極的なコンテキスト圧縮は、推論の流れを保ちます。 |

クラウド実行ワイヤ | 互角 | grok-build のデーモン構成により、リモートのヘッドレスワーカーへのハンドオフが可能です。 |

テレメトリと可観測性 | Codex | Codex の構造化イベントトレースにより、エンドツーエンドのリプレイ検証が可能です。 |

スキル、メモリ、ツール

スキルについては、どちらも同じSKILL.md規約を採用し、段階的開示を行います。スキルが実際に開かれるまで、コンテキストには名前と説明だけが入ります。grok-build は相互運用性を重視し、Claude や Cursor のスキルディレクトリを無改変で読み込むため、既存のライブラリがそのまま動きます。codex は深さを重視し、スキルはスクリプト、参考資料、UI メタデータを含むフォルダであり、より豊かな能力の単位です。

メモリについては、codex は生のトランスクリプトを保持し、そこから再構築します。grok-build は、人間が編集できる Markdown を永続化し、検索用にインデックス化する専用の crate を動かしています。ツールについては、codex はツールをモデルから見える仕様と実行ランタイムに分け、その上にガバナンスミドルウェア一式を載せています。grok-build はツールを厳密な3 crate の契約としてモデル化し、きれいに分離されている一方、安全面の層は軽めです。同じパターンがあらゆる場所で繰り返されます。codex はより深いマシンを作り、grok-build はより持ち運びやすいマシンを作ります。

アルファ版の代償

grok-build が手を伸ばした分には代償が伴い、ソースを読むとそれが具体的に見えてきます。設定署名のサブシステムは2,000行のテストとともに出荷されていますが、公開鍵が組み込まれていないため、事実上機能していません。フックはフェイルオープンで、安全フックがクラッシュすると、静かに強制が止まります。サンドボックスは、codex が3つのプラットフォームをカバーするところ、2つにとどまります。ターミナル UI には、型システムではなく手作業で守られている unsafe なポインタキャストがあります。

アルファ版としてはいずれも致命的ではなく、その大半は、脅威モデルの検討が出荷済みの堅牢化を追い越している若いプロジェクトによくある特徴です。ただし、より完成度の高いものより先に、より野心的なものを作った代価でもあります。

機能しない設定署名セキュリティ上の欠陥

2,000行のテストフィクスチャがある一方、出荷バイナリには公開ルート鍵が1つも組み込まれていません。署名の強制は空虚に通過します。

フェイルオープンの安全フックポリシー上のリスク

外部のセキュリティ事前フックがパニックまたはクラッシュすると、ターンを中止せず、チェックなしで実行が続きます。

2 OS と 3 OS のサンドボックス対応範囲の差

macOS と Linux のみ対応。Windows の開発環境はサンドボックスなしで実行されます(Codex は AppContainer による分離を提供)。

安全でない TUI ポインタのキャストRust の不変条件

ターミナルイベント処理ループでの手動ポインタキャスト。借用チェッカーではなく、開発者の注意深さに依存しています。

私たちが気にする理由

Reason はエージェントハーネスを軸にした会社であり、世界最高水準の2つを内側から読むことは、単なる好奇心ではありません。得られる教訓は、私たちが何度も学び直しているものと同じです。モデルは借りるコモディティであり、ハーネスは自分で持つプロダクトです。Codex と grok-build は、そのハーネスがどうあるべきかについての2つの確かな賭けです。一方は引き算で安全、もう一方は足し算で持ち運びやすく、その差こそが勝負のすべてです。

この調査の進め方

両リポジトリをクローンし、ドキュメントや記憶ではなく、ソースから読みました。マルチエージェントのワークフローで、約100のアナリシスエージェントを展開しました。アーキテクチャのマッパー、20の観点にわたってリポジトリごとに1つずつ担当する40のサブシステムリーダー、20の直接比較担当、統合パネルで構成され、それぞれがスキーマ検証済みの分析を返しました。成熟度や優劣の判断は、ベンダーの主張ではなく、読み込んだコードに基づく判断です。対象は、grok-build が v0.1.220 アルファ、codex が現在の main です。