Рабочий процесс

Как передать задачу из Claude Code в Codex, не потеряв контекст

Лимит Claude закончился на середине рефакторинга, или вам нужно второе мнение. Вот что должно попасть к следующему агенту, и три способа это передать.

Как передать задачу из Claude Code в Codex, не потеряв контекст

Короткий ответ

Ни один из агентов не загружает переписку другого, поэтому задача переносится через сводку: цель и ваша последняя инструкция, план, затронутые файлы и состояние 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 Code хранит переписки в JSONL в ~/.claude/projects/, и Codex их не загружает. Задача переносится через сводку: напишите её сами, сгенерируйте инструментом вроде hop или используйте приложение, которое собирает её при переключении.
Конфликтуют ли AGENTS.md и CLAUDE.md?
Нет, но по умолчанию Claude Code читает AGENTS.md, только если нет CLAUDE.md. Чтобы пользоваться одним файлом, держите правила в AGENTS.md и поставьте @AGENTS.md в начало CLAUDE.md. Codex читает AGENTS.md нативно.
Что делать, если лимит Claude закончился посреди задачи?
Закоммитьте или уберите в stash незавершённую работу, а затем передайте задачу другому агенту со сводкой, где есть план, затронутые файлы, состояние git и ваша последняя инструкция. Инструментам, которые читают файлы сессий, например hop или передаче в Maude, ответ Claude не нужен. Когда лимит сбросится, можно переключиться обратно.
Потеряю ли я незакоммиченные изменения при смене агента?
Нет. Файлы остаются на диске, а новый агент работает в той же папке. Если сначала закоммитить в ветку или выполнить git stash create, у вас будет фиксированная точка для сравнения, если следующий агент что-то испортит.

Управляйте агентами с телефона

Maude запускает Claude Code, Codex, OpenCode, Grok Build и Antigravity на вашем собственном сервере — 7 дней бесплатно на iPhone, iPad и Android.

Download Maude on the App Store Get Maude on Google Play