Робочий процес
Як передати задачу з Claude Code в Codex, не втративши контекст
Ліміт Claude скінчився посеред рефакторингу, або вам потрібна друга думка. Ось що має потрапити до наступного агента, і три способи це передати.
Коротка відповідь
Жоден з агентів не завантажує листування іншого, тож задача переноситься через зведення: мета й ваша остання інструкція, план, змінені файли та стан git, а сам код лежить на диску. Тримайте спільні правила в AGENTS.md, закомітьте незавершену роботу або зробіть git stash create, а потім напишіть зведення самі, згенеруйте його інструментом на кшталт hop або дозвольте застосунку на кшталт Maude зібрати його під час перемикання.
Перемкнутися з Claude Code на Codex посеред задачі можна, не починаючи заново, але жоден агент сам не підхопить розмову іншого. Задачу переносить коротке зведення: мета, план, змінені файли, стан git і ваша остання інструкція плюс код на диску. Це зведення можна написати вручну, згенерувати невеликим інструментом або скористатися застосунком, який збере його за вас під час перемикання.
Навіщо передавати задачу між агентами
- Ви вперлися в ліміт. Це найчастіша причина. На тарифі Claude скінчилося використання посеред рефакторингу, а на тарифі ChatGPT ще є запас. Очікування скидання коштує годин, а новий старт у Codex — контексту.
- Друга думка. Один агент ходить по колу навколо бага. Інша модель, що читає той самий код із чистим контекстом, часто помічає те, що перша перестала бачити. Попросити одного агента переглянути diff іншого перед комітом теж недорого.
- Різні сильні сторони. Хтось використовує одного агента для планування, а іншого — для довгих механічних правок, або тримає одного для мови чи фреймворку, з якими він у них добре дає раду. Хто в чому кращий, змінюється з кожним релізом моделей, тож вважайте це своїм судженням, а не правилом.
Чи може Codex прочитати сесію Claude Code?
Сам по собі — ні. Обидва агенти зберігають повні листування в JSONL-файлах на диску. Claude Code пише їх у ~/.claude/projects/<project>/<session>.jsonl (документація Claude Code), а Codex — у датовані файли rollout-*.jsonl у ~/.codex/sessions/. Кожен відновлює власні сесії (claude --resume, codex resume), але жоден не описує завантаження чужих. Команда /import у Claude Code переносить конфігурацію іншого агента — файли інструкцій, MCP-сервери та skills. Розмову вона не переносить.
Можна вказати новому агенту на сирий файл листування. На практиці це погане зведення: він довгий, напханий виводом інструментів і ховає єдине, що потрібно новому агенту, — де ви зараз і що далі.
Який контекст треба передати
| Контекст | Чому це важливо | Звідки він береться |
|---|---|---|
| Мета й остання інструкція | Новий агент має знати, що означає «готово», і про що ви просили востаннє | Ваш останній запит, слово в слово |
| План / список задач | Не дає агенту заново планувати вже розплановану роботу | Список задач агента, що йде |
| Змінені файли | Підказує агенту, що прочитати перед правками | Правки в листуванні плюс git status |
| Стан git | Гілка, HEAD і незакомічені зміни. Без них новий агент може переробити роботу або закомітити поверх неї | git status, git diff --stat |
| Рішення й глухі кути | Щоб новий агент не повторював підхід, який уже провалився | Останні повідомлення або письмове резюме |
Угоди проєкту, як-от команди збирання й стиль коду, у зведенні взагалі не потрібні. Їм місце у файлах інструкцій, які обидва агенти й так читають.
Власними силами: спільні інструкції в AGENTS.md і CLAUDE.md
Codex збирає інструкції з файлів AGENTS.md — з ~/.codex/ і від кореня git до вашої робочої теки (документація Codex щодо AGENTS.md). Починаючи з v2.1.277 Claude Code теж читає AGENTS.md, але за замовчуванням лише тоді, коли в робочій теці чи вище немає CLAUDE.md або CLAUDE.local.md (документація Claude Code щодо пам'яті). Найпростіша схема, яку читають обидва агенти: тримайте спільні правила в AGENTS.md, а якщо потрібні правила лише для Claude, почніть CLAUDE.md з імпорту:
@AGENTS.md
## Claude Code
Use plan mode for changes under src/billing/.
У зворотний бік теж працює. Налаштування project_doc_fallback_filenames у ~/.codex/config.toml дає Codex змогу читати додаткові імена файлів, якщо AGENTS.md немає.
Власними силами: документ передачі та git
Перед перемиканням попросіть агента, що йде, написати зведення, поки контекст ще в нього, — якщо в нього лишилося використання:
Write HANDOFF.md for another coding agent taking over this task:
the goal, what is done, what is in progress or broken, decisions
and dead ends, files touched, and the exact next steps.
Don't change any other file.
Потім зробіть стан коду однозначним. Найзрозуміліший варіант — закомітити незавершену роботу в гілку. Якщо комітити не хочеться, git stash create записує незакомічені зміни відстежуваних файлів як об'єкт коміту, не чіпаючи робочу копію, — так у вас буде фіксована точка для порівняння, якщо наступний агент щось зіпсує. Запустіть іншого агента в тій самій теці й скажіть йому прочитати HANDOFF.md і перечитувати файли перед правками.
Інструменти, які це автоматизують
hop (MIT) робить це однією командою: hop codex — з Claude Code в Codex, hop cc — назад. Він читає файли сесій вихідного агента напряму, тож працює, навіть коли в того скінчилася квота. ! hop codex можна запустити просто із застряглої сесії Claude Code. Він пише документ передачі з вашими інструкціями, гілкою git і останніми повідомленнями в межах заданого обсягу (за замовчуванням 48 KB) і відкриває іншого агента в новій вкладці термінала. Схожі проєкти — cli-handoff і session-handoff.
| Підхід | Працює без квоти | Зусилля на перемикання | Переносить розмову |
|---|---|---|---|
| Лише спільний AGENTS.md | Так | Жодних, але переносить угоди, а не стан задачі | Ні |
| HANDOFF.md від агента + git | Лише якщо агент, що йде, ще відповідає | Один запит і коміт | У вигляді резюме |
| hop і схожі CLI | Так | Одна команда | Останні ходи, в межах обсягу |
| Застосунок із вбудованим перемиканням | Так | Один дотик | Залежить від застосунку |
Як передача працює в Maude
Maude запускає ваших агентів на вашому власному сервері, і сесія не прив'язана до одного агента. Поки сесія простоює, її можна перемкнути з телефона, скажімо, з Claude Code на Codex (або OpenCode, Grok Build, Antigravity). Демон на сервері збирає зведення з власного запису сесії, а не з резюме, написаного поспіхом:
- вступ, що повідомляє новому агенту, що він бере задачу, що джерело істини — файли на диску й що перед правками їх треба перечитати
- ваша остання інструкція, закріплена окремо
- поточний план або список задач
- змінені файли — за правками агента плюс файли, які git показує як змінені
- стан git: гілка, HEAD, короткий статус і diff stat. Незакомічена робота до того ж зберігається знімком через
git stash createі тримається під ref, не чіпаючи робочу копію - останні повідомлення дослівно, приблизно до 120 000 символів
- посилання на повне листування, експортоване в markdown до
.maude/handoff/усередині проєкту й виключене зgit status
Зведення ставиться перед вашим наступним повідомленням новому агенту, а в чаті з'являється роздільник, який можна розгорнути й прочитати, що саме було надіслано. Оскільки зведення збирається із запису сесії, воно не залежить від того, чи може відповісти агент, що йде, — а це найважливіше, коли він щойно вперся в ліміт.
Зворотне перемикання влаштоване інакше. Якщо агент, до якого ви повертаєтеся, уже працював у цій сесії й підтримує відновлення, Maude відновлює його власну розмову й надсилає лише те, що сталося за його відсутності. Другого повного зведення він не отримує.
Maude — не єдиний застосунок, який так уміє. Happier дає змогу змінити рушій посеред розмови й надає новому агенту інструменти для читання попереднього листування. AgentsRoom під час зміни постачальника збирає зведення зі змінених файлів, активності сесії та останньої відповіді. Компроміси ми порівнюємо у статті Maude і Happier. Яких агентів поєднувати, допоможе вирішити стаття Claude Code, Codex чи OpenCode.
Часті запитання
Чи може Codex прочитати сесію Claude Code?
~/.claude/projects/, і Codex їх не завантажує. Задача переноситься через зведення: напишіть його самі, згенеруйте інструментом на кшталт hop або скористайтеся застосунком, який збирає його під час перемикання.Чи конфліктують AGENTS.md і CLAUDE.md?
AGENTS.md, лише якщо немає CLAUDE.md. Щоб користуватися одним файлом, тримайте правила в AGENTS.md і поставте @AGENTS.md на початок CLAUDE.md. Codex читає AGENTS.md нативно.Що робити, якщо ліміт Claude скінчився посеред задачі?
Чи втрачу я незакомічені зміни, змінивши агента?
git stash create, у вас буде фіксована точка для порівняння, якщо наступний агент щось зіпсує.