ВАШ КОНВЕЙЕР / РЕЖИМ ПЕТЛИ
Режим петли: ведущий и исполнитель
Ведущий ставит задания исполнителю, проверяет каждый результат и ведёт задачу по этапам. Человек принимает итог и вмешивается, когда цикл не может продолжаться. В документации продукта этот режим называется «цикл».
Как идёт работа
- Ведущий читает постановку и критерии, определяет ближайшее задание.
- Исполнитель делает работу и передаёт результат ведущему.
- Ведущий проверяет результат: возвращает замечания, начинает следующий этап или завершает задачу.
- Человек получает всю работу на приёмку. Замечание с приёмки возвращается ведущему.
Ведущий → Приёмка человеком
Промежуточный результат исполнителя проверяет ведущий. Не нужно утверждать каждую передачу между агентами. У исполнителя есть отдельный отчёт на каждый заход; на приёмке доступен последний сданный отчёт, прежние сохраняются.
Попробуйте на примере
Пройдите добавление фильтра: ведущий найдёт замечание, примет исправление и начнёт проверку. Чтобы увидеть остановку, до первого шага выберите потолок 2 круга.
Фильтр товаров по наличию
Ведущий ставит задание и проверяет каждый результат исполнителя.
- ВедущийЗадания, замечания, этапыСейчас
- ИсполнительИзменения и отчёт
- ВыПриёмка и решения при остановке
Ведущий ⇄ Исполнитель
Ведущий → Приёмка человеком
Передач исполнителю 0 / 4
Этап задачи 1 / 2
Ведущий готовит первое задание
Задача — добавить фильтр товаров по наличию на выбранном складе. Ведущий делит работу на реализацию и проверку.
- Этап 1: фильтрация с учётом выбранного склада.
- Этап 2: проверки и результат для приёмки.
Выберите 2, чтобы увидеть остановку. В профиле GrigDesk по умолчанию — 20.
История примера · 1
- Ведущий получил задачу. Передач исполнителю: 0.
Подготовленный пример без запуска ИИ и команд. Кнопки листают шаги; в GrigDesk пара работает автоматически до приёмки или остановки.
Учебный пример показывает подготовленную историю. Он не оценивает качество моделей, не выполняет текст замечания и не воспроизводит все проверки движка.
Когда выбирать петлю
Режим полезен для задачи, которую можно делить на проверяемые части: реализовать поведение, проверить его, исправить найденное и подготовить итог. Ведущему нужны ясные критерии, доступ к результатам и границы допустимых изменений.
| Решение | Маршрут с отдельными этапами | Режим петли |
|---|---|---|
| Кто ведёт работу | Переходы между заранее заданными узлами. | Ведущий управляет заданиями внутри пары агентов. |
| Кто проверяет промежуточный результат | Назначенный этап проверки или человек на воротах. | Ведущий после каждого результата исполнителя. |
| Где участвует человек | В выбранных точках согласования и при остановках. | На итоговой приёмке и при остановках. |
| Как ограничивается доработка | Правила повторов и возвратов маршрута. | Потолок кругов, предел серии и проверки прогресса. |
Если план нужно обязательно согласовать до реализации, используйте маршрут с отдельными воротами. Петля — способ организовать исполнение, а не ещё один род работы рядом с feature, debug или perf.
Что настроить
Пару агентов и переходы
Режим включается полем loop в определении маршрута. Поле связывает идентификаторы двух разных узлов — ведущего (lead) и исполнителя (worker):
"loop": {
"lead": "review",
"worker": "implement"
}Это фрагмент определения, а не готовый маршрут для импорта. Одна обратная стрелка без loop не включает специальный режим и его счётчик кругов. Подготовьте определение маршрута с этим полем; импорт создаёт черновик для проверки и публикации.
У пары есть обязательные ограничения:
- Оба узла имеют тип
agentи фазуmain. - В
sequence.mainисполнитель стоит непосредственно перед ведущим, но вход маршрута — ведущий. - Результаты исполнителя
done,skippedиfailedведут к ведущему черезnext. Туда же идут отказы с причинамиbuild,tests,plan,human; дляenvironmentвозможно отдельное действие. - Исход
failedведущего и отказы поbuildилиtestsвозвращают исполнителю черезrewindсо сбросом обоих узлов пары. - У обоих узлов
retry.productFailureравен0: доработкой управляет цикл. - Других автоматических возвратов, входов в исполнителя в обход ведущего и эскалаций в другие маршруты нет. Человеческие ворота могут возвращать работу в пару.
Настройте успешный выход ведущего на итоговую приёмку, а отказ человека — назад к ведущему. Проверяйте определение целиком: поле loop само по себе не создаёт узлы, инструкции или ворота.
Инструкции и исполнителей
В инструкции ведущего задайте критерии проверки, правила постановки ближайшего задания, признаки завершения этапа и всей задачи. Определите, какие решения требуют человека. В инструкции исполнителя опишите границы изменений, необходимые проверки и результат отчёта.
Переход к следующему этапу должен подтверждать закрытие прежних замечаний и опираться на новый результат исполнителя. Простое переименование задания не начинает новую серию проверок прогресса. Общее число кругов при смене этапа сохраняется.
Исполнители и модели назначаются по runKey в политике запуска проекта. Поле loop задаёт роли узлов, а не провайдера или модель.
Потолок кругов
Один круг — одна состоявшаяся передача от ведущего исполнителю. Первая передача тоже считается. Ответ исполнителя ведущему не добавляет круг. Если новая передача остановлена лимитом, она ещё не потрачена.
Потолок задаётся в профиле:
PROFILE_LOOP_MAX_ROUNDS=20Допустимо целое число от 1 до 100. Если настройки нет, используется 20. Пустое значение, 0 и число вне диапазона отклоняются до запуска модели. Настройка читается при старте, продолжении и обработке решения на воротах; обычные маршруты она не меняет.
Потолок ограничивает передачи, а не токены, стоимость или время работы. Новый этап, замечание с приёмки и увеличение потолка не обнуляют потраченные круги.
Когда потребуется ваше решение
| Остановка | Как продолжать |
|---|---|
Нет прогресса (no-progress) | Разберите, почему прежние замечания пережили доработку. Дайте новую информацию или решите развилку, затем верните работу нужному узлу. |
Исчерпана серия возвратов (rewind-limit) | Посмотрите историю доработок текущего этапа и причину повторений. Увеличение общего потолка не решает эту остановку. |
Достигнут потолок (loop-ceiling) | Оцените оставшуюся работу. Если продолжение нужно, увеличьте PROFILE_LOOP_MAX_ROUNDS в профиле и нажмите «Продолжить». |
| Недоступно окружение | Восстановите стенд, инструмент или другую зависимость, указанную в причине остановки. |
| Решение вне полномочий | Ответьте на конкретный вопрос. Например, ведущий не может самостоятельно снять критерий или изменить исходный замер. |
При loop-ceiling без увеличения потолка продолжение не запускает модель: задача остаётся ждать человека. После увеличения выполняется уже подготовленная передача с того же места; результаты и счётчики сохраняются.
В цикле остаются проверки прогресса и предел серии автоматических возвратов. Большой потолок не гарантирует, что задача дойдёт до него. Автоматическая смена подхода при застревании (rethink) пока не входит в режим.
Арбитр остановок не работает с попытками цикла, в том числе при ручном запуске разбора. Остановку разбирает человек с учётом результатов ведущего и исполнителя.
Проверка перед запуском
- Проверьте черновик и инструкции ведущего и исполнителя.
- В «Пробном сценарии» задайте поле «Потолок кругов» для симуляции. Оно не меняет профиль.
- Пройдите передачу, замечание, выход на приёмку, отказ и достижение потолка.
- Опубликуйте проверенный снимок и запустите небольшую задачу с ясными критериями.
Симуляция редактора проверяет переходы и потолок. Она не моделирует признание границ этапов и остановки из-за отсутствия прогресса: для этого нужны реальные результаты узлов. Уже запущенная попытка сохраняет закреплённый маршрут; новая публикация не переводит её в режим петли.
Дальше — приёмка и управление запуском или выбор процесса под задачу.