⚪️ Гибридные рельсовые флоу
Поделюсь небольшим подходом, как строю свои флоу. Можно назвать их гибридными: детерминированные операции сочетаются с агентным флоу. Это всё работает для "рельсовых" флоу, когда у вас ясная последовательность действий, как код, с этапами, переходями чёткими между этапами. Траектории заранее обозначены - те самые "рельсы".
Подход: для флоу делаем вспомогательное cli. У меня вот есть dd-flow cli. Оно для каждого флоу ведёт учёт запусков (я называю их RUN). Запуск флоу состоит из прохождения некоего алогритам из набора шагов. Через cli регистрируется начало шага и завершение, вот так примерно:
dd-flow stage start <...много опций>
Конечно cli делает ещё кучу вспомогательных вещей, но сейчасне об этом.
👉 Какую фишку придумал. В начале и конце стадии я выношу детерминированные операции. Агент инструктирван первым делом приступив к стадии вызвать cli команду регистрации стадии, и для завершения работы тоже вызвать cli команду.
▶️ Детерминированная регистрация стадии внутри cli на самом деле делает кучу детерминирвоанных шагов, необходимых агенту на этой стадии: например, читает текущий cwd, состояние git, сведения о этапе на котором работаем, сведения о команде cli которой надо будет завершать этап, ... При этом cli возвращает результат этих операций в виде результата команды.
Например, в конце стадии вызывается cli команда с json в качестве аргумента, а в json всякие сведения о прошедшей стадии. cli на основании этого json делает md по шаблону, и html отчёт с этими данными генерирует для дашборда, раскладывая это все в нужные папочки.
▶️ Как я список этих детерминированных команд для cli получил? изначально стадия была полностью агентная, и агент, выполняя инструкции, делал определённые действия в начале каждой стадии. Я анализировал сессии агента, и все операции которые агент делал каждый раз, переносил в cli.
❓ В чем профит? Резкое ускорение флоу. Выполнение команд, сбор информации, выяснение точного формата вызова cli, - все это потребляет токены (не самое важное) и занимает значительное время. /Особенно если агент сталкивается с какой то проблемой, типа, неправильный формат данных где то, который не проходит валидацию.
Сокращение времени которое я достигал на более-менее содержательных этапах - например, с 35 минут до 6-7 минут. Расход токенов - соответственно. Падения качества не происходит, содержательно вся работа выполняется аналогично (проверял).
👉 Резюме: cli наше всё. Что можно сделать детерминированно - делаем. Даже чтение отдельных документов. Это окупается.
@deksden_notes