Перейти к содержимому

Долгосрочные цели

Цель позволяет Kodik продолжать работу над устойчивой задачей после завершения отдельного ответа. Цель принадлежит chat-сессии и может запускать скрытые ходы продолжения, пока работа не завершена, не требует вашего участия или не достигла лимита.

Отправьте /goal <цель>:

/goal Перенести парсер пакетов и доказать совместимость

Kodik начнёт работу сразу. Отправленная формулировка останется в чате как обычное сообщение пользователя со значком Цель. Скрытый prompt цели, ходы продолжения, встроенные инструменты и уведомления жизненного цикла не добавляют лишние строки в чат.

Любой непустой текст после /goal целиком считается формулировкой цели и запускает цель. Многострочные цели сохраняют переносы строк, блоки кода и отступы; в списках сессий показывается однострочный фрагмент.

Для более крупной работы отправьте /goal без текста — откроется панель подготовки, но цель ещё не запустится. Введите одну текстовую формулировку, при необходимости задайте бюджет токенов и нажмите Начать. Подготовка не вызывает модель и не попадает в историю чата; цель прикрепляется к текущей сессии только после запуска. Вводить формулировку и бюджет можно сразу после открытия формы: завершение подготовки нового чата не сбросит введённые значения. Формулировка цели может содержать до 32 768 символов Unicode, поэтому полное условие бенчмарка или подробное техническое задание не обрезается на прежнем лимите в 4 000 символов. Цель, написанная полностью кириллицей, может содержать около 32 400 символов.

Если незавершённая цель уже существует, новая команда /goal <цель> сразу заменит её — прежняя формулировка и прогресс будут потеряны. Если вы планируете вернуться к текущей цели, поставьте её на паузу вместо замены.

Пока цель существует, её панель находится над панелями Todo и File Changes. В ней отображаются:

  • текущее состояние и формулировка;
  • активная длительность — секунды видны всегда (42s, 4m 5s, 1h 2m 5s); она обновляется в реальном времени во время работы и фиксируется после остановки;
  • использованные токены — вместе с бюджетом, если он задан (например, 12,500 / 30,000 токенов);
  • полный текст причины блокировки, если она есть;
  • действия паузы, продолжения, редактирования и очистки.

Если цель остановилась по бюджету, счётчики видны и в заголовке («Цель не выполнена (32,140 / 30,000)»), поэтому сразу понятно, сколько запаса даст увеличение бюджета.

Активная цель может продолжать работу в своей сессии, даже если открыт другой чат. Фоновая генерация названия чата не задерживает следующий ход цели. Перед новым ходом цели более приоритетная работа выполняется первой: сообщение пользователя, очередь, подтверждение, вопрос или восстановление после неудачного хода.

Состояние и учёт цели сохраняются после сжатия разговора и перезапуска workbench.

Если Kodik закрывается или падает сразу после того, как цель начала следующий шаг, при перезапуске этот шаг завершается как прерванный, и цель продолжается одним новым шагом. Восстановленная активная цель может автоматически продолжить работу, когда её сессия будет готова.

Ходы продолжения принадлежат цели во всех режимах чата. Обычный пользовательский ход в режиме Plan не списывается с цели.

Приватное продолжение передаёт текущие ID, статус, прогресс и бюджет цели как факты в Markdown. Сохранённое состояние и учёт ходов хранятся отдельно от этого текста; слова в файле проекта или результате инструмента не могут создать или завершить цель.

Если модель отвечает на продолжение пустым ответом (без текста и без вызова инструмента), Kodik сам повторяет запрос, сколько бы раз это ни случилось, и цель остаётся активной.

Пауза, продолжение, редактирование и очистка

Заголовок раздела «Пауза, продолжение, редактирование и очистка»

Используйте действия в панели цели:

  • Пауза останавливает автоматическое продолжение, не удаляя цель.
  • Продолжить снова активирует цель, которую можно возобновить.
  • Изменить меняет текст цели или необязательный бюджет токенов.
  • Очистить удаляет цель из сессии.

Кнопка Стоп во время хода цели отменяет этот ход и приостанавливает цель.

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

Если сохранить изменения не удалось, панель сохраняет прежнюю цель и ваш редактируемый черновик. При ошибке ввода-вывода на диске появляется пояснение о сбое записи; устраните проблему с диском и повторите сохранение.

Цель может быть активной, приостановленной, заблокированной, ограниченной использованием или бюджетом либо выполненной. Создать её можно только через /goal. Пока цель активна, модель получает два внутренних инструмента: get_goal и update_goal. Обычные, приостановленные, заблокированные, ограниченные и завершённые чаты не расходуют контекст на их схемы. Цель состоит из одной формулировки и статуса, а не из списка пунктов. Эти инструменты управляют runtime цели, поэтому не отображаются в настройках Harness и в карточках инструментов чата.

Необязательный бюджет токенов — мягкая граница безопасности. Kodik учитывает свежий ввод и вывод, включая входные токены записи кэша, но исключает чтение кэша. Токены, потраченные субагентами, которых запустили ходы цели, тоже учитываются — каждый один раз. Если граница пересечена во время хода с инструментами, модель получает одну возможность завершить работу, после чего цель переходит в состояние ограничения бюджета.

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

Новое сообщение в чате с активной целью сохраняет привязку к той же цели, поэтому модель может завершить её через update_goal.

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

Ответы ассистента сохраняются в разговоре после завершения цели, включая текст и таблицы, показанные до последней реплики. Внутренние инструменты управления целью скрыты, но не заменяют предыдущий текст ответа.

Настоящий блокер может остановить цель на первом ходе. Итоговый статус сохраняется после окончательного учёта расхода; повторять одинаковый блокер несколько ходов не требуется. Статус отражает заявленный агентом итог, а не подтверждает корректность реализации.