For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

ベストプラクティス

Codex を使い始める方法と、より良い結果を得るための実証済みプラクティス

Codex やコーディングエージェントを初めて使う方でも、このガイドを通じて、より早く良い結果を得られます。このガイドでは、 CLIIDE 拡張機能ChatGPT デスクトップアプリ のすべてで Codex をより効果的に活用するための基本的な習慣を、プロンプトや計画から検証、MCP、スキル、スケジュール済みタスクまで幅広く説明します。

Codex は、一度きりのアシスタントではなく、時間をかけて設定・改善していくチームメイトとして扱うと、最も効果を発揮します。

次のように考えると分かりやすいでしょう。タスクに適したコンテキストから始め、永続的な指針には AGENTS.md を使い、ワークフローに合わせて Codex を構成し、MCP を使って外部システムに接続し、繰り返す作業をスキルに変え、安定したワークフローを自動化します。

最初から成果を出す方法:コンテキストとプロンプト

Codex はすでに十分高性能で、プロンプトが完璧でなくても役立ちます。最小限の準備で難しい問題を任せても、良い結果が得られることがよくあります。価値を得るために明確な プロンプト は必須ではありませんが、特に大規模なコードベースや重要度の高いタスクでは、結果の信頼性が高まります。

大規模または複雑なリポジトリで作業する場合、最大の効果をもたらすのは、タスクに適したコンテキストを Codex に与え、依頼内容を明確に整理することです。

通常は、プロンプトに次の 4 つを含めるとよいでしょう:

  • 目標: 何を変更または構築しようとしていますか?
  • コンテキスト: このタスクに関係するファイル、フォルダー、ドキュメント、例、エラーはどれですか?特定のファイルを @ メンションしてコンテキストとして指定できます。
  • 制約: Codex はどのような標準、アーキテクチャ、安全要件、規約に従うべきですか?
  • 完了条件: テストが通る、動作が変わる、バグが再現しなくなるなど、タスクを完了とみなすための条件は何ですか?

これにより、Codex がタスクの範囲を外れにくくなり、推測が減り、レビューしやすい成果物を生成できます。

タスクの難易度に応じて推論強度を選び、自分のワークフローに最適な設定を試してください。最適な設定は、ユーザーやタスクによって異なります。

  • 低:短時間で完了でき、範囲が明確なタスク向け
  • 中または高:より複雑な変更やデバッグ向け
  • 極高:長時間にわたり、エージェントによる処理と多くの推論を要するタスク向け

コンテキストをすばやく伝えるには、キーボードで入力する代わりに、ChatGPT デスクトップアプリ内の音声入力を使って、Codex にしてほしいことを伝えてみてください。

難しいタスクの事前計画

タスクが複雑、曖昧、またはうまく説明しにくい場合は、コーディングを始める前に計画を立てるよう Codex に依頼してください。

効果的な方法はいくつかあります:

プランモードの使用: 多くのユーザーにとって、最も簡単で効果的な選択肢です。プランモードでは、Codex がコンテキストを収集し、確認の質問をして、実装前により確かな計画を作成できます。 /plan または Shift+Tab で切り替えます。

Codex にヒアリングしてもらう: やりたいことの大まかなイメージはあっても、うまく説明できない場合は、まず Codex から質問してもらいます。コードを書く前に、自分の前提を問い直し、曖昧なアイデアを具体化するよう伝えてください。

PLANS.md テンプレートの使用: より高度なワークフローでは、長時間または複数ステップにわたる作業について、 PLANS.md または実行計画テンプレートに従うよう Codex を構成できます。詳しくは、 実行計画ガイド を参照してください。

AGENTS.md による指針の再利用

有効なプロンプトのパターンが見つかったら、次はそれを手作業で繰り返すのをやめます。そこで AGENTS.md が役立ちます。

AGENTS.md は、エージェント向けのオープン形式の README と考えてください。自動的にコンテキストへ読み込まれるため、自分やチームがリポジトリ内で Codex にどう作業してほしいかを記述するのに最適です。

