生成AIの活用ノウハウや、 注目の技術に関する記事を掲載
公開
更新

Codex CLIの/sideと/forkは何が違う? 会話を分岐して別案を比較する方法

はじめに

Codex CLIに実装を依頼している途中で、採用予定のライブラリだけを調べたくなったり、現在とは異なる設計方針を比較したくなったりすることがあります。このような確認を同じチャットへ続けて入力すると、当初の目的と一時的な調査が混在し、どの方針で作業を進めていたのか分かりにくくなります。
Codex CLIには、この問題に対応する/sideと/forkがあります。どちらも現在の会話を起点に別の方向へ進む機能ですが、前者は一時的な調査、後者は独立した別案の検討に適しています。
本記事では、FastAPIの認証方式を検討する小さなデモを使い、両コマンドの違いと使い分けを紹介します。認証方式の実装方法そのものではなく、Codexとの会話をどのように分けるかが主題です。
CodexアプリやWindows環境から利用を始める方法は、以下の記事で紹介しています。

生成AI関連
Windowsで始めるCodexアプリ入門

なお、本記事は2026年7月時点の公式情報とCodex CLI 0.145.0で確認した内容に基づいています。Codexは更新頻度が高いため、実際の画面や操作方法が変わっている場合は、最新の公式ドキュメントも確認してください。

メインチャットから一時調査と独立した別案へ分岐するsideとforkの全体像

メインチャットから一時調査と独立した別案へ分岐する、sideとforkの全体像

/sideと/forkの違い

OpenAIのDeveloper commandsでは、/sideは現在のチャットから一時的な分岐を開始するコマンド、/forkは現在のチャットを新しいIDのチャットへ複製するコマンドとして説明されています。
先に使い分けを整理すると、次のようになります。

観点 /side /fork
主な目的 本筋に戻る前提の質問や調査 別方針を独立して検討する
作成される会話 親チャットに付随する一時的なside chat 新しいIDを持つ独立したチャット
履歴 親チャットとは別のトランスクリプト 分岐時点までの履歴を複製する
親チャット side mode中も状態を確認できる 元の履歴を変更せず残す
適した例 ライブラリ調査、仕様確認、エラー原因の確認 別設計、別の修正方針、長く続ける比較案

短く表現すると、/sideは「質問の分岐」、/forkは「作業方針の分岐」です。どちらを使うかは、確認後に元の作業へ戻るのか、別案としてそのまま進めるのかで判断できます。
なお、ChatGPT Webの入力欄にもスラッシュで始まる操作がありますが、同じコマンド体系ではありません。公式リファレンスでも、ChatGPT Web、デスクトップアプリ、Codex CLIのコマンドは区別されています。本記事で扱うのはCodex CLIのターミナルUIです。

共通デモを準備する

今回使用するのは、GET /healthとGET /meだけを持つFastAPIアプリです。初期状態の/meには認証がなく、固定のデモユーザーを返します。このエンドポイントを保護する方法について、JWT認証とサーバー側セッション認証の2案を比較します。
まず、メインチャットへ次の依頼を入力します。この時点ではファイルを変更させず、後から同じ前提で別案を比較できるようにします。

text

このFastAPIサンプルの /me をJWT認証で保護する方針を検討してください。
現状のコードとテストを確認し、まだファイルは変更せず、
実装計画・変更対象・テスト観点を示してください。

FastAPIの認証追加を依頼し、JWT案の実装計画を確認しているCodex CLIの画面

FastAPIの認証追加を依頼し、JWT案の実装計画を確認しているメインチャット

この依頼では、JWTの発行・検証、/meの保護、正常系と異常系のテストといった観点が計画として挙がります。一方、SPAがトークンをどこへ保存するかは、バックエンドの変更計画とは分けて確認したい論点です。そこで/sideを使います。

/sideで本筋を保ったまま調査する

メインチャットから次のように入力します。/sideの後ろに質問を続けると、side chatの開始と質問の送信を一度に行えます。

text

