Дрифтим с LLM.

🔎 Direct Judge: один вызов LLM, чтобы поймать смысловой дрифт

Переводите технические требования или адаптируете документацию? Обычные проверки через многоагентные системы — это дорого, медленно и накапливают ошибки.

Метод Direct Judge (2608.08801) делает всё за один вызов LLM и выдаёт: • Дрифт: ДА / НЕТ • Уверенность: низкая / средняя / высокая • Что именно изменилось: число, единица измерения, обязательность, полярность, объект или условие


🧠 Как это работает (по шагам)

1. Вставляем в промпт 6 готовых примеров — один без изменений и пять с типичными ошибками (число, полярность, обязательность, объект, условие). 2. Добавляем два текста: оригинал и версию (перевод/пересказ). 3. Запрашиваем у модели три ответа: дрифт, уверенность, что изменилось. 4. Модель «обобщает» шаблон из примеров и применяет его к новой паре текстов.

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


📋 Шаблон промпта (копируйте и заполняйте)

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

> Примеры расхождений:

> 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"*

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

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


🛠 Как адаптировать под свою задачу

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


⚖️ Когда метод полезен, а когда нет

Полезно: • Технические требования, спецификации, API-документация. • Когда нужна быстрая проверка без сложных пайплайнов. • При ограниченном бюджете на вызовы (один запрос вместо 8+ агентов).

Бесполезно / ограничения: • Литературный или художественный перевод — метод заточен под формальные тексты, точность падает. • Не подходит для проверки направления логики (следует ли текст Б из А) — модель может ошибиться. • Модели склонны завышать уверенность — лучше использовать словесные уровни (низкая/средняя/высокая). • Если тексты специально маскируют разницу, лучше сначала разбить их на составляющие.


📊 Ключевые цифры из экспериментов

Direct Judge (6 примеров) — средний F1: 0.82, время: 17 секМногоагентная система (8 агентов) — средний F1: 0.68, время: 181 сек

Простейший подход оказался быстрее в 10 раз и точнее на 0.14 F1. Почему? Промежуточные шаги в сложной системе накапливают ошибки — они просто «суммируются».


🎯 Что делать прямо сейчас

1. Возьмите пару «оригинал → перевод» из вашей документации. 2. Подставьте их в шаблон выше (с готовыми 6 примерами). 3. Запустите один вызов LLM и посмотрите, что она скажет. 4. Если нужно — замените примеры под свои критические категории.


📎 Исследование 2608.08801