Универсальный Bloom: Analyze ⏱ 9 мин оркестрация

Агент как процесс: состояние, станции, маршрут (граф)

🧊 Won't Have 💧 Could Have ☀️ Should Have 🔥 Must Have
💧 Could Have
Способ читать чужие схемы и грамотно ставить ТЗ инженерам. Не обязателен для базы, но даёт язык, на котором с тобой говорят разработчики и вендоры.

🤔 Зачем это читать

Подрядчик принёс схему «как будет работать наш агент». На листе — прямоугольники, стрелки, ромбик с надписью «> 50 000 ₽». Тебе говорят: «Вот, всё прозрачно, согласуйте». Ты смотришь и понимаешь только, что от тебя ждут кивка. А внутри сидит вопрос, который ты не задаёшь, потому что неловко: в каком вообще порядке это всё происходит и где здесь то место, в котором решение увидит живой человек?

Знакомо? Или другой заход — со своей стороны. Ты пытаешься объяснить, как должен вести себя агент: «ну он берёт заявку, считает скидку, и если сумма большая — пусть не отправляет сам, а покажет менеджеру». Звучит у тебя в голове как прямая линейка. А на бумаге не ложится: где-то развилка, где-то возврат назад, где-то «в корзину». Прямой инструкцией это не запишешь.

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

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

Задержись на 10 секунд. Возьми любой рабочий процесс, который ты хорошо знаешь, — обработку заявки, согласование счёта, оформление возврата. Попробуй мысленно произнести его как прямую линейку «сначала это, потом это». На каком по счёту шаге ты упёрся в «а если…»? Вот это «а если» — и есть развилка. Держи её в уме: к концу страницы ты поймёшь, как она рисуется.

📋 Бланк заказа, который ходит по кухне

В прошлой теме про экспедитора-исполнителей (Orchestrator-Workers) мы уже видели, что у бригады агентов есть тот, кто раздаёт работу, и те, кто её делает. Теперь зайдём с другой стороны и посмотрим на бригаду не как на людей, а как на процесс — на то, как заказ физически проходит через кухню. Это очень удобный взгляд, и сейчас ты поймёшь почему.

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

Вот этот бланк и есть главная идея сегодня. На языке инженеров его называют состояние (state) — это общий «бланк заказа», единая записка, которую агенты-станции передают друг другу и в которую каждый дописывает результат своего шага. Не «у каждого повара своя бумажка в кармане», а одна общая, видная всем, идущая по маршруту. Где она сейчас и что в ней написано — в любой момент можно посмотреть. Запомни этот образ: бланк на прищепке, который ходит и обрастает пометками.

🍳 Станции, переходы и развилки

Теперь, когда есть бланк, опишем саму кухню. У неё три простых части, и из них складывается всё.

Станции. Это шаги-места, где над бланком что-то делают: заготовка, гриль, соусы, сборка. На языке схем станцию называют узел (node) — узел-станция, один шаг процесса. У каждого узла одна понятная работа: «посчитай скидку», «проверь остаток на складе», «составь ответ клиенту». Один узел — одно дело.

Переходы. Это стрелки «куда бланк едет дальше»: с заготовки — на гриль, с гриля — к соусам. На схемах стрелку называют ребро (edge) — ребро-переход, связь между двумя станциями. Простое ребро говорит ровно одно: «закончил тут — отдай туда». Без вариантов.

Развилки. А вот это — самое интересное и ровно то, из-за чего процесс перестаёт быть прямой линейкой. Иногда «куда дальше» зависит от того, что написано в бланке. Дорогой заказ едет к шефу на утверждение, обычный — сразу на выдачу. Это уже не простая стрелка, а развилка: условный переход (conditional edge) — условное ребро, которое смотрит в бланк и выбирает дорогу по правилу. И вот ключевое для тебя: правило на этой развилке — это и есть твоё бизнес-правило. Не код, не магия — твоё «заказ дороже 50 000 ₽ → на согласование к человеку», записанное в одной точке схемы, где его видно.

Маршрут бланка заказа: станции, переходы, одна развилка
📥
Приём заявки
Завели бланк: что за заказ, на какую сумму
🧮
Расчёт скидки
Посчитали, дописали итог в бланк
🔀
Развилка
Смотрим в бланк: сумма больше 50 000 ₽?
🙋
Да → к человеку
Менеджер утверждает дорогой заказ
Нет → отправка
Обычный заказ уходит клиенту сам
↩️
Брак → назад
Чего-то не хватает — вернуть на доработку
Жёлтая станция — условный переход. Правило в ней («дороже 50 000 ₽ → к человеку») — это твоё бизнес-правило, записанное в одной видимой точке.

