Универсальный Bloom: Apply ⏱ 11 мин агентный цикл

Цикл «Думаю — Делаю — Пробую» (ReAct)

🧊 Won't Have 💧 Could Have ☀️ Should Have 🔥 Must Have
🔥 Must Have
Сердце того, что делает агента агентом. Здесь объясняется, почему он «думает долго» — и как справляется со сложным. Открывает весь Модуль 5.

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

Ты даёшь агенту задачу посложнее: «разберись с жалобой клиента № 2207 и подготовь ответ». И ждёшь, что он, как ты привык от чата, выдаст готовый ответ за пару секунд. А он молчит. Десять секунд, двадцать, полминуты. На экране что-то крутится. Внутри неприятный холодок: завис? сломался? я переплачиваю за тормоза?

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

Дело в том, что сложную задачу хороший агент решает не одним махом, а по кругу: подумал → сделал один шаг → посмотрел, что вышло → поправил → снова. По-научному этот круг называется агентный цикл, или ReAct (цикл «рассуждение — действие — наблюдение»). Те самые «тормоза», которые тебя пугают, — это и есть круги: агент честно сходил в систему, посмотрел результат и решает следующий шаг. Он не завис. Он работает.

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

Задержись на 10 секунд. Вспомни последний раз, когда сам делал что-то сложное за несколько подходов — готовил блюдо по новому рецепту, собирал отчёт, чинил настройку. Ты ведь не сделал всё с первой попытки вслепую? Попробовал, посмотрел на результат, поправил, попробовал снова. Подержи эту картинку. К концу страницы окажется, что агент справляется со сложным ровно так же — и это не баг, а единственный способ.

🥄 Повар не угадывает соус с первого раза — он пробует ложкой

В теме 4.1 про инструменты мы разобрали, как агент «приделывает руки»: модель выписывает заявку, инструмент реально лезет в систему и приносит результат. Один такой поход — это один шаг. А теперь главный вопрос: что агент делает, когда одного шага мало? Когда задача сложная и за один заход её не закрыть? Тут начинается самое интересное. И снова проще всего понять на кухне.

Представь, повар варит соус. Он не знает заранее, сколько соли, сливок и сколько держать на огне, — точные цифры зависят от продуктов сегодня. Что он делает? Подумал («кажется, жидковато») → сделал шаг (добавил ложку сливок, подержал минуту) → попробовал ложкой (зачерпнул, оценил вкус). Жидко всё ещё? Думает заново, делает ещё шаг, пробует снова. И так по кругу, пока соус не «тот самый». Никакой повар на свете не угадывает идеальный соус с первой попытки вслепую. Он доводит его по кругу, и проба ложкой — обязательный шаг каждого круга.

Вот это «подумал → сделал → попробовал → снова» и есть агентный цикл (ReAct) один в один. Три слова, которые стоит запомнить:

А дальше — снова по кругу: на основе наблюдения агент думает заново («баланс чистый, теперь подниму историю заказов»), делает следующий шаг, наблюдает. И так круг за кругом, пока задача не будет готова — тогда он останавливается и выдаёт финальный ответ. Ровно как повар перестаёт пробовать, когда соус «тот самый».

Один круг агентного цикла (и снова с начала)
🤔
Думаю
Рассуждение: «какой следующий шаг приблизит к цели?»
🔧
Делаю
Действие: один шаг инструментом — заглянуть, посчитать, отправить.
🥄
Пробую
Наблюдение: смотрю на результат — «проба ложкой». Что вышло?
↺ Не готово — заново с «Думаю», уже зная результат прошлого круга. Готово — агент останавливается и выдаёт ответ. Как повар перестаёт пробовать, когда соус «тот самый».

🧩 Почему нельзя «одним махом», и зачем вообще этот круг

Логичный вопрос: почему агент не сделает всё разом, как кажется логичнее и быстрее? По двум причинам, и обе важно понять как владельцу.

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

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

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

🧾 Как это выглядит изнутри (на пальцах)

Разложим один заход по кругам на псевдокоде — это просто логика на человеческом языке, не настоящий код. Сцена: клиент просит подтвердить, можно ли отгрузить ему заказ в долг.

Псевдокод (на пальцах) · агент решает задачу по кругам цикла # это НЕ настоящий код, а логика на человеческом языке
задача = «Можно ли отгрузить клиенту № 2207 заказ на 40 000 ₽ в долг?»

