3,583 papers
arXiv:2608.08801 82 9 авг. 2026 г. FREE

Direct Judge: сравнение текстов через 6 примеров разных типов ошибок бьёт многоагентные системы

КЛЮЧЕВАЯ СУТЬ
Парадокс: система из 8 агентов-переводчиков и критиков проиграла одному запросу с 6 примерами. Метод Direct Judge позволяет находить потерю смысла при переводе технических требований — когда "50 миллисекунд" тихо превращается в "50 микросекунд", а грамматика при этом чистая. Модель получает оба текста и 6 примеров разных типов расхождений в одном запросе — вместо цепочки из переводчика, извлечения структуры, сверки и критики. Результат: обошла все 6 архитектур, включая полноценную многоагентную систему.
Адаптировать под запрос

TL;DR

Когда нужно проверить, не потерялся ли смысл при переводе или пересказе технического текста, один запрос к LLM с 6 примерами разных типов ошибок работает точнее, чем сложная система из восьми "агентов", которые по очереди переводят, извлекают структуру, сверяют и критикуют друг друга. Исследователи сравнили 6 разных архитектур — от простого сопоставления по правилам до полноценной многоагентной системы — и самый простой вариант с примерами обошёл все остальные.

Боль конкретная: при переводе технических требований смысл может "потечь" незаметно. Фраза "должен ответить за 50 миллисекунд" легко превращается в "желательно ответить за 50 микросекунд" — грамматика чистая, звучит гладко, а требование изменилось в тысячу раз и стало другой модальностью (обязательно → желательно). Обычные метрики сравнения текстов (типа BLEU) такую подмену не видят, потому что слова похожи.

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


🔬

Схема метода

ОДИН ЗАПРОС К LLM:
Вход: [текст А] + [текст Б] + [6 примеров разных типов смыслового расхождения]
Выход: дрифт есть/нет → уверенность (0-1) → объяснение какое поле изменилось

Все 6 примеров идут прямо в промпт как few-shot (примеры перед задачей). Никаких отдельных вызовов, ролей или этапов — один запрос.


🚀

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

Задача: Российская студия разработки отправила зарубежному фрилансеру техническое задание (ТЗ), переведённое на английский через переводчика. Нужно проверить, не потерялись ли критичные цифры и формулировки — сроки, лимиты, обязательность требований.

Промпт:

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

Вот 6 примеров того, что считать расхождением, а что — нет:

1. НЕТ РАСХОЖДЕНИЯ (просто перефраз):
Оригинал: "Система должна сохранять данные каждые 5 минут"
Перевод: "Каждые 5 минут система обязана выполнять сохранение данных"
→ Дрифт: НЕТ. Смысл идентичен, изменился только порядок слов.

2. РАСХОЖДЕНИЕ (число):
Оригинал: "Отклик должен быть менее 50 мс"
Перевод: "Response should be under 50 seconds"
→ Дрифт: ДА. Единица изменена с миллисекунд на секунды — критично.

3. РАСХОЖДЕНИЕ (полярность):
Оригинал: "Функция не должна отправлять данные третьим лицам"
Перевод: "The function may send data to third parties"
→ Дрифт: ДА. "Не должна" превратилось в разрешение — противоположный смысл.

4. РАСХОЖДЕНИЕ (подмена объекта):
Оригинал: "Модуль авторизации проверяет токен пользователя"
Перевод: "The logging module validates the user token"
→ Дрифт: ДА. "Модуль авторизации" заменён на "модуль логирования".

5. РАСХОЖДЕНИЕ (ослабление обязательности):
Оригинал: "Резервное копирование обязательно выполняется ежедневно"
Перевод: "Backup is recommended to be performed daily"
→ Дрифт: ДА. "Обязательно" стало "рекомендуется" — требование ослаблено.

6. РАСХОЖДЕНИЕ (пропуск условия):
Оригинал: "При превышении лимита в 100 запросов система блокирует IP на час"
Перевод: "The system blocks the IP address for an hour"
→ Дрифт: ДА. Пропало условие "при превышении лимита в 100 запросов".

Теперь сравни эти два требования:

Оригинал: {текст на русском}
Перевод: {текст на английском}

Ответь: 
1) Дрифт: ДА/НЕТ
2) Уверенность (низкая/средняя/высокая)
3) Что именно изменилось (если изменилось)

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


🧠

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

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

