Учебник 24: Постоянные Цели
Учебник 24: Постоянные Цели — простое руководство на основе официальной документации
Это часть официальной серии руководств Hermes Agent. Смотреть все руководства
Представьте, что вы готовите сложное блюдо и говорите своему помощнику: «Продолжай нарезать овощи, пока разделочный стол не будет полностью укомплектован». Вы же не стоите рядом и не повторяете это после каждой морковки — вы доверяете ему продолжать, пока работа не будет сделана. Постоянные цели дают Hermes ту же суперспособность «продолжай, пока не закончишь» для ваших задач по кодингу.
Что делает /goal?
Обычно вы даете Hermes задачу, он отвечает, а затем останавливается — ожидая вашей следующей инструкции. С помощью /goal вы даете Hermes постоянную цель, которая сохраняется между ходами. После каждого ответа легковесная модель-«судья» проверяет: «Цель уже достигнута?» Если нет, Hermes автоматически отправляет себе промпт для продолжения и продолжает работать — без ваших напоминаний. Цикл повторяется, пока цель не будет достигнута, вы не поставите её на паузу или не очистите, или пока не закончится бюджет ходов.
Эта функция вдохновлена аналогичной возможностью в Codex CLI и идеально подходит для задач, где в противном случае вам пришлось бы трижды говорить «продолжай».
Шаг 1: Поймите, когда это использовать
Используйте /goal, когда хотите, чтобы Hermes работал самостоятельно, без повторных запросов. Отличные примеры:
/goal Исправь все ошибки линтера в src/ и убедись, что ruff check проходит/goal Перенеси функцию X из репозитория Y, включая тесты, и добейся зелёного CI/goal Разберись, почему идентификаторы сессий иногда сбиваются при сжатии в середине запуска, и напиши отчёт/goal Создай небольшой CLI для переименования файлов по датам EXIF, затем протестируй его на папке photos/
Если ваша задача требует всего одного хода, пропустите /goal. Эта функция раскрывается, когда иначе вам пришлось бы постоянно контролировать процесс.
Шаг 2: Поймите разницу между /goal и Kanban
Это частый источник путаницы, так что давайте просто:
/goal— это одна сессия. Он продолжает работать в рамках этого одного разговора, пока не будет готово. Он никогда не создаёт карточку на доске, не назначает работу другому профилю и не масштабируется.- Kanban — это доска со множеством задач. Каждая карточка получает свой собственный рабочий процесс с собственной сессией. Карточки, зависимости, исполнители и передачи хранятся на доске.
Пересечение небольшое, но намеренное: карточка канбана, созданная с помощью --goal, использует тот же механизм продолжения, но в рамках сессии этой одной карточки — она заимствует механизм, а не доску.
| Вам нужно | Используйте |
|---|---|
| Продолжать работу над одной задачей в этом чате до завершения | /goal <текст> |
| Много независимых задач с зависимостями | hermes kanban create … |
| Одна карточка на доске, которая продолжает работу, пока не будут выполнены критерии приёмки | Карточка Kanban с --goal |
Запомните: /goal никогда не касается доски, а пауза или очистка цели никогда не перемещает карточку. Если вы хотите работать на доске, поместите задачу туда сами.
Шаг 3: Запустите свою первую цель
Вот краткое руководство:
/goal Исправь все падающие тесты в tests/hermes_cli/ и убедись, что scripts/run_tests.sh проходит для этого каталога
Вот что вы увидите:
- Цель принята — Вы увидите подтверждение, например:
⊙ Цель установлена (бюджет 20 ходов): <ваша цель> - Выполняется ход 1 — Hermes начинает работать так, как если бы вы отправили цель обычным сообщением.
- Судья запускается — После этого хода модель-судья решает:
готовоилипродолжить. - Цикл срабатывает при необходимости — Если
продолжить, вы увидите:↻ Продолжаю движение к цели (1/20): <причина судьи>— и Hermes автоматически делает следующий шаг. - Завершение — В конце концов, цель достигнута, вы ставите её на паузу или очищаете, или заканчивается бюджет ходов.
Шаг 4: Управление циклом
Вы всегда контролируете ситуацию. Вы можете поставить цель на паузу, чтобы временно остановить цикл, очистить её, чтобы полностью отменить, или просто позволить ей завершиться. Бюджет в 20 ходов предотвращает бесконечные циклы, так что вам не нужно беспокоиться о том, что Hermes будет работать вечно.
Резюме
/goal — это ваша функция «продолжай, пока не будет готово». Она идеально подходит для задач в рамках одной сессии, требующих нескольких итераций — исправление ошибок линтера, перенос функций, исследования или создание небольших инструментов. Она не предназначена для управления множеством задач одновременно (это работа Kanban). Просто установите цель, позвольте судье следить за циклом и вмешивайтесь только тогда, когда хотите поставить на паузу, очистить или скорректировать.
Далее: Урок 25 — Выполнение кода: пакетная обработка задач с помощью Python-скриптов.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/features/goals