Codexはループです。ファイルを編集し、コマンドを実行し、出力を読み取り、次に何をすべきかを決定します。では、なぜあなたのAPIテストはそのループに含まれないのでしょうか?それらはGUIの背後にあるApidogに置かれ、誰かがクリックすることを思い出したら実行されます。あなたのエージェントはそれらに触れることはありません。
解決策は、たった1つの設定ブロックです。Apidog CLIはnpmパッケージのapidog-cliであり、Apidogで作成したテストシナリオをターミナルから直接実行します。CLIがインストールされ、Codexがその存在を知れば、あなたのエージェントは単体テストを実行するのと同じ方法でApidogシナリオを実行します。コマンドを発行し、終了コードを読み取り、赤ならコードを修正します。
このガイドでは、一般的なインストールガイドがスキップするCodexに特化した部分を説明します。具体的には、AGENTS.mdに記述する正確な行、Codexに渡すプロンプト、Codexが自身のループ内でapidog runを実行する方法、そしてその結果を読み取る方法です。
まだCLIをインストールしていない場合は、まずそれを実行してください。AIコーディングエージェントでApidog CLIをインストールする方法では、npmのインストール、アクセストークン、そしてCodexがタイプ入力を行う最初の実行について詳しく説明しています。この記事は、apidog --versionが数値を出力し、Apidogアカウントが認証されていることを前提としています。
ここでいうCodexとは
OpenAI Codex CLIとCodex Appの両方です。これはローカルで動作し、リポジトリを読み取り、ファイルを編集し、サンドボックス内でシェルコマンドを実行し、許可モードに基づいて承認を求めます。これは古いCodexのコード補完APIではありません。codexを実行して、差分とコマンド出力を示す全画面インターフェースが表示されれば、あなたは正しい場所にいます。OpenAI Codex CLIガイドで基本を説明しています。
Codexにはプロジェクトのルールを学習する独自の方法があり、そのメカニズムにより、一度限りの「テストを実行する」が、Codexが自ら手を伸ばすものへと変わるため、この区別は重要です。そのメカニズムがAGENTS.mdです。
メカニズム: チャットリマインダーではなくAGENTS.md
Codexは作業を開始する前にAGENTS.mdファイルを読み取ります。これは、Claude CodeにおけるCLAUDE.mdのようなものと考えてください。Codexがセッション開始時にコンテキストに読み込む、プロジェクトの指示が書かれたプレーンなMarkdownファイルです。Gitルートから現在のディレクトリまでをたどり、各AGENTS.mdをルートから順に連結して指示セットを構築するため、より近いファイルが競合時に優先されます。また、グローバルな~/.codex/AGENTS.mdもあります。私たちの目的には、リポジトリのルートにある1つのファイルで十分です。
これが、チャットで言及するのではなく、CLIをAGENTS.mdに記述する理由です。チャットに入力されたシナリオIDはセッションが終了すると消えてしまいます。AGENTS.mdにあるものは、これ以降のすべてのチームメイトとすべてのCodex実行で利用可能です。
ステップ1: Codexにプロンプトを与え、実行を見る
ブロックが配置されたら、リポジトリでCodexを開始します。
Codexは起動時にAGENTS.mdを読み込むため、CLIの存在をすでに知っています。APIに影響を与える変更を加えるか、チェックの実行を依頼してください。

CodexはAGENTS.mdからapidog runコマンドを発行します。デフォルトの自動モードでは、ファイルを読み取り、編集し、作業ディレクトリ内でコマンドを自律的に実行できるため、単なるapidog runは通常、プロンプトなしで実行されます。-r cliレポーターは、各リクエストとアサーションのステップバイステップの結果と概要をターミナルに直接出力し、発生と同時にそれらを確認できます。
実行が進行し、Codexが概要と終了コードの両方を報告するのを見たいでしょう。許可モードが読み取り専用の場合、Codexは実行前に一時停止して尋ねてきます。承認するか、セッション内で/permissionsを使ってモードを変更してください。自動モードは賢明なデフォルトです。なぜなら、ステージングに対する読み取り専用のテストシナリオは、このモードが想定している安全なワークスペース内コマンドだからです。
ステップ2: Codex自身のループ内でのCodexテスト
重要なのは、あなたが要求するのをやめ、AGENTS.mdがそうするように指示したためにCodexが自律的にシナリオを実行したときに何が起こるかです。
Codexがチェックアウト応答を構築するハンドラーを編集していると想像してください。そのループは変わります。コードを編集し、その後、勝利を宣言する代わりに、ステージングに対してApidogシナリオを実行し、終了コードを読み取り、それに基づいて行動します。緑なら先に進みます。赤なら、レポートを開き、どのアサーションが失敗したか(ステータスコード、欠落したフィールド、間違った値)を読み取り、修正を試み、再実行します。APIテストは、Codexがすでに単体テストを実行しているのと同じ編集-テスト-修正ループの一部となります。あなたは1つの指示を記述し、Codexはそのコマンドを既存の動作に組み込みました。
これが、エージェントのワークフローを安全にする委任・検証モデルです。Codexはコマンドを実行し、結果を読み取ります。あなたはApidogで視覚的にシナリオを作成し続け、エージェントが終了コードを正直に読み取っていることをスポットチェックします。より広いパターンについては、APIテストにAIエージェントを使用する方法とApidog AIテストハーネスを参照してください。
Codexが実際にCLIを実行していることを確認する
エージェントは獲得していない成功を報告することがあり、Codexも例外ではありません。問題を発見する頻度順に3つのチェックがあります。
まず、コマンドが全く実行されたことを確認します。Codexインターフェースは、実行されたコマンドとその出力をインラインで表示します。文字通りのapidog run ...行とその下の結果を探してください。Codexがテストを実行したと言っているのにコマンドが表示されない場合、それは実行しなかった何かを要約しただけです。再度実行して生出力を表示するように依頼してください。
次に、重要な終了コードを確認します。
そのapidog runコマンドの終了コードは何でしたか?
apidog runは、すべてのアサーションが成功すると0を返し、何か失敗すると非ゼロを返します。この単一の動作により、Codexまたはパイプラインは実行をクリーンなゲートとして扱うことができます。Codexの文章が「テストに合格した」と言っているのに終了コードが非ゼロの場合、終了コードが正しいです。