/side このAPIをSPAから使う前提で、JWTをlocalStorageに保存する場合のリスクと代替案を整理してください。コードは変更しないでください。

公式ドキュメントでは、side mode中もターミナルUIに親チャットの状態が表示されると説明されています。そのため、メインの作業を保持したまま、焦点を絞った調査を別の履歴として進められます。

JWTの保存方法に関するリスクをside chatで確認しているCodex CLIの画面

メインチャットを保持したまま、JWTの保存方法に関するリスクをside chatで確認している画面

この質問では、ブラウザのJavaScriptから読み取れる保存領域に認証情報を置く場合のリスクや、HttpOnly属性を付けたCookieを使う案などが検討対象になります。MDNのSet-Cookieリファレンスでは、HttpOnlyはJavaScriptからCookieへアクセスできないようにする属性、SameSiteはクロスサイトリクエストでCookieを送る条件を制御する属性として説明されています。
ただし、Cookieへ変更すれば認証設計が自動的に安全になるわけではありません。CSRF対策、CORS、Cookieの有効期限、失効方法なども含めて判断する必要があります。本記事のside chatは、実装を確定するのではなく、メインの計画で考慮すべき論点を抽出するために使います。
調査が終わったら、画面の案内に従って親チャットへ戻ります。side chatは親チャットと別のトランスクリプトとして扱われるため、採用する結論は戻った後に明示しておくと確実です。たとえば、次のように伝えます。

text

寄り道調査では、ブラウザ側の保存方法、XSS対策、CSRF対策を
認証方式と合わせて検討する必要があると分かりました。
この前提をJWT案の計画に反映してください。まだ実装しないでください。

side chatから戻り、調査結果をメインチャットへ反映しているCodex CLIの画面

side chatを終え、調査結果の要点を伝えて元のメインチャットを再開した画面

/sideは一時的な調査に適していますが、side chatの中からさらに/sideを開始することはできません。また、公式ドキュメントではreview mode中も利用できないとされています。調査が独立した作業へ発展した場合は、次に紹介する/forkの方が適しています。

/forkで別の設計方針を検討する

JWT案の実装計画が整理できた地点で、次のコマンドを実行します。

text

/fork

/forkを実行すると、分岐時点までの会話を引き継いだ新しいチャットが作成されます。元のチャットはそのまま残るため、共通の要件や調査済みのファイルを一から説明し直すことなく、別方針へ進めます。
分岐先では、次の依頼を入力します。

text

この分岐ではJWTを採用せず、サーバー側セッション認証を使う案に切り替えてください。
ファイルは変更せず、元のJWT案と同じ観点で
実装計画・変更対象・テスト観点を示してください。

現在の会話をforkし、セッション認証案を検討しているCodex CLIの画面

同じ会話履歴から独立したチャットを作り、セッション認証案の計画を比較している画面。左ターミナルがfork後、右ターミナルがfork前の回答

このデモでは、両方のチャットに同じ観点で計画を出させます。比較の軸を先にそろえることで、単に異なる回答を並べるのではなく、変更範囲や運用上の差を確認できます。

比較観点 JWT案で確認すること サーバー側セッション案で確認すること
認証状態 トークンの発行、検証、期限 セッションIDとサーバー側状態の対応
失効 期限、更新、強制失効の設計 セッションストアからの削除
クライアント トークンの受け渡しと保存 Cookie属性と送信条件
サーバー 署名鍵と検証処理 セッションストアとCookie処理
テスト 無効署名、期限切れ、権限不足 無効セッション、期限切れ、失効後アクセス

ここで重要なのは、/forkが複製する対象はチャットであることです。公式説明は、新しいIDのチャットを作り、元のトランスクリプトを変更せず残す機能としています。CLIの同じ作業ディレクトリで両方のチャットにファイルを変更させれば、会話が分かれていても作業ファイルは競合する可能性があります。
そのため、本記事では設計と実装計画の比較までに留めています。両案を実装して比較する場合は、Git branchやgit worktreeで作業ディレクトリも分離してください。会話の分岐とファイルの分離は、別の仕組みとして考える必要があります。
なお、現在開いているチャットではなく、保存済みのセッションを分岐したい場合は、ターミナルからcodex forkを実行してセッション選択画面を開けます。直近のセッションを直接分岐する場合はcodex fork –lastを利用できます。

