3,583 papers
arXiv:2607.18724 75 21 июля 2026 г. FREE

TARA: типизированный ремонт промптов вместо общего «добавь деталей»

КЛЮЧЕВАЯ СУТЬ
2 кота вместо 3 на картинке? Фраза «добавь деталей» тут не спасёт — нужно точное число и слово «раздельно». TARA позволяет чинить промпт для генерации картинок точечно — под каждый тип ошибки свой рецепт, а не одну общую формулу на все случаи. Метод сначала находит, что именно не совпало — пропущенный объект, неверное число, спутанный цвет, нечитаемый текст — а потом лечит каждую проблему своим приёмом. Фишка: счёт лечится числом и словом «раздельно», текст — точной цитатой в кавычках, атрибут — жёсткой привязкой к конкретному объекту.
Адаптировать под запрос

TL;DR

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

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

TARA работает в 4 шага: диагностирует, что именно не выполнено на картинке; распределяет каждую находку в свой тип с готовым рецептом ремонта; собирает все точечные правки в один связный промпт; и генерирует картинку заново — но принимает результат только если он реально лучше оригинала, иначе откатывается к старой версии.


🔬

Схема метода

ШАГ 1: ДИАГНОСТИКА → разбить запрос на список конкретных проверяемых утверждений 
        ("на картинке есть кот", "их ровно 3", "надпись читается как X") 
        → сверить каждое с картинкой → список несовпадений с типом ошибки

ШАГ 2: РАСПРЕДЕЛЕНИЕ → каждой найденной ошибке присвоить тип-специфичный рецепт исправления 
        (счёт → явное число + "по отдельности"; текст → точная цитата в кавычках + шрифт; 
        объект → сделать заметным на переднем плане; отношение → чёткое указание расположения)

ШАГ 3: КОМПИЛЯЦИЯ → собрать все точечные правки в один финальный промпт, 
        не трогая то, что уже было верно

ШАГ 4: ГЕЙТ ПРИНЯТИЯ → сгенерировать картинку с новым промптом один раз, 
        сравнить с оригиналом → принять новую версию только если она лучше, 
        иначе вернуться к старой

Шаги 1–3 — текстовая работа с LLM (без генерации картинки). Шаг 4 требует одной генерации изображения в сервисе (DALL-E, Midjourney).


🚀

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

Задача: Вы делаете рекламный визуал в ChatGPT (с DALL-E) для小 магазина: «3 кота в разноцветных шапках (красная, синяя, жёлтая) сидят на диване, на стене вывеска с надписью "Скидка 50%"». Генератор почти всегда путает: рисует 2 кота, все шапки одного цвета, текст на вывеске превращается в кашу из букв.

Промпт (после генерации первой картинки, отправляете картинку обратно в чат):

Вот картинка, которую сгенерировал DALL-E по промпту:
«3 кота в разноцветных шапках (красная, синяя, жёлтая) сидят на диване, 
на стене вывеска с надписью "Скидка 50%"»

Разбей этот промпт на список конкретных проверяемых утверждений 
(сколько котов, какие цвета шапок у кого, есть ли вывеска, что на ней написано).
Проверь каждое утверждение на картинке. Для каждого несовпадения укажи ТИП ошибки: 
неверное количество / неверный атрибут / отсутствующий объект / нечитаемый текст.

Теперь для каждой найденной ошибки предложи ТОЧЕЧНОЕ исправление конкретно под её тип:
- если количество — впиши явное число и слово "отдельно друг от друга"
- если атрибут — привяжи цвет к конкретному коту явно ("кот слева — в красной шапке")
- если текст — дай точную цитату в кавычках и слово "крупный чёткий шрифт"

Собери все исправления в один новый промпт, не убирая то, что уже было верно правильно.

Результат: LLM выдаст таблицу или список: что не совпало и какого типа ошибка, затем — переписанный промпт с точечными правками (не «добавь больше деталей», а конкретные фразы под каждую проблему). Вы генерируете картинку заново и сравниваете — если стало лучше, используете новую версию, если хуже — возвращаетесь к первой.


🧠

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

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