# --- круг 1 ---
ДУМАЮ: чтобы решить, нужен баланс и лимит долга этого клиента
ДЕЛАЮ: зову инструмент «1С» → узнать баланс клиента № 2207
ПРОБУЮ: инструмент вернул «долг сейчас = 18 000 ₽, лимит = 50 000 ₽»

# --- круг 2: думаю уже ЗНАЯ результат круга 1 ---
ДУМАЮ: 18 000 + 40 000 = 58 000 — это больше лимита 50 000, считаю точно
ДЕЛАЮ: зову инструмент «калькулятор» → 18 000 + 40 000
ПРОБУЮ: инструмент вернул «58 000»

# --- круг 3: результат ясен, цель достигнута → СТОП ---
ДУМАЮ: 58 000 превышает лимит 50 000 — отгружать в долг нельзя
ОТВЕТ: «Нет: с этим заказом долг станет 58 000 ₽ при лимите 50 000 ₽»
# → агент остановился сам, как только понял ответ. Лишних кругов не делал.

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

🎮 Собери круг цикла по порядку

Задача агенту: «Узнать, не просрочена ли оплата у клиента, и если да — отправить ему вежливое напоминание». Ниже — шаги одного прохода цикла, но они перемешаны. Расставь их в правильном порядке кнопками ↑ / ↓: агент должен сперва подумать, потом сделать шаг инструментом, потом посмотреть на результат — и так круг за кругом, пока не дойдёт до ответа. Опора простая: первый шаг любого круга — всегда «думаю», за ним «делаю», за ним «пробую». Когда выстроишь — жми «Проверить».

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

Агентный цикл, ReAct (цикл «рассуждение — действие — наблюдение»)
Способ, которым агент решает сложную задачу: не одним махом, а по кругу — подумал, какой шаг нужен → сделал один шаг инструментом → посмотрел на результат → снова, пока не готово. Каждый круг опирается на результат предыдущего. Это и делает агента агентом, а не просто болтливым чатом.
Рассуждение (думаю)
Первый шаг каждого круга: агент прикидывает, какой следующий маленький шаг приблизит к цели. Не «решить всё разом», а «что нужно прямо сейчас».
Действие (делаю)
Второй шаг: агент делает один конкретный шаг — зовёт инструмент (заглянуть в систему, посчитать, отправить). Это та самая «рука» из темы 4.1.
Наблюдение (пробую)
Третий шаг: агент смотрит на результат, который вернул инструмент. «Проба ложкой» — дегустация. Без наблюдения агент не знает, что у него вышло, и не понимает, куда двигаться дальше. Топливо для следующего круга.
Условие остановки
Правило «когда перестать крутиться»: как только цель достигнута, агент останавливается и выдаёт финальный ответ — как повар перестаёт пробовать, когда соус «тот самый». Если это условие сбоит, агент крутится бесконечно (про это — следующая тема).

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

«Агент долго крутится и не отвечает мгновенно — значит, завис или тормозит»

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

«Лучше дать агенту всю сложную задачу одним куском — так быстрее и проще»

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

«Раз агент сам себя проверяет по кругу — значит, человек ему вообще не нужен»

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

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

Цикл = агент сам ловит и правит ошибки, но каждый круг стоит денег

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

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

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

🎯 Практика

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

  1. Возьми ту сложную задачу, что держал в голове с начала страницы (или любую многошаговую со своей работы, которую хотел бы отдать AI). Запиши её в одну строку.
  2. Разложи её на круги цикла. Для каждого круга выпиши три строки: думаю (что мне сейчас нужно?), делаю (какой шаг инструментом — заглянуть, посчитать, отправить?), пробую (какой результат я ожидаю увидеть?). Например, «подготовить ответ на жалобу»: круг 1 — поднять историю заказов клиента; круг 2 — проверить условия возврата по этому товару; круг 3 — сложить ответ. Дойди до момента, когда цель достигнута и агент останавливается.
  3. Посчитай круги. Сколько их вышло? Это число — твоя прикидка, насколько «долго думает» и во сколько вызовов модели обойдётся такая задача. Если кругов один-два — задача почти простая, цикл тут не главное. Если пять-семь и больше — это серьёзная агентная работа, и теперь ты понимаешь, почему она не делается за секунду и почему стоит дороже.

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

🔗 Что дальше

Следующая тема: 5.2 — Почему агент зацикливается и жжёт бюджет. Обратная сторона цикла: что происходит, когда условие остановки сбоит и агент крутится по кругу бесконечно — соус всё пробует и пробует, а блюдо стынет. И главное — какой простой предохранитель (лимит на число кругов) ставят, чтобы это не разорило.

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

Дальше в модуле и курсе: