Параллельные сессии Claude Code: разделение задач и handoff

Два конкретных сценария Claude Code: как развести правки по worktree, запустить независимые сессии, не столкнуть их в одном файле и передать проверяемый handoff.

Представим обычный рабочий день. В репозитории нужно выполнить две независимые задачи:

  1. исправить падение CSV-импорта на пустом поле amount;
  2. добавить флаг --dry-run в CLI.

Первая задача затрагивает parser/ и тесты импорта, вторая — cmd/ и тесты CLI. Их можно выполнять параллельно в двух независимых сессиях Claude Code. Но если обе задачи требуют правки parser/schema.ts, параллельный запуск отмените: назначьте файлу одного ответственного, завершите первую правку и только затем передавайте работу дальше.

Ниже — пошаговый протокол для безопасной параллельной работы через Git worktree и проверяемый handoff.

1. Разложите две задачи по файлам и проверкам

До запуска сессий заполните по одной строке на каждую задачу:

ЗадачаРазрешённые файлыГотово, когда
Пустой amountparser/, tests/import/целевой тест возвращает validation error вместо падения
Флаг --dry-runcmd/, tests/cli/команда показывает план импорта и не записывает данные

Если обе задачи претендуют на один и тот же файл или схему, параллельный запуск приведёт к конфликту правок, который агент сам по себе не разрешит.

2. Создайте по worktree и запустите сессии

Проверьте текущее состояние рабочей директории:

git status --short

Убедитесь, что нет незафиксированных чужих изменений. Затем создайте две изолированные директории и ветки:

git worktree add ../project-fix-empty-amount -b fix/empty-amount git worktree add ../project-cli-dry-run -b feat/cli-dry-run

Откройте два отдельных окна или вкладки терминала и запустите Claude Code в каждой директории:

Терминал 1 (исправление импорта):

cd ../project-fix-empty-amount claude

Терминал 2 (флаг dry-run):

cd ../project-cli-dry-run claude

Worktree изолирует файлы и ветки на диске; сессия Claude Code изолирует историю диалога и контекст; фоновые тесты изолируют только время исполнения. Разделение работает только при соблюдении всех трёх границ.

3. Задайте каждой сессии точные границы

В первом терминале передайте узкий prompt:

Исправь падение CSV-импорта, когда поле amount пустое. Работай только в parser/ и tests/import/. Публичный формат CSV не меняй. Сначала воспроизведи ошибку целевым тестом, затем внеси минимальную правку и повтори тот же тест. В конце покажи изменённые файлы и точную команду проверки.

Во втором терминале передайте prompt для второй задачи:

Добавь в CLI флаг --dry-run для импорта. Работай только в cmd/ и tests/cli/; parser/ не меняй. В режиме dry-run данные не должны записываться. Добавь целевой тест и укажи команду, которой проверен результат.

Если вторая сессия обнаружит, что без изменения parser/schema.ts флаг добавить нельзя, она должна остановиться и зафиксировать блокер, а не менять общий файл самостоятельно.

4. Зафиксируйте и передайте проверяемый handoff

Когда первая сессия завершила задачу, проверьте состояние в её worktree:

git status --short git diff --check npm test -- tests/import/empty-amount.test.ts

Сохраните не историю чата, а фактическое состояние задачи:

Задача: пустой amount должен возвращать validation error без падения. Worktree / ветка: ../project-fix-empty-amount / fix/empty-amount Изменены: parser/amount.ts, tests/import/empty-amount.test.ts Проверка: npm test -- tests/import/empty-amount.test.ts -> passed Не проверено: сквозной интеграционный импорт всей базы Блокер: нет Следующий шаг: проверить diff и запустить тесты parser/ перед merge в main

5. Как следующая сессия восстанавливает контекст из handoff

Следующая сессия или проверяющий инженер не читает предыдущий лог переписки. Восстановление выполняется по действию:

  1. Перейдите в нужный каталог: cd ../project-fix-empty-amount.
  2. Проверьте список изменённых файлов: git status --short.
  3. Повторите записанную команду: npm test -- tests/import/empty-amount.test.ts.
  4. Если тест прошёл и расхождений в файлах нет, переходите к шагу из поля «Следующий шаг».

Если команда проверки не воспроизводится или файлы не совпадают, задача считается «не проверенной», даже если diff выглядит убедительно.

6. Что делать при пересечении файлов

Если обе ветки изменили один общий файл (например, parser/schema.ts), не пытайтесь автоматически слить их третьей сессией. Выберите одного ответственного:

  1. ответственный изучает оба diff;
  2. переносит изменение второй ветки в основную;
  3. разрешает конфликт по ожидаемому поведению системы;
  4. запускает оба теста: тест пустого amount и тест --dry-run;
  5. готовит итоговый merge.

Параллельные сессии полезны тем, что позволяют не блокировать работу над независимой задачей, пока в другой ветке идёт долгий запуск тестов или ожидание ревью. Но они не ускоряют саму разработку и не заменяют ручное разрешение конфликтов при пересечении файлов.

7. Безопасность: не передавайте секреты в handoff

В карточку handoff запрещено помещать API Key, токены, cookie, содержимое файлов .env, пароли и полные чувствительные логи. Для фиксации ошибки внешнего вызова достаточно времени запроса, HTTP-статуса, безопасного request ID и имени переменной окружения без значения.

Если Claude Code работает через внешний API-провайдер, каждая сессия получает ключи через системные переменные окружения или секрет-менеджер. BetterToken предоставляет Anthropic-compatible API-доступ для Claude Code с собственным аккаунтом и API Key; это не подписка Claude.ai и не общий аккаунт. Сверьте актуальную инструкцию BetterToken для Claude Code, создайте ключ в личном кабинете и используйте его через переменные окружения, не вставляя в handoff.

Чек-лист перед merge

Перед слиянием веток проверьте четыре пункта:

  • Зафиксирован список изменённых файлов и проверен diff.
  • Выполнен и задокументирован узкий целевой тест.
  • Обозначены непроверенные области и риски.
  • В карточке handoff и коммитах отсутствуют API Key и секреты.

Если handoff заполняется за одну минуту, а другая сессия повторяет проверку без чтения чужой переписки — изоляция задач выполнена правильно.

Готовы оптимизировать LLM workflow?

Подключите единый API, управляйте ключами и контролируйте расходы на AI-модели в BetterToken.