適切な AGENTS.md には、次の内容が含まれます:

  • リポジトリの構成と重要なディレクトリ
  • プロジェクトの実行方法
  • ビルド、テスト、lint のコマンド
  • 開発規約と PR に求める事項
  • 制約と禁止事項
  • 完了の定義と作業の検証方法

CLI の /init スラッシュコマンドは、現在のディレクトリに初期版の AGENTS.md を生成するクイックスタートコマンドです。出発点として便利ですが、チームが実際にコードをビルド、テスト、レビュー、リリースする方法に合わせて、生成結果を編集してください。

AGENTS.md ファイルは階層ごとに作成できます。 ~/.codex に置く個人用デフォルトのグローバル AGENTS.md、共有標準を定めるリポジトリレベルのファイル、ローカルルールを定めるサブディレクトリ内のより具体的なファイルがあります。現在のディレクトリに近い階層に、より具体的なファイルがある場合は、その指針が優先されます。

実用性を重視してください。曖昧なルールを大量に含む長いファイルより、短く正確な AGENTS.md の方が役立ちます。まず基本事項から始め、同じミスが繰り返されることに気づいた場合にだけ、新しいルールを追加してください。

AGENTS.md が大きくなりすぎたら、メインファイルは簡潔に保ち、計画、コードレビュー、アーキテクチャなどについて、タスク別の Markdown ファイルを参照するようにします。

Codex が同じミスを 2 回したら、振り返りを依頼して、 AGENTS.md を更新してください。これにより、指針は実際に生じた問題に基づく実用的な内容に保たれます。

Codex の一貫性を高める構成

構成は、セッションや各種インターフェースをまたいで Codex の動作に一貫性を持たせる主な方法の 1 つです。たとえば、モデルの選択、推論強度、サンドボックスモード、承認ポリシー、プロファイル、MCP のセットアップにデフォルト値を設定できます。

