теория

Анатомия бригады

У любого три части — и только одна из них новая.

Состояние — общий блокнот задачи: исходный вопрос, что уже выяснили, что решили. Узлы — работники: каждый берёт блокнот, делает свой шаг, дописывает результат. Рёбра — маршруты: кто работает следующим. Новое здесь одно: узлом может быть не только код, но и агент. Всё остальное — обычный workflow из двадцать четвёртого модуля: код, оркестрирующий шаги.

Из этих кубиков собираются четыре паттерна.

Конвейер (sequential). Узлы по очереди: черновик → редактор → проверка фактов. Каждый следующий видит работу предыдущего. Для задач, где этапы требуют разной экспертизы и порядок фиксирован.

Параллель (concurrent). Несколько узлов работают одновременно над одним вопросом — потом результаты сводятся. Для независимых подзадач: проверить цену, наличие и доставку разом, а не по очереди.

Маршрутизатор (handoff). Лёгкий диспетчер определяет, чей это вопрос, и передаёт специалисту целиком. Для потоков, где вопросы разных доменов приходят в одну дверь, — ровно наш случай с поддержкой.

Групповой чат. Агенты обсуждают задачу, ведущий модерирует и останавливает. Самый мощный и самый дорогой: длина обсуждения непредсказуема, счёт — тоже. Для исследований и дебатов, не для SLA.

Выбор между ними — это выбор, где жить недетерминизму. В конвейере он заперт внутри узлов, порядок жёсткий. В маршрутизаторе — ещё и в выборе маршрута. В групповом чате недетерминирована сама структура разговора. Чем больше свободы отдано модели, тем гибче система — и тем труднее предсказать её путь, время и цену. Знакомый рычаг, новая ось.

И последнее: бригада снаружи не видна. Кто зовёт «оформи возврат», не знает и не должен знать, сколько там узлов, — это , обычная инкапсуляция: у бригады один вход и один контракт.

← назад