Зато LLM отлично обобщает по образцу. Если показать 6 разных типов ошибок явно — модель считывает паттерн "что считается расхождением" и применяет его к новой паре текстов, даже если конкретный случай не совпадает буквально ни с одним примером.

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

Рычаги управления: - Количество и разнообразие примеров — если задача не про технические требования, а про, скажем, юридические формулировки или маркетинговые тексты, замени 6 примеров на свои категории расхождений (для контракта — деньги, сроки, ответственность; для маркетинга — цифры, обещания, гарантии). - Просить объяснение, а не только вердикт — заставляет модель явно указать, ЧТО изменилось, а не просто угадать "да/нет". - Не доверять цифре уверенности буквально — в исследовании модель систематически завышала уверенность в своей правоте. Лучше просить словами ("низкая/средняя/высокая"), чем числом, или явно уточнять причину сомнений.


📋

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

Сравни два текста — оригинал и {перевод/пересказ/версию}. 
Определи, изменился ли смысл в критичных для меня аспектах: {что важно — цифры, обязательность, условия, объекты}.

Вот примеры того, что считать расхождением, а что нет:

1. НЕТ расхождения: [пример перефраза без потери смысла]
2. РАСХОЖДЕНИЕ ({тип 1}): [пример]
3. РАСХОЖДЕНИЕ ({тип 2}): [пример]
4. РАСХОЖДЕНИЕ ({тип 3}): [пример]
5. РАСХОЖДЕНИЕ ({тип 4}): [пример]
6. РАСХОЖДЕНИЕ ({тип 5}): [пример]

Теперь сравни:
Текст А: {оригинал}
Текст Б: {версия для проверки}

Ответь:
1) Расхождение: ДА/НЕТ
2) Уверенность: низкая/средняя/высокая
3) Что изменилось (если есть)

Подставляй в {тип 1-5} категории расхождений, важные для твоей задачи (числа, обязательность, полярность, объекты, условия — или свои, если сравниваешь не технические тексты).

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

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

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

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


⚠️

Ограничения

⚠️ Не работает на общих текстах: метод обучен через технические паттерны (числа, единицы, обязательность). На обычном тексте без чётких формальных признаков (например, литературный перевод) точность падает резко.

⚠️ Не различает направление смысла: если задача не "изменился смысл или нет", а "текст Б логически следует из текста А" — метод путается. Он хорошо видит "тексты разные", но не всегда понимает, в какую сторону разница важна.

⚠️ Число уверенности не надёжно само по себе: модель почти всегда завышает уверенность в своей правоте. Доверять голой цифре "уверенность: 92%" не стоит без дополнительной проверки.

⚠️ Для адверсариальных случаев (специально похожие, но разные по смыслу тексты) чистый few-shot немного хуже, чем подход с явным структурным разбором на составляющие — если тексты специально маскируют разницу под похожесть, помогает разложить их на компоненты перед сравнением.


🔍

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

Исследователи создали 300 технических требований в 10 инженерных областях (от медтехники до кибербезопасности) и сгенерировали 890 вариантов с контролируемыми искажениями — намеренно испортили числа, полярность, обязательность и так далее. Затем прогнали 6 разных архитектур: от простого сопоставления по правилам до полноценной системы с восемью специализированными "агентами" (переводчик, извлекатель структуры, критик, судья и так далее).

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

Дополнительно метод проверили на двух чужих датасетах — с адверсариальными парафразами (PAWS-X) и с логическим следованием (XNLI). На адверсариальных примерах структурный разбор чуть обогнал прямое сравнение — то есть для "хитрых" похожих текстов явная разбивка на составляющие помогает. На датасете с логическим следованием все методы показали слабый результат — потому что задача там принципиально другая (направленная логика, а не взаимная эквивалентность).


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

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

Парадокс: система из 8 агентов-переводчиков и критиков проиграла одному запросу с 6 примерами. Метод Direct Judge позволяет находить потерю смысла при переводе технических требований — когда "50 миллисекунд" тихо превращается в "50 микросекунд", а грамматика при этом чистая. Модель получает оба текста и 6 примеров разных типов расхождений в одном запросе — вместо цепочки из переводчика, извлечения структуры, сверки и критики. Результат: обошла все 6 архитектур, включая полноценную многоагентную систему.

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

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

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

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

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

