"🙇‍♂️ Идеальный оркестратор После бодания с СС во всяких сложных и длинных процессах, задумался что бы ло бы неплохо скрутить ""идеальный"" оркестратор. Оркестратор - это штука, которая будет пускать 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"