Сложи три части вместе — бланк (состояние), станции (узлы), переходы и развилки (рёбра) — и получишь граф: схему процесса, по которой агент делает работу. «Граф» звучит академично, но за словом — ровно та картинка, что выше: кружки-станции, стрелки между ними и пара развилок. Ты такие схемы сто раз видел, просто их не называли этим словом.

🧭 Почему процесс удобнее рисовать графом, чем описывать словами

Тут честный вопрос: а зачем вообще этот граф, если можно просто написать инструкцию словами? Затем, что у графа есть три свойства, которых у текстовой инструкции нет, — и каждое решает конкретную боль владельца.

Первое: развилки видны. В тексте «если сумма большая — покажи менеджеру» легко потеряется в абзаце, и никто не заметит, что про возврат денег больше 100 000 ₽ забыли вообще. На графе развилка — это явный ромбик с явными стрелками. Не нарисовал ветку — сразу видно дырку. Бизнес-правила перестают быть спрятанными в чужой голове.

Второе: маршрут проверяем. Раз бланк ходит по станциям и в каждой остаётся пометка, то по любому заказу можно потом посмотреть: где он прошёл, на какой развилке свернул и почему. «Этот возврат ушёл клиенту без согласования — как?» — открываешь маршрут бланка и видишь: на развилке сумма оказалась 49 000 ₽, правило сработало штатно. Это и есть аудит: не «агент что-то решил», а «вот по какой дороге прошёл заказ».

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

🔁 Как это выглядит на пальцах

Соберём всё в один маленький маршрут — на псевдокоде. Это просто логика на человеческом языке, не настоящий код. Схема выше уже всё показала; этот блок — для тех, кому приятнее увидеть тот же маршрут построчно, не более. Не твоё — спокойно пролистывай, ничего не потеряешь.

Псевдокод (на пальцах) · граф обработки заявки # это НЕ настоящий код, а логика на человеческом языке
бланк = новая заявка # это «состояние» — общая записка

# СТАНЦИЯ 1 (узел): принять и записать в бланк
станция «приём»: дописать в бланк сумму и состав заказа
# переход (ребро): просто едем дальше
дальше → станция «расчёт»

# СТАНЦИЯ 2 (узел): посчитать и дописать итог
станция «расчёт»: посчитать скидку → дописать итог в бланк

# РАЗВИЛКА (условный переход): смотрим В БЛАНК и выбираем дорогу
# это место — и есть твоё бизнес-правило
если в бланке сумма больше 50 000 ₽ → станция «к человеку»
иначе → станция «отправка клиенту»
# → весь маршрут бланка сохраняется: видно, где прошёл и почему свернул

Заметь две вещи. Первое: бланк один на весь маршрут — каждая станция в него дописывает, а не заводит свою бумажку. Второе: развилка смотрит именно в бланк — она решает «куда дальше» по тому, что в нём уже написано, а не наугад. Поменяешь правило с 50 000 ₽ на 100 000 ₽ — поменяется одна строчка на одной развилке, и всем видно, что именно изменилось.

Прежде чем собирать руками. Вернись к тому «а если…» из своего процесса, которое ты нашёл в самом начале. Это и была твоя развилка. Теперь спроси себя одну вещь: где в твоём маршруте она должна стоять — и что обязательно надо посчитать или узнать до неё, чтобы ей было на что смотреть? Подержи этот ответ в уме — ровно его ты сейчас и проверишь на тренажёре.

🎮 Собери маршрут процесса

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

📖 Ключевые понятия

Граф (граф-процесс)
Способ описать работу агента как схему: станции-шаги, стрелки-переходы между ними и развилки. За академичным словом — обычная картинка из кружков и стрелок, по которой видно, в каком порядке всё происходит и где ветвится.
Состояние (state)
Общий «бланк заказа» — единая записка, которую станции передают друг другу и в которую каждая дописывает результат своего шага. Не у каждого своя бумажка, а одна общая, видная всем по ходу маршрута.
Узел-станция (node)
Один шаг процесса — место, где над бланком делают одну понятную работу: «посчитай скидку», «проверь остаток», «составь ответ». Один узел — одно дело.
Ребро-переход (edge)
Стрелка «куда бланк едет дальше». Простое ребро говорит ровно одно: закончил тут — отдай туда, без вариантов.
Условный переход (conditional edge)
Развилка, которая смотрит в бланк и выбирает дорогу по правилу. Здесь живут твои бизнес-правила — «дороже 50 000 ₽ → к человеку», «брак → на доработку» — записанные в одной видимой точке схемы. Строго говоря, «развилка» на схеме — это станция-узел плюс расходящиеся из неё условные стрелки; для дела это одно место «здесь решаем, куда дальше».