Перевод и локализация технической документации → конкретно проверка ТЗ, спецификаций, контрактов на фрилансе, особенно когда переводчик может незаметно поменять число, единицу измерения или обязательность требования. Подходит и для юридических текстов (замени примеры на деньги/сроки/ответственность) или маркетинговых (цифры/обещания/гарантии). НЕ подходит для литературных текстов без формальных признаков и для задач "логически следует из" — там метод путается в направлении смысла.

Мини-рецепт

1. Собери 6 примеров: перефраз без изменений плюс 5 типов реальных расхождений (число, полярность, объект, обязательность, условие).
2. Дай оба текста сразу: оригинал и версию для проверки — целиком, без разбивки на этапы.
3. Проси объяснение, а не только вердикт: "что именно изменилось" — иначе модель угадывает да/нет наугад.
4. Бери уверенность словами: низкая/средняя/высокая, а не числом — модель систематически завышает цифры.
5. Для хитрых случаев подстрахуйся: если тексты специально маскируют разницу под похожесть, разложи их на составляющие перед сравнением — чистый few-shot тут слегка сдаёт.

Примеры

[ПЛОХО] : Скажи, есть ли разница в смысле между этими двумя текстами: [текст А] [текст Б]
[ХОРОШО] : Сравни оригинал и перевод технического требования. Вот 6 примеров расхождений (перефраз, число, полярность, объект, обязательность, условие): [примеры]. Теперь сравни: Текст А: [оригинал] Текст Б: [перевод]. Ответь: 1) Дрифт ДА/НЕТ 2) Уверенность (низкая/средняя/высокая) 3) Что изменилось
Источник: IDRAAK: From Multi-Agent NLP to Few-Shot Prompting for Semantic Drift Detection in Technical Requirements
ArXiv ID: 2608.08801 | Сгенерировано: 2026-08-11 05:38

Проблемы LLM

ПроблемаСутьКак обойти
Абстрактный запрос на сравнение смысла не работаетПросишь модель "найди разницу в смысле" без уточнений. Модель либо цепляется за стиль текста, либо пропускает тонкие смысловые сдвиги. Не знает, какие именно изменения считать важными — число, обязательность, объект, условиеПокажи 5-6 примеров разных типов расхождений прямо в запросе. Модель считывает паттерн "что считается ошибкой" и применяет его к новому случаю, даже непохожему буквально ни на один пример

Методы

МетодСуть
Few-shot с типами ошибок вместо многоагентного пайплайнаДай модели оба текста целиком и 5-6 примеров разных категорий расхождений (смена числа, смена полярности, подмена объекта, ослабление обязательности, пропуск условия). Одним запросом получаешь вердикт есть/нет расхождение, уверенность словами и объяснение какое поле изменилось. Сравни текст А и Б. Вот примеры расхождений: [список категорий с примерами]. Теперь сравни: {А} {Б}. Ответь: расхождение ДА/НЕТ, уверенность, что изменилось. Работает потому что модель обобщает по образцу лучше, чем отвечает на абстрактный вопрос без ориентиров. Категории подбирай под свой домен: для контракта — деньги/сроки/ответственность, для маркетинга — цифры/обещания/гарантии. Работает: тексты с формальными признаками (числа, единицы, модальность). Не работает: литературный перевод без чётких формальных маркеров, задачи на логическое следование (а не на "изменился/не изменился" смысл)

Тезисы

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

IDRAAK: From Multi-AgentNLP to Few-ShotPromptingfor Semantic Drift Detection in Technical Requirements

arXiv: 2608.08801

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

Это как пытаться объяснить строителю, что плитка положена криво. Можно нанять восемь прорабов, которые будут сверяться со снипами, перепроверять друг друга и писать отчеты — это долго, дорого и в итоге они все равно договорятся до какой-нибудь ерунды. А можно просто ткнуть пальцем в шесть разных мест и сказать: «Смотри, тут скол, тут зазор, тут цвет не тот». После этого строитель моментально понимает, что от него хотят, и видит все остальные косяки сам. Few-shot prompting с шестью примерами сработал лучше, чем бюрократия из восьми агентов.

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

Исследователи гоняли систему на технических требованиях, но этот принцип — универсальный паттерн для любой сложной проверки. Будь то юридические договоры, медицинские протоколы или ТЗ для фрилансера на английском — не нужно городить огород из нейросетевых «отделов качества». Достаточно составить грамотный промпт с примерами того, что именно считается браком. Сложность архитектуры проигрывает качеству контекста, и это главный инсайт для любого, кто внедряет AI в рабочие процессы.

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

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

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

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