/goal, /loop и workflows
Три разных механизма, чтобы агент работал долго и без присмотра. Их постоянно путают, а выбор между ними определяется одним вопросом: есть ли у тебя проверяемый признак «готово».
Что это вообще за штуки
Слово «цикл» здесь — общий термин для разных способов дать агенту обратную связь и заставить его работать долго в организованном виде. Механизмов три, и они не взаимозаменяемы.
| Механизм | Что делает | Ключевое свойство |
|---|---|---|
/goal | Держит цель и экзит-условие. Агент сам себе напоминает, чего ещё не достиг, и не имеет права выйти, пока не достигнет. | Запрещает ранний останов |
/loop | Повторяет один и тот же прогон — по интервалу или до состояния. | Повторение |
| workflows | Оркестратор раздаёт работу суб-агентам, параллелит и отдельно проверяет результат по рубрике. Это обычный JS-файл. | Параллелизм + независимая проверка |
Зачем нужен /goal: агент останавливается рано
Объяснение через постановку себя на место агента. Тебя просят сделать задачу. По ходу ты упираешься в осложнение или в место, которое не совсем совпадает с тем, что сказал заказчик. Естественная человеческая реакция — остановиться и спросить: «мне продолжать или нет?»
Это способ пользователя сказать: «я уже сделал достаточно спеки и разведки, я понимаю пространство задачи. Иди исполняй. Наткнёшься на что-то — заполни сам».
Плюс он даёт агенту сигнал обратной связи в духе «продавливай, не сдавайся».
Выбор механизма: интерактивно
Развилка ровно одна — какой у тебя сигнал «готово». Проверь свою задачу:
У нас развилка на каждом генераторе, и почти везде выбран неправильный вариант — то есть никакой.
- Есть чек — рендер Remotion прошёл,
out.mp4существует, длительность совпала с озвучкой ±0.3с,/healthотдаётok, у губернатораbyGroup.<gen>.used > 0. Это/goal, и это надо ставить на конвейеры сегодня. - Нет чека — «сцена красивая», «хук цепляет», «маскот не поехал». Это workflow с рубрикой.
Конкретно: прогон конвейера шортса не должен считаться успешным на «сгенерил 6 сцен». Он должен упираться в экзит-условие по файлу.
Workflows: почему верификатор должен быть отдельным
На вопрос «чем workflow лучше скилла» ответ состоит из двух частей, и вторая — важнее.
Причина первая: чистый контекст
Каждый суб-агент работает в собственном контекстном окне и не тащит мусор соседей.
Причина вторая: self-preferential bias
Self-preferential bias — когда модель проверяет собственный выход, она к нему снисходительнее. Поэтому верификатор обязан быть отдельным агентом с отдельным контекстом.
Схема: кликни на роль
Побочный эффект, который легко пропустить
Помимо непредвзятости отдельные агенты дают гарантированный бюджет вычислений на элемент. Формулировка из видео: если делать 2–3 штуки одновременно в одном контексте, и исполнитель, и проверяющий вкладывают меньше в каждый конкретный. Отдельные агенты «менее склонны остановиться рано» и «думают больше».
Упаковка
Workflow — просто JS-файл. Его можно положить внутрь скилла: попросить агента сохранить JS в скилл, и получить переиспользуемую единицу «скилл + workflow».
эй, сделай тут 10 клипов, используй workflow.
вот моя рубрика — что такое хороший клип.
Наш конвейер шортсов — ровно тот случай, который назван в видео как эталонный пример для workflow. Сейчас там нет ни рубрики, ни отдельного судьи. Что добавить:
shorts-rubric.md— хук в первые 2 секунды; вертикаль не кропнута; субтитры не наезжают на safe-area; длительность в окне; звук не клипует; маскот консистентен с рефом.- Верификатор — отдельный агент. Не тот, который генерил. Иначе получаем ровно тот bias, о котором речь.
- Каждый суб-агент — свой слот губернатора с честными
holderиgroup. Без этого параллельные шортсы съедят слоты друг у друга — это прямо описанная засада вfactory-tool.
Важная оговорка: планирование решает
Peter признаётся, что попробовал /goal просто сделай мне потрясающую игру —
и всё съехало с рельсов. Ответ: «в том, чего ты хочешь, надо разобраться, и на это уходит
много работы».
То есть /goal — это не замена думанию. Это то, что ставят
после того, как разведка сделана. Про то, как делать эту разведку —
отдельная тема про планирование.