codex forkコマンドを実行した直後の画面

codex forkコマンドを実行した直後の画面

どちらを選ぶか

一時的な確認にはside、別方針の継続にはforkを選ぶ判断フロー

一時的な確認にはside、別方針の継続にはforkを選ぶ判断フロー

判断基準は、調査後にどこへ戻るかです。

状況 選ぶ機能 理由
ライブラリの仕様だけ確認したい /side 確認後に元の作業へ戻るため
エラーの原因候補を一時的に調べたい /side 調査履歴を本筋から分けられるため
最小修正案とリファクタリング案を比較したい /fork 各方針を独立した会話として継続するため
同じ要件から異なる設計を検討したい /fork 分岐時点までの前提を引き継げるため
複数案を実際に並行実装したい /forkとGitの分離 会話と作業ファイルの両方を分ける必要があるため

迷った場合は、「回答を得たら元の作業へ戻るか」を基準にできます。戻るのであれば/side、別案として継続するのであれば/forkが適しています。

まとめ

/sideと/forkは、どちらも現在の会話を起点に別の方向を検討するための機能ですが、用途は異なります。

  • /sideは、一時的な質問や調査を親チャットと分けるために使う
  • /forkは、同じ前提から別の作業方針を独立して進めるために使う
  • side chatの結論を採用するときは、親チャットへ戻った後に要点を明示する
  • forkは会話を分岐する機能であり、並行実装ではGitによるファイルの分離も検討する

Codex CLIを長く使うほど、実装以外の疑問や別案は増えていきます。すべてを1つの会話へ追加するのではなく、一時調査と独立した別案を分けることで、メインチャットの目的を維持しやすくなります。

生成AI活用支援サービスのご紹介

Tech Funでは、お客様のフェーズに合わせ、生成AI活用に向けた様々な支援をご提供しています。

  1. 無料診断パック:業務・プロセスの現状を無料で診断し、生成AI活用の可能性をレポートします。
  2. 検証(PoC)パック:診断で有効性が確認された業務を対象に、プロトタイプ構築を支援します。
  3. コンサルティングサービス:生成AI導入戦略の策定から運用体制構築までを包括的に支援します。
  4. Plain RAG:社内文書をもとに回答し、社内問い合わせを効率化するAIチャットパッケージです。

生成AIに限らず、Web・業務システム開発やインフラ設計など、技術領域を問わずご相談を承っています。「何から始めれば良いか分からない」という段階でも構いませんので、ぜひお気軽にお問い合わせください。

執筆・編集

Tech Fun Magazine R&Dチーム
Tech Funの生成AI研究に携わるエンジニアが、最新のAIモデル動向やプロンプト設計、実業務への応用手法など、生成AIに特化した知見を執筆・編集しています。
モデル評価や業務シナリオに応じたAI活用設計など、日々のR&D活動で得られる実践的なノウハウをわかりやすく紹介します。

ARTICLE
生成AI関連記事一覧

生成AI関連

Amazon Bedrock Managed Knowled…

生成AI関連

Google Sheets canvasはどこまで業務アプリ…

生成AI関連

Amazon BedrockのRerank APIで検索順位…

生成AI関連

OpenAI Agents APIとは?本番運用に必要な5つ…

生成AI関連

Codex App Serverとは?Pythonでの使い方…

生成AI関連

Amazon Bedrockの基盤モデルパーサーを実測する―…

生成AI関連

ChatGPT WorkのScheduled TasksをW…

生成AI関連

Amazon Bedrock Knowledge Bases…

生成AI関連

ChatGPTのChat・Work・Codexの違い|5時間…

記事一覧を見る