タスクを失わずに Coding Agent やモデルを切り替える方法
構造化された handoff を使い、秘密を渡さず、焦点を絞った検証とともに Coding Agent やモデルへタスクを引き継ぎます。
複雑なエンジニアリング課題に取り組むとき、開発者は Coding Agent を切り替えることがあります。たとえば Claude Code でアーキテクチャ設計を始め、その後にアルゴリズムのリファクタリングやテスト生成を Codex や別のモデルに試させる場合です。しかし、古い会話ログをそのまま新しい Agent に渡すと、古くなった仮説でコンテキストが埋まり、Token と時間を無駄にします。
モデルの切り替えが有効なのは、無制限のチャット履歴を移すのではなく、形式化された持ち運び可能な handoff カードと、焦点を絞った検証手順に基づく場合だけです。
1. 切り替えの比較:モデル、ツール、API プロバイダー
根本的に異なる次の 3 つを混同しないでください。
2. シナリオ別のツール選択
現在のタスク要件に応じて最適な方法を選びます。
- 選択肢 1(Claude Code):コードベースを対話的に探索する場合、複数ファイルにまたがる複雑なアーキテクチャ・リファクタリングを行う場合、柔軟な shell ツールが必要な場合に適しています。
- 選択肢 2(Codex CLI / Custom Provider):決定的なテスト生成、OpenAI 互換の Responses API を介した直接実行、または準備済み diff に対する独立したセカンドオピニオンが必要な場合に適しています。
3. 持ち運び可能な handoff プロトコル
プロンプトを肥大化させずにタスク状態を確実に引き継ぐには、検証済みの事実だけを含む構造化された handoff カードを作成します。
Task Handoff: Database Connection Pool Limits
- Goal: Enforce max_connections=20 and add a 5s connection acquisition timeout.
- Current State: Branch
perf/db-pool-limitscreated; modifiedconfig/database.go. - Verified Progress: Test
go test ./config -run TestPoolLimitspasses. - Unresolved Blocker: Under
wrkload, pool exhaustion crashes without returning HTTP 503. - Target Check for Next Agent: Implement 503 error handling on pool timeout and verify with a test.
4. 段階的な切り替えと検証
別の Agent に作業を引き渡すときは、次の 5 手順に従います。
- 手順 1:Git の状態を保存する。 未コミットの変更を確認して退避します:
git status --short。続いて構造化された handoff カードを保存します。 - 手順 2:新しいセッションを開始する。 隔離された Git worktree またはクリーンなターミナルウィンドウで、二次 Agent を起動します。
- 手順 3:handoff カードだけを渡す。 新しい Agent には、古いチャット履歴を渡さず、タスクの目標と検証手順だけを渡します。
- 手順 4:焦点を絞った検証を実行する。 Agent に対象テストを実行させ、変更ファイルを確認させます:
git diff --check。 - 手順 5:観測可能な出力で判断する。 二次モデルがブロッカーをきれいに解決したら、そのブランチで続行します。そうでなければ、回帰対応の負担なしに主セッションへ戻ります。
この方法はプロンプトの肥大化を防ぎ、モデル切り替えを客観的で測定可能なエンジニアリング実験に変えます。