Зато LLM отлично выполняет узкие, конкретные инструкции: если сказать «впиши точное число и раздели объекты» или «процитируй текст в кавычках» — модель это сделает прицельно.

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

Рычаги управления: - Порог «уже почти правильно» (в оригинале 0.72) — если у вас картинка почти удалась, можно не переписывать промпт вообще, а просто попросить генератор попробовать с новым сидом - Набор типов ошибок — можно расширить под свою задачу (например, добавить тип «неверный ракурс» для фотографий продукта) - Критерий гейта — «лучше/хуже» можно заменить на свой чек-лист требований к финальной картинке


📋

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

Вот картинка, сгенерированная по промпту: «{исходный_промпт}»

1. Разбей промпт на список конкретных проверяемых утверждений.
2. Сверь каждое утверждение с картинкой. Отметь: выполнено / не выполнено.
3. Для каждого невыполненного пункта укажи тип ошибки:
   - отсутствующий объект
   - неверное количество
   - неверный атрибут (цвет, размер, материал)
   - неверное расположение/отношение между объектами
   - нечитаемый или неверный текст
   - несоответствие стиля

4. Для каждой ошибки дай ТОЧЕЧНОЕ исправление под её тип:
   - количество → явное число + указание "раздельно"
   - атрибут → привязка атрибута к конкретному объекту явно
   - расположение → чёткое указание позиции ("слева от", "на фоне")
   - текст → точная цитата в кавычках + требование к шрифту
   - объект → сделать заметным, на переднем плане

5. Собери все исправления в один новый промпт. 
   Не убирай то, что уже было верно. Не добавляй ничего лишнего.

Подставьте {исходный_промпт} — ваш оригинальный запрос на генерацию изображения.

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

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

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

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


⚠️

Ограничения

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

⚠️ Нужен мультимодальный чат: метод требует, чтобы LLM могла «увидеть» картинку и сравнить её с требованиями. Работает в ChatGPT с DALL-E, но не в интерфейсах без такой функции.

⚠️ Гейт принятия требует объективного критерия: для картинок легко сказать «3 кота лучше, чем 2» — для более субъективных задач (например, тон текста) сравнение «лучше/хуже» работает менее надёжно.


🔍

Как исследовали

Исследователи прогнали TARA на двух бенчмарках (DSG и TIFA), четырёх генераторах картинок и с тремя случайными сидами — чтобы исключить случайность. Сравнивали с пятью существующими оптимизаторами промптов, включая лучшего конкурента VisualPrompter. TARA выиграл во всех восьми комбинациях бенчмарк-генератор, обогнав VisualPrompter на 5.6 и 2.6 пунктов точности — и при этом работал быстрее (16 секунд против 20 на промпт), потому что типизированные правки короче и точнее общих.

Самое любопытное: выигрыш TARA был больше всего именно на сложных промптах — там, где нужно было одновременно попасть в счёт, атрибут, расположение и текст. Это подтверждает главную идею: чем разнороднее требования, тем сильнее вредит один универсальный фикс, и тем больше выигрывает разделение по типам. Отдельная проверка на людях показала, что результаты TARA реально предпочитают в 58–62% случаев против оригинала — то есть метрика не оторвана от восприятия.


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

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

2 кота вместо 3 на картинке? Фраза «добавь деталей» тут не спасёт — нужно точное число и слово «раздельно». TARA позволяет чинить промпт для генерации картинок точечно — под каждый тип ошибки свой рецепт, а не одну общую формулу на все случаи. Метод сначала находит, что именно не совпало — пропущенный объект, неверное число, спутанный цвет, нечитаемый текст — а потом лечит каждую проблему своим приёмом. Фишка: счёт лечится числом и словом «раздельно», текст — точной цитатой в кавычках, атрибут — жёсткой привязкой к конкретному объекту.

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

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

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

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

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

Генерация изображений → рекламные визуалы, иллюстрации с текстом на вывесках, сцены с точным количеством объектов и привязкой цвета к конкретному предмету — особенно когда первая попытка почти угадала, но одна деталь сломана. НЕ подходит для чисто субъективных правок вроде тона или настроения — там сравнение «лучше/хуже» работает ненадёжно.

Мини-рецепт