🛡️ Частые заблуждения

«Граф нарисуют один раз и забетонируют — потом любое бизнес-правило не поменять, не переписав всю схему заново»

Ровно наоборот, и это одна из причин рисовать граф. Правило живёт в одной точке — на развилке. Передумал и решил звать человека не с 50 000 ₽, а со 100 000 ₽ — это правка одной строчки на одной развилке, а не пересборка всей кухни. Остальные станции даже не замечают. Бумажная инструкция на двадцать абзацев меняется хуже: правило размазано по тексту, и где оно ещё всплывает — поди найди. На графе видно ровно одно место, которое трогаешь.

«Раз процесс рисуется как граф — значит, агент строго ходит по нему, как поезд по рельсам, и сам уже ничего не решает»

Не совсем. Граф задаёт станции и развилки — каркас маршрута. Но внутри станции по-прежнему работает агент-модель: на станции «составь ответ клиенту» она сама сочиняет ответ. Граф — это не отмена гибкости, а рамка вокруг неё: повар на своей станции импровизирует, но бланк ходит по понятному маршруту, и на развилках решают правила, а не настроение.

«Условный переход — это умное AI-решение, агент сам смекает, когда позвать человека»

Нет, и это важно. Развилка «дороже 50 000 ₽ → к человеку» — это жёсткое правило, которое задал ты, а не догадка модели. В этом вся ценность: правило явное, всегда срабатывает одинаково, его видно на схеме и можно проверить по маршруту. Если бы «звать человека или нет» решала модель на глазок — ты бы не смог ни предсказать поведение, ни проверить его постфактум.

🧠 AI-чутьё (AI Judgment)

Где записаны бизнес-правила и можно ли проверить, как агент решил

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

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

И держи практический след вперёд. Этот же приём «нарисовать процесс графом» становится фундаментом для серьёзных вещей дальше в курсе — для надёжности (что делать, когда станция сломалась), для наблюдаемости (камеры на каждой станции), для безопасности (где поставить проверку-привратника). Всё это удобно вешать именно на станции и развилки графа. Граф — это язык, на котором проектируют, чинят и аудируют агентов.

🎯 Практика

Одно задание на десять минут — оно превращает «процесс как граф» из красивой картинки в твой рабочий навык.

  1. Возьми тот процесс, который вспомнил в начале (заявка, согласование, возврат — что угодно своё). Нарисуй его на бумаге как цепочку станций: 3 - 5 прямоугольников «один шаг — одно дело», соединённых стрелками. Не усложняй, держи линейку.
  2. Теперь найди в нём развилки — те самые «а если…», на которые ты упёрся в начале. В каждой развилке запиши явное правило словами: «если сумма больше N ₽ — к менеджеру», «если товар возвратный — дальше, иначе — отказ». Это твои бизнес-правила, вытащенные на свет.
  3. Отметь одну развилку, где обязательно должен решать человек, а не агент. И честно ответь себе: правило в ней — жёсткое и записанное, или ты надеешься, что «оно как-нибудь само»? Если второе — допиши правило. Эта схема и есть твоё первое ТЗ инженеру на языке, который вы оба понимаете.

Помнишь подрядчика со схемой из начала — где был ромбик «> 50 000 ₽», а ты не знал, что спросить? Теперь знаешь: это условный переход с твоим бизнес-правилом. И первый вопрос к любой такой схеме у тебя теперь есть — «а маршрут заказа мы потом сможем поднять и проверить?».

🔗 Что дальше

Следующая тема: 8.10 — Банкет на 50 порций: map-reduce (раздать-собрать) для массовых задач. Граф показал, как заказ ходит по станциям по одному. А что, если заказов сразу пятьдесят и их надо обработать разом — раздать по поварам и собрать обратно? Это следующий шаг бригады.

Связанные темы:

Дальше в курсе эта идея вырастает в: