スキルの中でサブエージェントを呼ぶなら「新しいコンテキストで起動」と1文書く(Codex はフォークしがち)
サブエージェントの価値は親の会話を持ち込まないことにある。ところが Codex の一部モデルは、親の会話をフォークして(引き継いで)サブエージェントを起動することがある。レビューや実装を任せるスキルには「サブエージェントは新しいコンテキストウィンドウで起動する」と明記しておく。
どんな時に使う?
- コードレビューのスキルで、実装した本人の思い込みをレビュー役に持ち込ませたくない
- チケットごとに実装役を立てるスキル(implement-spec のようなもの)で、前のチケットの文脈が混ざるのを避けたい
- 同じスキルを Claude Code と Codex の両方で使っている
手順
- サブエージェントを起動するスキルを洗い出す(レビュー・設計案を複数出させる・調査を任せる・事実確認をさせる、など)
- 起動を指示する箇所に1文足す。mattpocock/skills での実例:
Both axes run as parallel sub-agents ... Start every sub-agent with a fresh context window.(code-review)Spawn 3+ sub-agents in parallel, each with a fresh context window.(設計案を複数出させるスキル)Spin up a background agent to do the research ... Start it with a fresh context window.(research)
- 使い回しもやめる: 「チケットごとに新しい実装役を立てる」「レビュー指摘の修正も新しい実装役に任せる」と書く(implement-spec の変更)
- 同じ方針をリポジトリの CLAUDE.md / AGENTS.md にも書いておくと、新しく足すスキルでも漏れない
注意点
- 何でも新しくすればよいわけではない。mattpocock も、マージ担当のサブエージェントは新しくしなくてよいと戻している。親の文脈が要る役かどうかで決める
- Claude Code ではフォーク型か通常型かを選べる。違いは Claude Code: スキルをサブエージェントで動かす2つの方法(context: fork / skills: 先読み)
- サブエージェントの effort も親から引き継がれる: Claude Code: サブエージェントの effort は環境変数かエージェント定義で下げ、/usage で確かめる ※モデル・料金
出典
- @mattpocockuk 2026-10-29(Codex がサブエージェントを親のフォークにしてしまう問題とスキル側の修正): @mattpocockuk · 2026-10-29
- mattpocock/skills のコミット「Start subagents with a fresh context window, not a fork」(#1341): github.com
- 同「implement-spec: a fresh implementer subagent per ticket」(#1342): github.com