1. Сгенерируй и покажи: отправь картинку обратно в чат вместе с исходным промптом.
2. Разбей на утверждения: попроси LLM сверить каждый пункт промпта с картинкой — выполнено или нет.
3. Определи тип ошибки: для каждого несовпадения — количество, атрибут, объект, текст или расположение.
4. Дай точечный рецепт: под тип, не общую фразу — число для счёта, цитата в кавычках для текста.
5. Собери в один промпт: не трогай то, что уже было верно.
6. Сгенерируй заново и сравни: лучше — оставляй новую версию, хуже — откатывайся к старой.

Примеры

[ПЛОХО] : Сделай картинку красивее, добавь больше деталей и текст почётче
[ХОРОШО] : На картинке 2 кота вместо 3, шапки одного цвета вместо трёх разных, надпись "Скидка 50%" превратилась в кашу из букв. Впиши точное число: "3 кота, сидят раздельно друг от друга". Привяжи цвет к каждому явно: "кот слева — в красной шапке". Процитируй текст в кавычках с требованием крупного чёткого шрифта. Собери всё в новый промпт, не убирая то, что уже было верно.
Источник: One Rewrite to Fix Them All? Type-Aware Repair Allocation for Text-to-Image Prompt Optimization
ArXiv ID: 2607.18724 | Сгенерировано: 2026-07-22 04:23

Проблемы LLM

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

Методы

МетодСуть
Типизированная диагностика — точечный рецепт под каждую ошибкуРазбей требование на список конкретных проверяемых утверждений ("должно быть 3 кота", "текст читается как X"). Сверь каждое с результатом. Для каждого несовпадения определи тип ошибки: пропущен объект, неверное количество, спутанный атрибут, неверное расположение, нечитаемый текст. Под каждый тип — свой шаблон правки: количество явное число + "раздельно"; атрибут привязка к конкретному объекту; текст точная цитата в кавычках. Собери все правки в один промпт, не трогая то, что уже верно. Почему работает: узкая конкретная команда выполняется моделью прицельно, общая формулировка "стало лучше" не подсказывает что менять. Когда да: результат можно разбить на проверяемые пункты — изображение, структурированный текст, код, таблица. Когда нет: задача целиком субъективная без чётких критериев (общий тон, настроение)
Гейт принятия — сравнение с откатомПосле точечной правки сгенерируй новую версию результата. Сравни её со старой по объективному критерию. Прими новую только если она реально лучше, иначе оставь старую. Почему работает: точечные правки могут случайно испортить то, что уже было верным. Сравнение с возможностью откатиться защищает от такого регресса — ты никогда не получаешь результат хуже исходного. Когда да: есть объективный, легко проверяемый критерий (число объектов, наличие элемента). Когда нет: критерий субъективный (тон текста, "красивее") — сравнение "лучше/хуже" ненадёжно
📖 Простыми словами

One Rewrite to Fix Them All? Type-Aware Repair Allocation for Text-to-ImagePromptOptimization

arXiv: 2607.18724

Проблема современных нейросетей-художников в том, что они ведут себя как невнимательные исполнители: ты просишь одно, а они рисуют «по мотивам». Корень беды в том, что обычные методы улучшения промптов пытаются лечить всё сразу одной таблеткой, просто накидывая в описание побольше эпитетов. Метод TARA (Type-Aware Repair Allocation) меняет саму логику: он не просто переписывает текст, а сначала проводит диагностику конкретных косяков. Модель понимает, что именно пошло не так — потерялся ли объект, перепутались ли цвета или текст превратился в кашу, — и только потом применяет точечное «лечение» под каждую проблему.

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

В реальности это спасает сложные сцены, где нужно удержать в голове кучу деталей. Если ты просишь три кота в шапках разного цвета и вывеску с четким текстом, обычная нейронка гарантированно облажается: либо шапки станут одинаковыми, либо буквы поплывут. TARA разбивает задачу на сегменты: для текста используется типографическая коррекция, для атрибутов — связывание свойств, а для пропущенных объектов — структурное усиление. В итоге каждый элемент промпта получает ровно ту правку, которая нужна для исправления конкретного бага, а не случайный набор украшательств.

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

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

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

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

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