3,583 papers
arXiv:2608.02919 77 3 авг. 2026 г. FREE

FLARE: чинить промпт через диагноз конкретных ошибок, а не общие советы

КЛЮЧЕВАЯ СУТЬ
Просишь модель "улучши промпт" — получаешь воду типа "думай по шагам" и "будь внимательнее". Она не знает, что именно ломается, и лечит всё сразу вместо конкретной болячки. FLARE даёт возможность точечно чинить промпт под причину каждого провала — без наугад подобранных формулировок. Модель получает не абстрактную просьбу, а пары неверный ответ vs правильный ответ по каждому случаю. Она перестаёт угадывать проблему и начинает сравнивать конкретные случаидиагноз вместо интуиции.
Адаптировать под запрос

TL;DR

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

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

FLARE решает это так: прогоняет промпт на наборе примеров → помечает каждый ответ как ВЕРНО или НЕВЕРНО (с указанием правильного ответа) → отдаёт модели весь список ошибок с диагнозом → модель переписывает промпт хирургически под эти конкретные провалы. Цикл повторяется до 40 раз, оставляют версию с лучшим результатом на проверочном наборе.


🔬

Схема метода

ШАГ 0: Прогони текущий промпт на наборе примеров → получи ответы модели
ШАГ 1: Сравни каждый ответ с правильным → пометь ВЕРНО или НЕВЕРНО (+ правильный ответ)
ШАГ 2: Передай в отдельном запросе: текущий промпт + все примеры (верные и неверные) + история последних 3 попыток
ШАГ 3: Модель диагностирует причину каждой ошибки → переписывает промпт точечными правками
ШАГ 4: Проверь новый промпт на том же наборе → если лучше — сохрани как лучший, если хуже — откати
Повтори шаги 1–4 несколько раундов

В оригинале это автоматизированный цикл (код, API, 40 итераций). Но саму логику — "диагноз по конкретной ошибке → точечная правка" — можно провернуть руками в чате, просто с меньшим числом раундов.


🚀

Пример применения

Задача: Вы сделали промпт для сортировки отзывов на Wildberries по тональности (позитив/негатив/нейтрально + эмоция: разочарование, восторг, злость). Промпт работает, но иногда путает "нейтрально раздражённые" отзывы с "негативными".

Промпт:

Вот промпт, которым я классифицирую отзывы покупателей:

ТЕКУЩИЙ ПРОМПТ:
{вставить свой промпт}

Я проверил его на реальных отзывах. Вот случаи, где он ошибся:

Пример 1:
Отзыв: "Доставили быстро, но упаковка была помята. В целом норм."
Ответ модели: Негатив
Правильный ответ: Нейтрально

Пример 2:
Отзыв: "Товар супер, но менеджер грубил в чате."
Ответ модели: Позитив
Правильный ответ: Смешанная эмоция (восторг + раздражение)

[добавь ещё 3-5 таких примеров]

Для каждой ошибки: определи, ПОЧЕМУ промпт привёл модель к неверному выводу.
Потом перепиши промпт так, чтобы устранить именно эти причины — конкретными правками, а не общими фразами вроде "будь точнее".
Не трогай части промпта, которые работают правильно.

Результат: Модель разберёт каждый пример отдельно (например: "модель путает упоминание мелкого неудобства с общим негативом — нужно явное правило про вес разных сигналов"), а затем выдаст обновлённую версию промпта с конкретными добавленными правилами под каждый найденный паттерн ошибки.


🧠

Почему это работает

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

Зато модель хорошо умеет сравнивать два конкретных объекта — неверный ответ и правильный — и находить разницу между ними. Это задача на сопоставление, а не на абстрактное рассуждение.

FLARE использует именно эту сильную сторону: заставляет модель не гадать "что вообще не так", а разбирать конкретные пары "ошибся здесь → вот что должно было быть" — и чинить промпт под каждый найденный паттерн.

Рычаги управления: - Число примеров-ошибок → больше примеров = шире диагноз, но больше текста в запросе. Для быстрой проверки хватает 5-8 показательных провалов. - История последних попыток → если храните, что уже пробовали менять, модель не повторяет одни и те же правки по кругу. - Полный набор верных примеров рядом с ошибками → показывает модели, что не надо ломать при правке.


📋

Шаблон промпта

Вот промпт для задачи: {описание задачи}

ТЕКУЩИЙ ПРОМПТ:
{текущий_промпт}

Я протестировал промпт на реальных примерах. Вот случаи, где он ошибся:

Пример 1:
Вход: {вход_1}
Ответ модели: {ответ_1} — НЕВЕРНО
Правильный ответ: {правильный_ответ_1}

Пример 2:
Вход: {вход_2}
Ответ модели: {ответ_2} — НЕВЕРНО
Правильный ответ: {правильный_ответ_2}

[добавь остальные ошибочные примеры, 5-8 штук]

Для каждой ошибки:
1. Определи конкретную причину — почему промпт привёл к неверному ответу.
2. Перепиши промпт точечно под эту причину — без общих фраз типа "будь внимательнее".
3. Сохрани части промпта, которые уже работают правильно.

Плейсхолдеры: {описание задачи} — что классифицируете/извлекаете/делаете, {текущий_промпт} — ваш рабочий промпт, {вход/ответ/правильный_ответ} — конкретные провальные случаи из тестов.

🚀 Быстрый старт — вставь в чат:

Вот метод улучшения промпта через диагностику конкретных ошибок (FLARE). 
Адаптируй под мою задачу: {твоя задача}. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, какие именно ошибки вы видели на практике — потому что без конкретных пар "неверный/верный ответ" метод не работает, диагноз строится именно на сравнении.


⚠️

Ограничения

