Перейти к содержанию

Пайплайны (preview)

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

Preview

Пайплайны находятся в статусе preview: функция работает и доступна в интерфейсе, но формат спецификации, набор шагов и экраны могут меняться между релизами. Для критичных процессов пока используйте расписания и обычные сессии.

Что такое пайплайн

Черновик — редактируемая версия спецификации; опубликованная версия — неизменяемый снимок, и только по нему запускают прогон. Прогон — одно исполнение версии в фоне, с журналом и таймингами.

Шаг — не сессия: у него своя локальная история, он не появляется в списке сессий и не раздувает контекст диалога. Инструменты шага проходят тот же слой разрешений, а режим (plan / act / yolo) объявляется в спецификации.

Из чего состоит

В редакторе доступны четыре вида шагов:

Вид шага Что делает Когда применять
Агентский шаг Запускает агента с промптом, скиллом и инструментами; агент работает своим циклом и возвращает текст и расход токенов Анализ, правки кода, подготовка отчёта
Скриптовый шаг Выполняет команду в рабочем каталоге проекта; команда идёт через ту же политику shell и защищённых путей, что у агента Сборка, тесты, детерминированный шаг
Шаг с инструментом Вызывает один инструмент с заданными аргументами (например, git_status) Проверка состояния без вызова модели
Шаг с человеком Ставит прогон на паузу и ждёт решения оператора; может иметь таймаут Согласование перед публикацией или деплоем

У шага есть название, режим, вход, таймаут и повторы с паузой. Вход задаётся путями: prev.output.* (выход предыдущего шага), trigger.payload.* (данные запуска) и vars.* (переменные спецификации).

Как создать

Левая панель → вкладка «Пайплайны» → «Создать пайплайн». В диалоге «Новый пайплайн» заполните «Название» и «Описание», соберите шаги в редакторе и сохраните черновик. Пайплайн создаётся в проекте текущей сессии.

Редактор: визуальный и JSON

  • Переключатель «Визуальный» / «JSON» — одна спецификация в двух видах: визуальный режим для структуры, JSON — для точных полей.
  • Палитра «Кубики» добавляет шаг нужного вида; «Добавить шаг», «Выше» / «Ниже», «Удалить шаг» меняют порядок и состав.
  • «Настройки шага» — инспектор выбранного шага: агент, скилл, промпт, команда и аргументы, инструмент, таймаут, повторы, пути входа.
  • Блок «Переходы»: «Путь», «Условие», «Значение» и «Целевой шаг». Если переходов нет, прогон идёт к следующему шагу по порядку.
  • Условия: равно, не равно, в списке, существует, больше, меньше. Сравнение строгое по типу: 1 и "1" — разные значения.
  • Выходы правятся в режиме JSON — в визуальном редакторе их нет. Выход бывает четырёх видов: сессия, файл в рабочем каталоге, событие наружу (его увидят webhooks и подписчики) или «ничего».

Переходы проверяются по порядку: срабатывает первый с условием. Если шаг упал, линейного перехода нет — продолжить после ошибки можно только явным условием.

Черновик и публикация

На странице пайплайна видны бейджи версий: «Черновик N», «Опубликовано N», «Не опубликован», «из пакета …» — для пайплайна из пакета расширений.

Кнопка Что делает
«Сохранить черновик» Записывает спецификацию; опубликованные версии не меняются
«Проверить» Проверяет граф: «Спецификация корректна» или список в блоке «Проблемы»
«Опубликовать» Делает неизменяемую версию и открывает следующий черновик
«Удалить пайплайн» Удаляет пайплайн и версии; прогоны сохраняются

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

Прогон

  • «Запустить прогон» — прогон идёт в фоне, ответ приходит сразу.
  • Страница прогона показывает «Текущий шаг», «Начало», «Завершение», «Длительность», «Триггер» и «Журнал» — события шагов, переходы, паузы и ошибки.
  • «Отменить прогон» останавливает активный прогон; отмена попадает в журнал. Одновременно у пайплайна может идти один прогон.

Подтверждение человека

Когда прогон доходит до шага с человеком (или до инструмента, требующего подтверждения), появляется плашка «Прогон ждёт решения человека»:

  1. Прочитайте, что предстоит подтвердить, и при необходимости впишите «Комментарий (необязательно)».
  2. «Одобрить» — прогон продолжится с того же места; «Отклонить» — прогон завершается отказом, шаг не выполняется.

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

Артефакты

Выход вида «файл» кладёт результат в рабочий каталог проекта и в хранилище артефактов прогона — каталог artifacts/<id прогона>/. Файл скачивается со страницы прогона и переживает очистку рабочего каталога.

Артефакты не удаляются автоматически

Лимит — 50 МиБ на файл; более крупный файл остаётся только в рабочем каталоге. Автоочистки нет: artifacts/ растёт, пока вы не удалите его сами.

Шаблоны

Системные шаблоны — готовые пайплайны, не принадлежащие проекту. Их список — Настройки → Администрирование → «Аддоны» → «Пайплайны» → вкладка «Шаблоны» (пометка «системный», только чтение). Инстанцирование в проект создаёт копию-черновик со своими версиями; часть шаблонов приходит с пакетами.

Запуск по расписанию

В «Шедулере» у расписания есть цель «Пайплайн»: проект и пайплайн. Такой запуск не создаёт сессию — прогон стартует напрямую, прогресс виден на странице прогона, а неопубликованный пайплайн завершит задание ошибкой.

Ограничения

  • Пайплайны доступны только внутри проекта сессии.
  • VIEWER видит пайплайны и прогоны, но не меняет их: правка, публикация, запуск и решение по паузе требуют права изменения содержимого проекта. В режиме plan мутации тоже недоступны — пайплайн можно только посмотреть.
  • Защита от зацикливания — 100 переходов на прогон; у шага-агента свой лимит итераций. При превышении прогон или шаг останавливается с ошибкой.
  • Вложения к запуску принимает API; формы прикрепления файлов при запуске в интерфейсе пока нет.

Что дальше