最初は、次のように使い分けるとよいでしょう:

  • 個人用のデフォルト設定は ~/.codex/config.toml に保存(ChatGPT デスクトップアプリでは 設定 > 構成 > config.toml を開く
  • リポジトリ固有の動作は .codex/config.toml に保存
  • コマンドラインのオーバーライドは単発の状況にのみ使用(CLI を使用する場合)

config.toml では、MCP サーバー、マルチエージェント構成、機能フラグなど、継続的に使用する設定を定義します。プロファイル固有のオーバーライドは、個別の $CODEX_HOME/profile-name.config.toml ファイルに保存されます。

Codex には OS レベルのサンドボックス機能が組み込まれており、制御できる主要な設定が 2 つあります。承認モードでは Codex がコマンド実行の許可を求めるタイミングを決め、サンドボックスモードでは Codex がディレクトリを読み書きできるかどうかと、エージェントがアクセスできるファイルを決めます。

コーディングエージェントを初めて使う場合は、デフォルトの権限から始めてください。承認要件とサンドボックスの制限はデフォルトで厳格に保ち、必要性が明確になってから、信頼できるリポジトリや特定のワークフローに限って権限を緩和してください。

CLI、IDE 拡張機能、ChatGPT デスクトップアプリは、すべて同じ構成レイヤーを共有していることに注意してください。詳しくは、 設定例 ページを参照してください。

実際の環境に合わせて、早い段階で Codex を構成してください。品質上の問題の多くは、 実際にはセットアップの問題です。たとえば、作業ディレクトリの誤り、書き込み権限の不足、 モデルのデフォルト設定の誤り、必要なツールやコネクタの不足などです。

テストとレビューによる信頼性向上

Codex に変更を依頼するだけで終わらせないでください。必要に応じたテストの作成、関連するチェックの実行、結果の確認、作業を受け入れる前のレビューまで依頼してください。

Codex はこの一連の作業を代行できますが、そのためには「良い」状態の基準を把握している必要があります。その指針は、プロンプトまたは AGENTS.md で指定できます。

たとえば、次の作業です:

  • 変更に対応するテストの作成または更新
  • 適切なテストスイートの実行
  • lint、フォーマット、型チェックの確認
  • 最終的な動作が依頼内容と一致することの確認
  • バグ、リグレッション、リスクのあるパターンがないか差分をレビュー

ChatGPT デスクトップアプリで差分パネルの表示を切り替えると、ローカルで直接 変更内容を レビュー できます。特定の行をクリックして、 次の Codex のターンにコンテキストとして渡すフィードバックを入力できます。

ここで便利なのがスラッシュコマンド /review で、次のいくつかの方法でコードをレビューできます:

  • ベースブランチとの差分を PR 形式でレビュー
  • 未コミットの変更をレビュー
  • コミットをレビュー
  • カスタムのレビュー指示を使用

チームで code_review.md ファイルを用意して AGENTS.md から参照すれば、Codex はレビュー時にもその指示に従えます。リポジトリやコントリビューターが変わってもレビューの動作を一貫させたいチームに有効なパターンです。

Codex はコードを生成するだけではありません。適切に指示すれば、コードのテスト、チェック、レビューも支援できます。

GitHub Cloud を使用している場合は、PR のコードレビューを実行するよう Codex を設定できます。OpenAI では、Codex が PR の 100% をレビューしています。自動レビューを有効にすることも、@Codex をメンションしたときに Codex がレビューするよう設定することもできます。

外部コンテキストへの MCP の活用

Codex に必要なコンテキストがリポジトリの外部にある場合は、MCP を使用します。Codex を普段使っているツールやシステムに接続できるため、最新情報をプロンプトへ何度もコピー&ペーストする必要がなくなります。

Model Context Protocol(MCP)は、Codex を外部のツールやシステムに接続するためのオープン標準です。

次の場合は MCP を使用します:

  • 必要なコンテキストがリポジトリの外部にある
  • データが頻繁に変わる
  • 貼り付けた指示に頼るのではなく、Codex にツールを使用させたい
  • ユーザーやプロジェクトをまたいで再利用できる連携が必要

Codex は、OAuth 対応の STDIO サーバーと Streamable HTTP サーバーの両方をサポートしています。

ChatGPT デスクトップアプリで設定 > MCP サーバーを開くと、カスタムサーバーと推奨サーバーを確認できます。必要なサーバーのインストールは、多くの場合 Codex に任せられます。Codex に依頼するだけです。また、CLI では codex mcp add コマンドを使い、名前、URL、その他の詳細を指定してカスタムサーバーを追加できます。

実際のワークフローに役立つ場合にのみ、ツールを追加してください。最初から 使用しているすべてのツールを接続しないでください。まず、すでに頻繁に繰り返している 手作業を確実に省ける 1~2 個のツールから始め、その後で拡張してください。

反復可能な作業のスキル化

ワークフローを繰り返し実行できるようになったら、長いプロンプトや繰り返しのやり取りに頼るのはやめます。スキルを使って、SKILL.md ファイル内の指示、コンテキスト、Codex が一貫して適用すべき補助ロジックをパッケージ化します。スキルは、CLI、IDE 拡張機能、ChatGPT デスクトップアプリのいずれでも利用できます。

各スキルの対象は 1 つの作業に絞ります。まず 2~3 件の具体的なユースケースを用意し、入力と出力を明確に定義します。説明にはスキルの機能と使用する場面を記載し、ユーザーが実際に使いそうなトリガーフレーズも含めます。

最初からすべてのエッジケースを網羅しようとしないでください。まず代表的なタスクを 1 つ選び、適切に動くまで調整します。その後でワークフローをスキル化し、さらに改善していきます。信頼性の向上につながる場合にのみ、スクリプトや追加アセットを含めてください。

同じプロンプトを繰り返し使ったり、同じワークフローを何度も修正したりしているなら、その作業はスキル化するのがよいでしょう。

スキルは、特に次のような反復作業に役立ちます:

  • ログのトリアージ
  • リリースノートの下書き
  • チェックリストに基づく PR レビュー
  • 移行計画
  • テレメトリまたはインシデントの要約
  • 標準的なデバッグフロー

スキルの初版のひな形を作るなら、まず $skill-creator スキルを使うのが最適です。改善を重ねる間は、初版をローカルに置いてください。広く共有できる状態になったら、プラグインとしてパッケージ化します。スキルで特に重要な要素の 1 つが説明です。説明には、スキルの機能と使用する場面を記載します。

個人用スキルは $HOME/.agents/skills に保存され、チーム共有のスキルは リポジトリ内の .agents/skills にチェックインできます。これは特に 新しいチームメンバーのオンボーディングに役立ちます。

反復作業へのスケジュール済みタスクの活用

ワークフローが安定したら、Codex によるバックグラウンド実行をスケジュールできます。ChatGPT デスクトップアプリのスケジュール済みタスクでは、繰り返し実行する作業について、プロジェクト、プロンプト、実行頻度、実行環境を選択できます。

スケジュール済みタスクは、スケジュール済みページで作成します。プロジェクト、プロンプト、 実行頻度を選び、タスクを専用の Git Worktree とローカル 環境のどちらで実行するかも指定します。プロンプトからスキルを呼び出すこともできます。詳しくは、 Git Worktreeをご覧ください。

適している例は次のとおりです:

  • 最近のコミットの要約
  • バグの可能性がある箇所のスキャン
  • リリースノートの下書き
  • CI 失敗の確認
  • スタンドアップ用の要約作成
  • 反復可能な分析ワークフローの定期実行

スキルで実行方法を定義し、スケジュール済みタスクで実行スケジュールを定義する、と考えるとわかりやすいでしょう。ワークフローにまだ多くの指示が必要なら、まずスキルにします。安定して予測どおりに動くようになったら、スケジュールを設定することで時間を節約できます。

スケジュール済みタスクは、単なる実行だけでなく、振り返りやメンテナンスにも活用してください。 最近のチャットを確認し、繰り返し発生する問題点を要約して、プロンプトや指示、 ワークフローの設定を継続的に改善します。

長期にわたるチャットの整理

チャットには時間とともにコンテキスト、意思決定、アクションが蓄積されるため、適切な管理が品質を大きく左右します。

ChatGPT デスクトップアプリでは、チャットのピン留めと Worktree の作成ができます。 CLI を使用する場合は、次のスラッシュコマンドが特に便利です:

  • /experimental で実験的機能の有効/無効を切り替え、その設定を config.toml に追加
  • /resume で保存済みのチャットを再開
  • /fork で元のトランスクリプトを保持したまま、新しいチャットを作成
  • /compact は、チャットが長くなり、以前のコンテキストを要約した内容が必要な場合に使用。Codex はチャットを自動的にコンパクションすることもあります
  • /agent は、複数のエージェントを並行実行していて、アクティブなエージェントスレッドを切り替える場合に使用
  • /theme でシンタックスハイライトのテーマを選択
  • /apps で ChatGPT アプリを Codex 内から直接使用
  • /status で現在のセッション状態を確認

まとまりのある作業単位ごとに 1 つのチャットを使用します。作業がまだ同じ 問題の一部なら、推論の過程が維持されるため、同じチャットを使い続ける方が 適切なことが多いです。作業が実際に分岐するときにのみフォークしてください。

Codex のサブエージェントのワークフローを使い、 範囲を限定した作業をメインスレッドから切り出してサブエージェントに任せます。メインエージェントは 中核となる問題に集中させ、調査、テスト、トリアージなどのタスクにはサブエージェントを使用します。

よくある間違い

Codex を初めて使用するときに避けたい、よくある間違いをいくつか紹介します:

  • 長期的に使うルールを AGENTS.md やスキルに移さず、プロンプトに詰め込みすぎること
  • ビルドコマンドやテストコマンドの最適な実行方法を詳しく示さず、エージェントが自身の作業結果を確認できない状態にすること
  • 複数ステップからなる複雑なタスクで計画を省略すること
  • ワークフローを理解する前に、コンピューターへの全面的なアクセス権を Codex に与えること
  • Git Worktree を使わずに、同じファイル上で複数のタスクを実行すること
  • 手動で安定して実行できるようになる前に、定期タスクをスケジュールすること
  • 自分の作業と並行して活用せず、Codex の動きを一つひとつ監視する必要があるものとして扱うこと
  • まとまりのある成果ごとにチャットを分けず、プロジェクト全体を 1 つのチャットで進めること。これにより、時間の経過とともにコンテキストが肥大化し、結果の質が低下します