⚠️ Нужен правильный ответ: метод требует знать, что было "верно" в каждом случае. Для субъективных задач без чёткого эталона (креативный текст, стиль) метод не применим.

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

⚠️ Ручная версия требует нескольких раундов: в статье цикл автоматический и идёт до 40 итераций. Руками в чате реалистично сделать 2-4 раунда — этого может не хватить для сложных промптов.


🔗

Ресурсы

FLARE (Few-shot Learning-based Adaptive Reflective Engine), Microsoft — Dhanasekar Sundararaman, Bharat Gandhi, Aashna Garg, Minjie Li. Сравнение с GEPA (Genetic-Pareto). Код: github.com/microsoft/FLARE


📋 Дайджест исследования

Ключевая суть

Просишь модель "улучши промпт" — получаешь воду типа "думай по шагам" и "будь внимательнее". Она не знает, что именно ломается, и лечит всё сразу вместо конкретной болячки. FLARE даёт возможность точечно чинить промпт под причину каждого провала — без наугад подобранных формулировок. Модель получает не абстрактную просьбу, а пары неверный ответ vs правильный ответ по каждому случаю. Она перестаёт угадывать проблему и начинает сравнивать конкретные случаидиагноз вместо интуиции.

Принцип работы

Процесс из трёх шагов: пометь каждый ответ ВЕРНО/НЕВЕРНО с указанием правильного варианта, отдай модели весь список провалов, попроси точечную правку под каждую причину. Сначала диагноз, потом лечение — не наоборот. Это как у врача: сначала анализы и симптомы, потом рецепт, а не "выпей что-нибудь от всех болезней". Точечная правка не трогает то, что уже работает — исправляет только конкретный сбой.

Почему работает

Модель плохо угадывает абстрактную причину провала — она не видит собственных слабых мест изнутри. Зато отлично сравнивает два конкретных объекта: неверный ответ и правильный. Сравнение пар работает лучше просьбы "подумай что не так" — это задача на сопоставление, а не на абстрактное рассуждение. В оригинале цикл автоматический, до 40 итераций, но сам принцип — диагноз по конкретной ошибке — работает и вручную в чате.

Когда применять

Промпт-инжиниринг → для задач с понятным правильным ответом: классификация отзывов, извлечение данных, модерация контента. Особенно когда промпт путается в похожих граничных случаях (например, "нейтрально раздражённый" отзыв путает с "негативным"). НЕ подходит для творческих и субъективных задач без чёткого эталона — там просто нет "правильного" ответа для сравнения.

Мини-рецепт

1. Собери провалы: прогони промпт на 10-20 примерах, выпиши 5-8 явных ошибок.
2. Зафиксируй пары: для каждой ошибки запиши вход, что ответила модель, что должно было быть.
3. Проси диагноз: пусть модель объяснит причину каждой ошибки отдельно — не общую, а конкретную.
4. Проси точечную правку: не "улучши промпт", а "исправь именно эту причину, остальное не трогай".
5. Проверь и повтори: прогони новую версию на тех же примерах. Хуже — откати. Лучше — сохрани. Повтори 2-4 раза.

Примеры

[ПЛОХО] : Вот мой промпт для классификации отзывов, он иногда путает нейтральные с негативными. Улучши его
[ХОРОШО] : Вот промпт: {промпт}. Вот 5 случаев где он ошибся: Отзыв "Доставили быстро, но упаковка помята" — ответ модели: Негатив, правильный ответ: Нейтрально. [+4 таких примера]. Для каждого случая определи причину ошибки и перепиши промпт точечно под неё, не трогая остальные части
Источник: FLARE: Few-shot Learning-based Adaptive Reflective Engine (Microsoft)
ArXiv ID: 2608.02919 | Сгенерировано: 2026-08-05 04:30

Проблемы LLM

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

Методы

МетодСуть
Диагноз по парам "неверно/верно" — точечная правка промптаСобери 5-8 примеров, где промпт дал неверный ответ. Для каждого укажи вход, ответ модели и правильный ответ. Попроси модель: 1) определить конкретную причину каждой ошибки, 2) переписать промпт точечными правками под эту причину, 3) не трогать части промпта, которые уже работают. Пример 1: Вход: ... Ответ модели: ... — НЕВЕРНО. Правильный ответ: .... Работает потому что сравнение двух конкретных объектов — сильная сторона модели, в отличие от абстрактной оценки "что тут плохо". Когда применять: есть понятный критерий правильности — классификация, извлечение данных, модерация. Когда не работает: субъективные задачи без эталона (стиль, креатив), сложные многошаговые рассуждения — там проблема не в формулировке промпта, а в самой сложности задачи
📖 Простыми словами

FLARE: Few-shot Learning-based Adaptive ReflectiveEngine

arXiv: 2608.02919

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

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

В работе это выглядит так: система выцепляет примеры, где модель, допустим, перепутала «нейтральное раздражение» с «чистым негативом» в отзывах. Вместо того чтобы переписывать всю инструкцию, FLARE заставляет модель сформулировать причину ошибки и добавить в промпт адаптивное правило именно под этот случай. Работает принцип Few-shot Learning, где на паре-тройке примеров модель понимает тонкую грань, которую раньше не видела. Это не просто правка текста, это создание базы «работы над ошибками», которая вшивается в логику запроса.

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

Короче: хватит надеяться, что модель «сама поймет» контекст из общих фраз. Нужно кормить её собственными ошибками через FLARE, чтобы она видела разницу между тем, что она выдала, и тем, что ты реально хотел. Либо ты настраиваешь этот цикл обратной связи, либо твой промпт так и останется набором пожеланий, которые AI игнорирует в 30% случаев. Диагноз важнее лечения, и теперь модель умеет ставить его себе сама.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с