Почему это важно именно вам
Знакомая ситуация: сорок минут вы разбирали с Claude сложную ситуацию — цифры, документы, договорённости. И тут появляется побочная задача: «а посчитай ещё вот это, отдельно». Ставить её обычному субагенту бессмысленно: он начнёт с чистого листа и не будет знать ничего из того, что вы обсуждали. Пересказывать сорок минут — дольше, чем сделать самому.
Fork решает ровно это. Это субагент, который наследует весь разговор целиком: ту же историю, те же инструменты, тот же контекст. Вы отдаёте ему побочную задачу одной фразой — и продолжаете основную работу.
Что это такое
Обычный субагент изолирован от вашего разговора: он получает только текст задачи. Это хорошо для чистоты (в его контекст не попадает лишнее), но плохо, когда контекст и есть суть задачи.
Fork — противоположный компромисс. Он видит всю беседу до момента ответвления. При этом его собственная работа наружу не выливается: в ваш разговор возвращается только итог, а все промежуточные шаги остаются у него. Ваш контекст не засоряется.
Ключевое отличие в одной строке: обычный субагент экономит контекст, fork экономит объяснения.
И вопреки интуиции, форк не всегда дороже: его системная часть совпадает с вашей, поэтому первый запрос переиспользует уже прогретый кэш разговора. Для задачи, которой нужен ваш контекст, форк выходит дешевле свежего субагента — тот греет свой кэш с нуля.
Режим fork включён по умолчанию в интерактивных сессиях. В неинтерактивном режиме (-p) и в Agent SDK — выключен, пока вы его не включите.
Как работает на практике
Ответвиться от разговора
/subtask посчитай отдельно по СПб те же показатели, что мы считали по Москве
Fork появится в панели под строкой ввода и будет работать в фоне. Когда закончит — результат придёт сообщением в основной разговор.
Команда называется /subtask начиная с версии 2.1.212. В более старых (2.1.161–2.1.211) она называлась /fork. В новых версиях /fork делает другое: копирует всю сессию в новую фоновую сессию.
Исключение: если выключен экран управления агентами (agent view), команды /subtask нет вовсе, а /fork работает по-старому — запускает форк. Сам режим форка выключается переменной CLAUDE_CODE_FORK_SUBAGENT=0 и включается значением 1 (это нужно, например, в скриптах, где он выключен по умолчанию).
Когда fork лучше обычного агента
Три типовые ситуации.
Побочный расчёт в середине разбора. Вы глубоко в контексте, нужен параллельный срез. Пересказывать — дороже, чем сделать fork.
Несколько подходов из одной точки. Вы дошли до развилки: можно решить задачу тремя способами. Запускаете три форка от одной точки и сравниваете результаты.
/subtask реши это первым способом — через пересчёт по договорам
/subtask реши это вторым способом — через выгрузку из системы
Проверка гипотезы без порчи основного хода. «А что если данные за июль неполные?» — форк проверяет, основная линия продолжается.
Наблюдать и направлять
Форк виден в панели под вводом. Оттуда можно посмотреть, что он делает, и вмешаться, если он пошёл не туда. Полный список задач — /tasks.
Fork видит всё, что видели вы
Это его сила и его риск. Если в разговоре были конфиденциальные данные, они уйдут и в форк. Обычно это не проблема (это ваша же сессия), но помните об этом, когда даёте форку задачу, результат которой пойдёт наружу.
Частые ошибки
Использовать fork там, где хватило бы обычного агента. Дорого не наследование само по себе, а лишний контекст в задаче, которой он не нужен. Если задача самодостаточна («проверь эту папку на дубли»), давайте обычного субагента.
Форкать в самом начале разговора. Наследовать нечего — вы получите обычного агента с лишними накладными расходами.
Ждать, что форк продолжит вашу работу в основном файле. Это отдельная линия. Её результат возвращается текстом, а не автоматически применяется к тому, что вы делаете.
Запускать десять форков. Каждый несёт полную копию контекста и работает как отдельная задача — расход растёт кратно. Два-три параллельных сравнения — разумно, десять — уже трата.
Забыть, что в скриптах fork выключен. В -p-режиме и в SDK режим форка по умолчанию отключён: там вы получите обычного изолированного агента, если явно не включите.
Когда нужно / когда нет
Fork уместен:
- побочная задача в середине глубокого разбора;
- параллельная проверка нескольких подходов из одной точки;
- «а что если» — гипотеза, которую жалко проверять в основной линии.
Не уместен:
- задача не зависит от текущего разговора;
- контекст ещё не накоплен;
- нужна экономия — там, где обычный агент справится.
Связь с другими уроками
День 71 — фоновые агенты. Fork — их частный случай с наследованием контекста.
День 19 — компакция. Форки помогают держать основной контекст чистым: тяжёлая работа уходит в ветку, обратно приходит только итог.
День 74 — workflow. Когда веток нужно не три, а тридцать, ручные форки перестают справляться — там начинается оркестрация скриптом.
Задание на сегодня
- Дождитесь момента, когда вы глубоко в контексте (полчаса разбора реальной задачи).
- Запустите
/subtaskс побочным вопросом, который иначе потребовал бы пересказа. - Продолжайте основную работу, пока форк считает.
- Когда результат придёт — оцените, сколько времени вы сэкономили на пересказе контекста.
- Попробуйте два форка от одной точки с разными подходами к одной задаче и сравните ответы.
Критерий «выполнено»: вы получили результат побочной задачи, не объясняя контекст заново и не прерывая основную работу.
Резюме
- Fork — субагент, наследующий весь разговор: ту же историю, инструменты и модель.
- Запускается
/subtask <задача>; в версиях 2.1.161–2.1.211 команда называлась/fork. - Промежуточные шаги форка не засоряют ваш контекст — возвращается только итог.
- Главное применение: побочные задачи в середине глубокого разбора и параллельная проверка нескольких подходов.
- Форк переиспользует кэш вашего разговора, поэтому для задачи, которой нужен этот контекст, он дешевле обычного субагента; для самодостаточной задачи — наоборот, лишний вес.
- В интерактивных сессиях режим включён по умолчанию, в
-pи Agent SDK — выключен.