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

Готовка → дегустация → правка: Evaluator-Optimizer

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

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

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

Знакомо? Дальше всегда одно из двух. Либо ты берёшь этот черновик и сам докручиваешь руками — то есть AI сэкономил тебе минут пять, а не час. Либо отдаёшь как есть, а потом краснеешь за описание товара, в котором перепутаны характеристики. И там, и там обидно: ты чувствуешь, что качество достижимо, просто одним заходом его не вытащить — нужны те самые круги «сделал → посмотрел свежим взглядом → переделал».

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

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

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

🍲 Повар готовит, шеф пробует, повар переделывает

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

Вот это движение по кругу — готовка → дегустация → правка → снова дегустация — и есть наш сегодняшний паттерн (приём, повторяемая схема работы). По-английски он называется Evaluator-Optimizer, по-русски — оценщик-улучшатель. Две роли в петле: одна делает, другая оценивает и говорит, что поправить, — и так по кругу, пока не станет приемлемо.

Заметь три вещи, на которых всё держится, — мы к ним ещё вернёмся в тренажёре.

Петля «готовка → дегустация → правка»
👨‍🍳
Генератор
Повар у плиты. Делает черновик, а потом правит его ровно по замечаниям.
🥄
Оценщик
Шеф с чек-листом. Пробует, сверяет с критериями, выдаёт конкретные правки.
↩ не дотянул → правки летят назад повару
🛑
Момент СТОП
Шеф сказал «отдавай» — ИЛИ круг прокрутили уже три раза. Что наступит раньше — то и останавливает петлю. Без СТОПа кухня варит вечно.

Если тебе кажется, что это очень похоже на producer-critic из темы про самопроверку, — тебе не кажется. Это он и есть, выросший. Там мы впервые развели две роли: один делает, другой проверяет свежим взглядом. Здесь та же пара, но мы замыкаем её в петлю: критик не просто говорит «вот тут плохо» и уходит — его замечания возвращаются генератору, тот переделывает, и круг повторяется. Producer-critic — это один проход. Evaluator-optimizer — это producer-critic, поставленный на повтор до результата.

🎯 Почему «по чётким критериям» — это половина всего

Самая частая ошибка с этой петлёй — думать, что главное в ней повар. Нет. Главное — шеф с понятным чек-листом. Петля настолько хороша, насколько хорош оценщик, потому что именно он определяет, куда крутится круг.

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

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

🛑 Лимит итераций: почему без него кухня встаёт

Теперь самое дорогое в прямом смысле слова. Петля по определению крутится, пока результат не станет приемлемым. А что, если он никогда не станет? Что, если критерий слишком жёсткий, или задача в принципе не вытягивается, или оценщик с генератором просто гоняют правки туда-сюда, не сходясь?

Тогда без страховки петля будет крутиться вечно. А каждый круг — это работа двух ролей, то есть реальные секунды и реальные деньги (про то, как агент вообще способен зациклиться, у нас была отдельная тема — 5.2 — Почему агент зацикливается). Кухня, на которой повар вечно переделывает один соус, а шеф вечно недоволен, — это не кухня высокого качества. Это кухня, которая встала: остальные заказы стынут, а гость так и не поел.

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

Псевдокод (на пальцах) · петля оценщик-улучшатель с лимитом # это НЕ настоящий код, а логика на человеческом языке
задача = «перевести письмо клиенту: смысл точь-в-точь, термины по глоссарию, тон официальный»
лимит_кругов = 3 # ← страховка: больше трёх раз не крутим

черновик = ГЕНЕРАТОР делает первый вариант по задаче

повторять круг (но не больше, чем лимит_кругов):
  вердикт, правки = ОЦЕНЩИК проверяет черновик по критериям задачи
  если вердикт == «приемлемо» → выйти из круга # СТОП по качеству
  черновик = ГЕНЕРАТОР переделывает по этим правкам

# вышли из круга: либо оценщик одобрил, либо упёрлись в лимит
если одобрено → выдать черновик
иначе → отдать лучший черновик + пометка «дошли до лимита, нужен человек»
# → именно «лимит_кругов» не даёт кухне встать на бесконечной правке

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

🎮 Собери петлю под задачу

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

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

Evaluator-Optimizer (оценщик-улучшатель)
Паттерн оркестрации (orchestration — дирижирование агентами): две роли в петле — генератор делает черновик, оценщик проверяет по критериям и выдаёт правки, генератор переделывает, и так по кругу, пока не станет приемлемо. На кухне: повар готовит → шеф пробует → повар правит → снова дегустация.
Генератор
Роль, которая делает работу: первый черновик, а потом — переделки по замечаниям оценщика. Повар у плиты. Его качество вторично: куда важнее, насколько хорош тот, кто его правит.
Оценщик
Роль, которая проверяет результат по чётким критериям и выдаёт конкретные правки, а не «нравится / не нравится». Шеф с чек-листом. Сердце петли: каков критерий — туда и сойдётся круг. Развитие роли-критика из producer-critic.
Лимит итераций
Предельное число кругов, после которого петля останавливается принудительно, даже если идеал не достигнут. Обязательная страховка: без неё петля на трудной задаче крутится вечно и жжёт деньги. Стоп — по тому, что наступит раньше: «приемлемо» или лимит.

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

«Раз петля доводит результат — её стоит ставить всюду, где важно качество: с петлёй всегда лучше, чем одним заходом»

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

«Эта петля сделает хорошим что угодно — лишь бы задачу поставить»

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

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

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

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

Где петля окупается, а где жжёт деньги по кругу

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

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

И след вперёд, чтобы видеть общую картину. Эта петля — родная сестра приёмов из агентного цикла: самопроверки (reflection) и особенно producer-critic, который мы тут довели до полноценного узла оркестрации. Тот же принцип «тот, кто делает, и тот, кто судит, — разные роли» в полный рост развернётся, когда дойдём до честной оценки AI-системы целиком: там оценщика специально отделяют от исполнителя, чтобы не вышло «сам сделал — сам себе пятёрку поставил».

🎯 Практика

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

  1. Вспомни задачу со своей работы, где важно качество и одним заходом его не вытащить: ты сам обычно пишешь и переписываешь это по кругу. Описание, письмо, перевод, расчёт — запиши в одну строку.
  2. Сформулируй для неё критерий приёмки — чек-лист, по которому ты говоришь «вот теперь нормально». Честно проверь: он проверяемый («все сроки и цифры совпадают с исходником», «термины по нашему списку») или размытый («чтобы было хорошо»)? Если размытый — попробуй переписать так, чтобы по нему мог отчитаться живой стажёр. Не получается — этой задаче петля не подойдёт, и это нормальный вывод.
  3. Назови лимит кругов: сколько раз максимум ты готов прогнать «сделал → проверил → поправил», прежде чем сказать «хватит, дальше зову человека»? И прикинь: цена нескольких лишних вызовов модели тут окупается качеством — или дешевле один заход плюс твоя короткая правка руками?

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

🔗 Что дальше

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

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

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