3つ目は、実際のシナリオを使用したことを確認します。「シナリオが見つかりません」で実行が失敗した場合、CodexがIDを捏造したり、間違って記憶していたりする可能性があります。-tと-eの値をAGENTS.mdおよびApidogがCI/CDタブで生成したコマンドと再照合してください。AGENTS.mdのIDが真実です。
テストレポートの読み方
実行が赤信号になった場合、レポートが答えを持っています。-r cliを使用すると、Codexはターミナルで読み取り可能な内訳を取得します。各リクエスト、各アサーション、そしてどのリクエストが期待値と実際値で失敗したかを確認できます。失敗したアサーションは正確なフィールド名またはステータスコードを示し、これは通常、Codexが修正を見つけるのに十分です。
ブラウザで開いたり、チームメイトに渡したりできるレポートが必要な場合は、HTMLレポーターを追加してください。

htmlレポーターは、自己完結型のファイルを./apidog-reportsに書き込みます。cliをリストに残しておくことで、Codexは次のステップを決定するために読み取るインライン出力を引き続き取得できます。JUnit形式のCIダッシュボードが解析するすべてのフラグとレポーターについては、Apidog CLI完全ガイドとapidog runコマンドリファレンスを参照してください。
シェルコマンドよりも深く踏み込む2つの方法
AGENTS.mdからapidog runを実行すれば、ほとんどのニーズは満たされます。さらに深く踏み込むには2つの方法があります。
1つ目はMCPです。CodexはModel Context Protocolをサポートしており、codex mcp addでサーバーを追加するか、~/.codex/config.tomlを[mcp_servers.NAME]ブロックで編集することでサーバーを追加できます。Apidog MCPサーバーはMCPを介してAPI仕様を公開するため、Codexはコードを記述する際、事後ではなく、スキーマを読み取ることができます。CLIがテストを実行し、MCPがエージェントに仕様を提供します。
2つ目はcodex execです。単なるcodexがインタラクティブなインターフェースを開くのに対し、codex exec "..."はCodexを非インタラクティブに実行し、結果をstdoutにパイプします。これはスクリプトやCIで使うものです。Codexが存在しないパイプラインでapidog runを実行するには、GitHub ActionsにおけるApidog CLIでシークレット、レポーター、終了コードによるゲート処理について説明しています。
Codexが間違った場合
設定中に頻繁に発生するいくつかの失敗があります。
AGENTS.mdブロックを無視する。 Codexが一般的なコマンドを実行するか、全く実行しない場合、ブロックがロードされていない可能性があります。ファイル名が正確にAGENTS.mdであり、Gitルートまたは現在のディレクトリの親にあることを確認してください。ファイル名のタイプミスはCodexがそれを読み取らないことを意味します。セッションを再開すると、新しい読み取りが強制されます。
結局アクセストークンを渡す。 Codexが--access-tokenを追加しようとする場合、それは公開されている例から推測しているだけです。apidog loginを介してマシンが認証されているため、ブロックはすでにそれをしないように指示しています。その行を強調し、決して本物のトークンをAGENTS.mdに入れないでください。
フラグを捏造する。 「不明なオプション」エラーは、Codexがあなたのバージョンにはないフラグを推測したことを意味します。apidog run --helpを実行して、そこから正確なフラグをコピーするように指示してください。これはインストールされているバージョンに対して常に正しいです。
失敗した実行で成功を報告する。 最もコストのかかるものであり、AGENTS.mdと検証ステップに終了コードのルールがある理由です。概要と終了コードが一致しない場合、終了コードが正しいです。
日常のエージェントからテストされたループへ
これが設定です。インストールガイドに従ってapidog-cliを一度インストールし、リポジトリのAGENTS.mdに短いApidogブロックを追加すれば、Codexはコードの編集にすでに使用しているのと同じループ内でAPIテストを実行し、結果を読み取る方法を認識します。壊れたエンドポイントは、変更が出荷された後ではなく、Codexがまだ変更に取り組んでいる間に検出されます。
GUIの背後にあるテストは人間がクリックしたときに実行されますが、1行のコマンドはCodexが決定したときにいつでも実行されます。あなたはApidogで視覚的にシナリオを構築し続け、エージェントはあなたが監視していない場所でそれらを実行します。Apidogをダウンロードし、1つのシナリオを構築し、そのapidog runコマンドをAGENTS.mdにドロップすると、次の変更でCodexがそれを取り上げるのを見ることができます。
