Дегустация перед подачей: самопроверка (Reflection)
🤔 Зачем это читать
Ты попросил AI собрать письмо клиенту со счётом. Через секунду — готовый текст, гладкий, уверенный. Ты копируешь, и в последний момент глаз цепляется: сумма не сходится, обращение к другому человеку, а в постскриптуме обещана скидка, которой нет. Ты вздыхаешь, садишься и правишь руками. Опять. Третий раз за день ты не используешь AI, а доделываешь за ним.
Знакомо? И вот что обиднее всего: каждую из этих ошибок было видно невооружённым глазом. Не нужен эксперт, чтобы заметить «сумма не сходится» — нужно просто перечитать черновик перед отправкой. Ровно то, что ты делаешь руками. Возникает честный вопрос: а почему этого не делает сам агент? Почему он отдаёт первое, что написалось, как официант, который несёт блюдо из кухни, ни разу его не попробовав?
Оказывается — может. Приём называется самопроверка (reflection — буквально «отражение, обдумывание»): агент сначала пишет черновик, потом сам же его критикует по понятным критериям, находит косяки и переписывает — и только потом отдаёт тебе. Тот самый «перечитай перед отправкой», встроенный внутрь. В теме 5.1 про агентный цикл ты видел, как агент крутит «подумал → сделал → посмотрел на результат». Самопроверка — это тот же круг, но направленный на собственный черновик.
После этой темы ты сможешь посмотреть на любую задачу для AI и решить: стоит ли тут включать самопроверку — и какие именно критерии заложить, чтобы агент ловил свой брак до тебя, а не после. Это разница между «AI-помощник, за которым всё доделываешь» и «AI-работник, которому можно доверить черновик».
Задержись на 10 секунд. Вспомни последний черновик от AI, который ты правил руками перед тем, как пустить в дело — письмо, отчёт, описание товара, ответ клиенту. Что именно ты исправил? Подержи это в голове. К концу страницы мы превратим эти твои правки в чек-лист, по которому агент проверил бы себя сам.
🥄 Повар пробует ложкой, прежде чем отдать блюдо
Зайдём через кухню — тут всё очевидно. Хороший повар не отправляет блюдо в зал, едва сняв с плиты. Он берёт чистую ложку, пробует. Недосолено — добавляет соль, мешает, пробует снова. Жидковато — выпаривает, пробует ещё раз. И только когда сам доволен — кричит «отдача!» и блюдо уходит к гостю. Между «приготовил» и «подал» всегда есть этот шаг: попробовал своё и поправил.
Так вот, голая модель по умолчанию работает как повар, который этот шаг пропускает. Сготовил черновик — и сразу в зал, не пробуя. Что первым написалось, то и отдал. Иногда везёт и блюдо хорошее. А иногда — недосол, который заметил бы любой, кто хоть раз поднёс ложку ко рту.
Самопроверка (reflection) — это и есть встроенная ложка. Мы заставляем агента после черновика остановиться и спросить себя: «А что не так с тем, что я написал? Где тут косяки?» — найти их и переписать. Один в один дегустация: попробовал своё блюдо, нашёл недосол, поправил, попробовал снова.
Важная тонкость, чтобы метафора не врала. Модель ничего не «пробует на вкус» в человеческом смысле — у неё нет рецепторов и нет сознания. Технически происходит вот что: ей дают её же черновик обратно как входные данные и отдельную задачу «найди в этом ошибки по таким-то критериям». Это всё та же работа с текстом, просто текст на входе — её собственный прошлый ответ. Но образ дегустации держит суть точно: сначала своё блюдо проверяют, потом подают.
🔁 Петля (круг-повтор) из трёх шагов и одного условия остановки
Разложим механику. Самопроверка — это маленькая петля (круг, который агент проходит, а при нужде повторяет) из трёх ролей-шагов плюс одно правило, когда остановиться.
Если свести шаги в одну фразу — получится так: написал черновик → сам нашёл в нём ошибки по критериям → переписал → проверил, не осталось ли, и либо отдал, либо пошёл на ещё один круг. Всё. Никакой магии — просто агент не выдаёт первое, что родилось, а сначала придирается к себе.
И сразу про самое важное правило, без которого петля опасна, — условие остановки. Без него агент может крутиться вечно: придрался, поправил, опять придрался к новому варианту, опять поправил. Блюдо стынет, гость ждёт, а счётчик (каждый круг — это отдельный платный заход модели, об этом ниже) накручивает деньги. Поэтому в петлю всегда зашивают тормоз: «либо косяков не осталось, либо уже сделано N кругов — всё равно отдаём лучший вариант». Эту ловушку — агент, который зацикливается, — мы разбираем отдельно в теме 5.2 — Почему агент зацикливается; тут запомни главное: у самопроверки обязан быть потолок кругов.
📋 Чек-лист решает, поймает агент косяк или нет
Вот неочевидное и самое денежное. Сам по себе призыв «проверь, нет ли ошибок» работает слабо. Это как сказать повару «попробуй, нормально ли» — нормально по чьим меркам? Сила самопроверки не в самом факте проверки, а в том, по каким критериям агент себя проверяет. Размытый критерий — размытая проверка.
Сравни. Мутно: «проверь, всё ли хорошо в письме». Агент пробежится по верхам и скажет «вроде нормально». А теперь чётко: «проверь по списку — (1) сумма в тексте совпадает с суммой в счёте; (2) имя клиента то же, что в заявке; (3) нет обещаний скидок или сроков, которых нет в исходных данных; (4) тон вежливый, без канцелярита (казёнщины, сухого языка отписки)». С таким списком агент придирается прицельно — и ловит ровно те косяки, на которых ты обжигался руками.
Чувствуешь, откуда берутся хорошие критерии? Это твои собственные правки. Каждый раз, когда ты доделываешь за AI, ты применяешь какой-то свой невысказанный критерий («тут он вечно путает суммы», «опять выдумал срок доставки»). Самопроверка — это способ вытащить эти критерии из твоей головы и отдать их агенту, чтобы он гонял черновик по ним сам.
🧾 Как это выглядит изнутри (на пальцах)
Разложим один заход на псевдокоде — это просто логика на человеческом языке, не настоящий код. Сцена: агент готовит письмо клиенту со счётом.
задача = «написать письмо клиенту со счётом на 84 000 ₽»
макс_кругов = 3 # потолок: дальше не крутимся, даже если неидеально
черновик = модель пишет первый вариант письма
повторять (но не больше макс_кругов раз):
# роль КРИТИК — та же модель, но задача другая: придраться по чек-листу
# важно: каждый такой заход (проверка, потом правка) — отдельный платный вызов модели
замечания = модель проверяет черновик по списку:
— сумма в тексте = сумма в счёте?
— имя клиента верное?
— нет выдуманных скидок и сроков?
— тон вежливый, без канцелярита?
# УСЛОВИЕ ОСТАНОВКИ — нашёл «всё чисто»? выходим
если замечаний нет: остановиться, отдать черновик
# иначе роль ПРАВКА — переписать с учётом замечаний
черновик = модель переписывает черновик, устранив замечания
отдать черновик # вышли либо «чисто», либо упёрлись в потолок кругов
Суть видно сразу. Одна и та же модель играет две разные роли по очереди: сначала «повар» пишет, потом «критик» придирается, потом снова «повар» правит. Между ними — условие остановки, чтобы не крутиться вечно. Это и есть вся механика самопроверки: не новая суперспособность модели, а дисциплина процесса — заставить её перечитать себя, прежде чем отдать.
⚠️ Где дегустация собой же — ломается
Теперь честно про границу приёма, иначе родится миф. Повар пробует своё блюдо своим же языком. Если у него от рождения притуплён вкус на горечь — он горечь и не поймает, сколько ни пробуй. Своя дегустация ловит то, что повар в принципе способен распознать, но не ловит то, чего он не знает.
У модели — ровно так же. Самопроверка отлично ловит «забыл, не сходится, противоречит сам себе, не по формату» — то, что видно при внимательном перечитывании. Но если модель искренне «уверена» в неправде — например, выдумала факт и сама в него «верит» (помнишь галлюцинации из темы 2.5?), — то на вопрос «нет ли тут вранья?» она бодро ответит «всё верно». Тем же уверенным тоном. Слепое пятно само себя не видит.
Отсюда два следствия, которые стоит унести. Первое: самопроверка — не гарантия истины, а фильтр от небрежности. Она резко снижает явный брак, но не заменяет проверку фактов через инструмент или человека. Второе: проверка тем сильнее, чем свежее «вкус» у проверяющего. Поэтому следующий логичный шаг — посадить за критику не того же повара, а отдельного критика с другим взглядом. Это уже отдельный приём (продюсер-критик), и о нём — следующая тема.
🎮 Собери петлю самопроверки
Два захода. Первый — короткая разминка: собери саму петлю из шагов в правильном порядке, чтобы механика легла в руку. Второй — главный: отбери критерии, по которым агенту стоит проверять черновик письма со счётом. Сначала прикинь сам, потом жми. Это не экзамен, а тренировка того самого чутья «где включить дегустацию и как её настроить».
Заход 1 (разминка). Порядок шагов в петле
Нажимай шаги в том порядке, в котором они идут в петле самопроверки. Передумал — жми «Сбросить».
Заход 2 (главный). Какие критерии заложить в чек-лист
Задача агента: письмо клиенту со счётом. Отметь критерии, которые стоит дать ему на самопроверку, и пропусти лишние. Когда определишься — жми «Проверить выбор».
📖 Ключевые понятия
- Самопроверка (reflection)
- Приём, при котором агент не отдаёт первый черновик, а сначала сам его критикует по заданным критериям, находит ошибки и переписывает — и только потом выдаёт результат. Тот самый «перечитай перед отправкой», встроенный в работу агента. Метафора — повар пробует своё блюдо ложкой и доводит до ума перед подачей.
- Петля «черновик → критика → правка»
- Круг из трёх шагов, который агент проходит, а при необходимости повторяет: пишет черновик, критикует его по чек-листу, переписывает с учётом замечаний. Та же логика, что в агентном цикле из темы 5.1, но направленная на собственный ответ.
- Критик (critic)
- Роль «придирающегося»: задача — найти в черновике косяки по конкретным критериям, а не написать ответ заново. В простой самопроверке эту роль играет та же модель, что и писала; в более сильном варианте — отдельный критик со свежим взглядом (тема 5.4).
- Условие остановки
- Правило, когда выйти из петли: «косяков не осталось» или «уже сделано N кругов — отдаём лучший вариант». Без него агент рискует крутиться бесконечно, накручивая время и счёт за вызовы модели. Обязательный тормоз любой самопроверки.
- Критерии проверки (чек-лист)
- Конкретный список, по которому агент придирается к черновику: суммы сходятся, имя верное, ничего не выдумано, тон уместный. Сила самопроверки не в самом факте проверки, а в чёткости этих критериев — а лучший их источник — твои собственные правки за AI.
🛡️ Частые заблуждения
«Если агент сам себя проверил — значит, ответ точно верный»
Нет. Самопроверка ловит небрежность — забыл, не сходится, противоречит сам себе, нарушил формат. Но если модель искренне «уверена» в выдуманном факте, она и при проверке скажет «всё верно» тем же уверенным тоном: своё слепое пятно проверяющий не видит. Самопроверка резко снижает явный брак, но не заменяет сверку фактов через инструмент или человека.
«Достаточно просто добавить „проверь, нет ли ошибок" — и качество вырастет»
Слабо сработает. Размытая просьба даёт размытую проверку: агент пробежится по верхам и скажет «вроде нормально». Толк появляется только с конкретными критериями — что именно сверять (суммы с счётом, имя с заявкой, обещания с исходными данными). Сила приёма не в самом факте проверки, а в чёткости чек-листа.
«Самопроверку надо включать везде — хуже точно не будет»
Будет дороже и медленнее. Каждый круг — отдельный платный вызов модели плюс задержка. На дешёвых массовых задачах, где правка стоит копейки, лишние круги съедят больше, чем сэкономят. Самопроверка окупается там, где ошибка дорогая или правка руками отнимает много времени, — а не «на всякий случай везде».
🧠 AI-чутьё (AI Judgment)
Меньше брака — меньше правок руками, но за каждый круг ты платишь
Вот рамка на вынос: самопроверка — это сделка «лишний круг модели в обмен на меньше правок человеком». Агент тратит ещё один заход (а значит, время и деньги), чтобы перечитать себя и поймать косяк до тебя. Выгодно это тогда, когда твоя правка дороже этого круга — когда ошибка бьёт по репутации, по деньгам, по клиенту, или когда ты доделываешь за AI помногу и подолгу. Тут самопроверка прямо окупается: меньше брака на выходе — меньше ручной возни на твоей стороне.
И обратная сторона той же монеты. На дешёвых массовых задачах, где одна штука стоит копейки и правится за секунду, лишние круги — чистый перерасход. Гонять самопроверку на тысяче коротких ответов «на всякий случай» — это как заставлять повара трижды пробовать каждый бутерброд на потоке фастфуда: гость ждёт, кухня встаёт, а толку чуть. Поэтому, прикидывая любое AI-решение, спрашивай не «а давайте везде добавим проверку», а «где именно правка дороже лишнего круга — туда и ставим».
И держи практический след к проектированию своего решения. Самопроверка — твой первый и самый дешёвый рычаг качества: её можно включить без отдельных инструментов и новых систем, просто дисциплиной процесса и хорошим чек-листом. Когда дойдём до сборки своего AI-процесса, вопрос будет звучать так: на каких шагах цена ошибки оправдывает дегустацию — и какие критерии (взятые из твоих же правок) в неё заложить. Это и есть мышление владельца: не «пусть проверяет всё», а «проверяем там, где это окупается».
🎯 Практика
Одно задание на пять минут — оно превращает «самопроверку» из книжной идеи в готовый чек-лист под твою задачу.
- Возьми тот черновик от AI, который ты держал в голове с начала страницы (или последний, что правил руками). Выпиши 3–5 правок, которые ты тогда внёс. Не формулировки — суть: «исправил сумму», «убрал выдуманный срок», «смягчил тон».
- Переверни каждую правку в критерий самопроверки — то, что агент мог бы проверить сам, перечитав свой черновик. «Исправил сумму» → «сумма в тексте совпадает с исходной»; «убрал выдуманный срок» → «нет сроков и обещаний, которых нет в данных». Это и есть твой чек-лист.
- Теперь честно отметь у каждого критерия: агент сможет проверить это сам по тексту — или тут нужен внешний факт / инструмент / живой человек? Свежий курс, актуальный остаток, «понравится ли клиенту» — самопроверкой не ловятся. Этот разбор — половина твоего технического задания на качество AI-решения и честный ответ на вопрос «где дегустация поможет, а где нет».
Помнишь письмо со счётом из начала, где сумма не сходилась и срок был выдуман? Теперь видно, как этого избежать: эти две твои правки — готовые критерии чек-листа, по которым агент проверил бы себя сам. Доверять стоит не тому черновику, что написался первым, а тому, что прошёл дегустацию.