🙇♂️ Идеальный оркестратор
После бодания с СС во всяких сложных и длинных процессах, задумался что бы ло бы неплохо скрутить "идеальный" оркестратор.
Оркестратор - это штука, которая будет пускать workflow.
Надо помыслить о важных фичах, сгруппируем.
FR0. Модель:
* есть workflow, оно состоит из этапов (stage)
* есть task - это запущенный workflow
* есть step: это прохождение этапа workflow в task
FR1. Поддержка логики выполнения workflow:
1.1) обычный этап: когда делаем подряд действия,
1.2) условный этап: может перейти по одному из маршрутов, агент решит по какому, переходить можно к любому шагу воркфлоу (так можно сделать циклы)
1.3) "вызов" воркфлоу - переходим к старту указанного воркфлоу, а потом возвращаемся обратно
1.4) fan-out / fan-in: шаг может порождать "пучок" параллельных шагов из текущего контекста, каждый со своим контекстом; далее по процессу есть этап fan-in
FR2. Каждый шаг:
* это будет отдельный вызов claude -p
* контекст конструируется под шаг: выбираем чего берём от предыдущих шагов
* поддержка обмена файлами
* структурированные статусы завершения: агент делает структурированный документ про шаг (как иногда в functional calling есть схема на возвращаемое значение)
* структурированных вход: формируем параметры вызова по схеме (как в function calling есть схема на параметры)
* observability: смотреть с каким промптом стартовали, логи выполнения, с чем финишировали.
* смотреть папку задач этого шага
* наверное нужен плагин на вход и выход с ts кодом для произвольной обработки стартового контекста и итогов равершения
FR4. Хотелки по архитектуре
* асинхронное relatime
* простой scaling доступных workers
* теоретическая поддержка скелинга на другие виртуалки/удалённые машины - копируем контекст, пускаем шаг
Такая штука сильно поможет в сложных воркфлоу
Я что то упустил?
Upd: playback в явном виде: берем любой процесс, смотрим шаг, и с этого места запускаем процесс снова (бранчинг-как в аи студии)
#post
@deksden_notes
Post #53
408
- ❤ 3
- 🔥 3
- 👍 1