TL;DR
VQQA — техника итеративного улучшения результата через структурированную диагностику. Вместо размытого "улучши это" система генерирует конкретные вопросы о качестве, отвечает на них с оценкой 0–100, находит слабые места и переписывает промпт именно под них.
Главная находка: когда вы просите LLM "сделай лучше" — она не знает что именно плохо. Модель улучшает всё сразу и ни за что конкретно не отвечает. Это похоже на правку текста без правил — исправил одно, сломал другое. Структурированные вопросы дают модели точный диагноз: вот что не так, вот почему, вот что менять.
Дополнительная проблема — смещение от цели: итерируя, легко уйти от исходного замысла. VQQA решает это через постоянную сверку с оригинальным запросом после каждого шага. Метод работает в 3–4 итерации и останавливается, когда прирост качества перестаёт расти.
Схема метода
Три агента работают последовательно в рамках одного диалога. Каждый шаг — отдельный запрос к модели.
ШАГ 1 — Генерация вопросов (QG Agent):
Получает: исходный запрос + текущий результат
Генерирует: список точечных вопросов по трём измерениям:
· Соответствие запросу (достигнуто ли то, что просили?)
· Качество содержания (внутренняя логика, стиль, структура)
· Соответствие условиям (тон, формат, аудитория)
→ Выводит: пронумерованный список вопросов
ШАГ 2 — Оценка (QA Agent):
Отвечает на каждый вопрос
Ставит оценку 0–100 по каждому пункту
Объясняет причину низких оценок
→ Выводит: таблицу "вопрос → оценка → что конкретно не так"
ШАГ 3 — Уточнение промпта (PR Agent):
Берёт только низко оценённые пары (вопрос + объяснение)
Переписывает промпт, явно адресуя каждую проблему
→ Выводит: улучшенный промпт для следующей итерации
ШАГ 4 — Проверка дрейфа (Global Selector):
Сравнивает новый результат с *оригинальным* запросом
Ставит общую оценку 0–100
→ Оставляет лучший вариант за все итерации, не последний
СТОП: когда оценка перестала расти 2-3 цикла подряд
Пример применения
Задача: Написать питч-текст для Tinkoff стартап-трека — 3 абзаца о B2B SaaS для управления складами малого бизнеса. Нужно зацепить инвестора с первых строк, показать боль рынка, не скатиться в технический жаргон.
Промпт — Шаг 1 и 2 (диагностика первого варианта):
У меня есть задание и первый вариант текста. Сначала сыграй роль
строгого редактора питчей для венчурных инвесторов.
ЗАДАНИЕ: [вставь исходный промпт на написание питча]
РЕЗУЛЬТАТ: [вставь первый вариант текста]
Сделай следующее:
1. ДИАГНОСТИКА — сгенерируй 6–8 конкретных вопросов по трём блокам:
- СООТВЕТСТВИЕ ЗАДАНИЮ: выполнено ли то, что просили?
- КАЧЕСТВО: логика, убедительность, конкретность, язык
- АУДИТОРИЯ: подходит ли для инвестора Тинькофф, не техника?
2. ОЦЕНКА — ответь на каждый вопрос.
Формат: Вопрос → Оценка (0–100) → Что конкретно не так
3. ИТОГ — выдели 2–3 вопроса с самой низкой оценкой.
Это приоритеты для правки.
Промпт — Шаг 3 (улучшение):
Вот диагностика текста [вставь результат шага 2].
Теперь перепиши промпт для генерации питча, явно исправляя
каждую из проблем с низкой оценкой.
Не трогай то, что получило оценку выше 80.
Выведи: обновлённый промпт + краткое объяснение что изменил и почему.
Результат:
Модель покажет карту проблем первого варианта — конкретно: "абзац 2 начинается с технического термина, инвестор потеряется", "боль рынка описана абстрактно, нет цифр". Затем выдаст переработанный промпт с явными указаниями для каждой слабой точки. После 2–3 таких циклов текст будет отвечать на все диагностические вопросы с оценкой выше 80.
Почему это работает
Слабость LLM при "просто улучши": модель не знает, что именно считать плохим. У неё нет внутреннего приоритета — она может "улучшить" стиль, сломав логику. Без диагностики правки хаотичны.
Сильная сторона LLM: отвечать на конкретные бинарные и оценочные вопросы модель умеет хорошо. "Есть ли в тексте конкретная цифра рынка? Оценка 0–100?" — это точечная задача, с ней справляется лучше, чем с размытым "оцени качество".
Как метод использует это: диагностические вопросы раскладывают размытое "хорошо/плохо" на конкретные измеримые оси. Низкая оценка по конкретному вопросу = точный сигнал для правки. Модель улучшает не всё сразу, а именно слабые места.
Рычаги управления: - Число вопросов: 6–8 для сложных задач, 3–4 для коротких текстов. Меньше вопросов — быстрее, но меньше покрытие - Порог оценки: "приоритизируй вопросы ниже 60" — жёсткая правка; "ниже 80" — тонкая полировка - Блоки диагностики: меняй под задачу. Для кода: "читаемость / корректность / покрытие кейсов". Для резюме: "ясность / релевантность / тон" - Проверка дрейфа: добавь в конце каждого цикла "сравни с оригинальным заданием — не ушли ли мы в сторону?"
Шаблон промпта
Я дам тебе ЗАДАНИЕ и РЕЗУЛЬТАТ. Сыграй роль строгого эксперта в области {область_экспертизы}.
ЗАДАНИЕ: {исходный_запрос}
РЕЗУЛЬТАТ: {текущий_вариант}
Шаг 1 — ДИАГНОСТИКА
Создай {число_вопросов} конкретных вопросов о качестве в трёх блоках:
· Соответствие заданию: достигнуто ли то, что просили?
· Качество содержания: {критерии_качества}
· Соответствие аудитории: {описание_аудитории}
Шаг 2 — ОЦЕНКА
Ответь на каждый вопрос по формату:
[Вопрос] → [Оценка 0–100] → [Что конкретно не так, если ниже 75]
Шаг 3 — ПРИОРИТЕТЫ
Выдели {число_приоритетов} вопроса с наименьшей оценкой.
Это точки для следующей итерации.
Шаг 4 — УЛУЧШЕННЫЙ ПРОМПТ
Перепиши исходное задание так, чтобы явно адресовать каждый приоритет.
Не трогай то, что получило оценку выше 80.
Что подставлять:
- {область_экспертизы} → "питчей для инвесторов", "UX-текстов", "юридических документов"
- {число_вопросов} → 6–8 для сложных задач, 3–5 для коротких
- {критерии_качества} → "логика, конкретность, язык, убедительность"
- {описание_аудитории} → "венчурный инвестор с фокусом на B2B SaaS"
- {число_приоритетов} → 2–3, не больше — иначе правка станет хаотичной
🚀 Быстрый старт — вставь в чат:
Вот шаблон VQQA — диагностического цикла улучшения текста.
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит что именно оценивать, кто аудитория и какой результат нужно улучшить — потому что без этого она не сможет сгенерировать точные диагностические вопросы. Она возьмёт структуру из шаблона и адаптирует под твою задачу.
Ограничения
⚠️ Простые задачи: метод избыточен. Если задача однозначная ("переведи на английский", "сократи текст вдвое") — диагностический цикл только добавит токены без пользы.
⚠️ Субъективные критерии: если "хорошо" зависит от личного вкуса, а не объективных параметров, вопросы будут размытыми, а оценки — случайными. Метод работает там, где у "хорошо" есть измеримые признаки.
⚠️ Дрейф от цели: при многих итерациях без проверки против оригинала текст может "улучшиться" в неправильном направлении. Добавляй Global Selector (сверку с исходным заданием) каждые 2 цикла.
⚠️ Оригинальная система — инфраструктура: VQQA в исследовании работает как автоматизированный пайплайн для генерации видео. Без автоматизации каждый цикл — это ручная работа. Для быстрых задач это не окупится.
Как исследовали
Команда Google взяла видеогенератор CogVideoX-5B и запустила на нём три типа задач: создать видео по тексту, оживить изображение, сгенерировать сложные сцены с несколькими объектами. Сравнивали с двумя подходами: "просто выбери лучшее из N попыток" (Best-of-N) и "оптимизируй промпт по датасетным предпочтениям" (VPO).
Интересный момент дизайна: VQQA не видит внутренности видеомодели — работает только через текстовый интерфейс, как будто это чёрный ящик. Это важно, потому что большинство конкурирующих методов (EvoSearch, Video-TTT) требуют прямого доступа к весам модели. VQQA подключается к любому генератору через API — как пользователь, а не как разработчик.
Результат оказался неожиданным: 4 итерации дали прирост качества, сопоставимый с подходами, которые генерировали по 5 вариантов и выбирали лучший. При этом VQQA "знала зачем" улучшать, а не просто везло с выборкой. Отдельно проверяли качество диагностики: VQQA находила на 12% больше реальных дефектов видео, чем прямой запрос "что тут не так?"
Адаптации и экстраполяции
🔧 Техника: именованные роли вместо безликих агентов → острее критика
Вместо "сыграй роль эксперта" дай конкретного персонажа с известным стилем:
Шаг 1 — ДИАГНОСТИКА (от лица Артемия Лебедева):
Что в этом тексте бесит и почему это непрофессионально?
...
Шаг 2 — ОЦЕНКА (от лица инвестора Фонда Сколково):
Каждый пункт — деньги или не деньги. Оценка 0–100.
Персонаж с заострённой позицией даёт более конкретные вопросы — потому что у него есть характер, а не нейтральность.
🔧 Техника: однопромптовый вариант для быстрых задач
Если не хочешь три отдельных запроса — сверни всё в один:
Вот задание и результат.
Сделай три вещи за один ответ:
1. Задай себе 5 конкретных вопросов о качестве (по заданию, содержанию, аудитории)
2. Ответь на каждый, поставь оценку 0–100
3. Перепиши результат, исправляя только пункты ниже 70
ЗАДАНИЕ: {задание}
РЕЗУЛЬТАТ: {текущий_вариант}
Теряешь немного в точности, выигрываешь в скорости. Подходит для коротких текстов, где три итерации — это избыточно.
Ресурсы
VQQA: An Agentic Approach for Video Evaluation and Quality Improvement Yiwen Song, Tomas Pfister, Yale Song — Google DeepMind Проектная страница: https://yiwen-song.github.io/vqqa/
Упомянутые техники: TextGrad (Yuksekgonul et al., 2024), Self-Refine (Madaan et al., 2023), Reflexion (Shinn et al., 2023)
