AI-оценки — это автоматические проверки качества, которые оценивают переводы, созданные вашим движком локализации. После каждого запроса на перевод Lingo.dev запускает независимые LLM-оценки, чтобы проверить результат: соответствие глоссарию, соблюдение инструкций и любые пользовательские критерии, которые вы зададите. Проверки выполняются асинхронно и никогда не задерживают ответ с переводом.
Как это работает#
Когда движок локализации завершает запрос на перевод, он ставит подходящие проверки в очередь на асинхронную оценку. Для каждой проверки запускается отдельная LLM, которая получает исходный текст, перевод, контекст и критерии оценки. На выходе она возвращает структурированный результат — «пройдено/не пройдено» или процентную оценку — с пояснением, если результат неидеален.
Во вкладке движка Reviews вы выбираете, какие проверки запускать для этого движка. Доступны три категории:
| Категория | Что проверяет | Тип результата | Конфигурация |
|---|---|---|---|
| AI-оценка элементов глоссария | Следуют ли переводы правилам glossary этого движка | Пройдено / Не пройдено | Встроенный переключатель для каждого движка |
| AI-оценка инструкций | Следуют ли переводы каждой из instructions этого движка | Пройдено / Не пройдено для каждой инструкции | Встроенный переключатель для каждого движка |
| Пользовательские AI-оценщики | Ваши собственные критерии оценки, заданные на уровне организации | Пройдено / Не пройдено или 0–100% | Выбираются для каждого движка из списка оценщиков уровня организации |
Встроенные AI-оценки#
В каждый движок локализации входят два встроенных типа проверки, которые сверяют переводы с конфигурацией самого движка. Включить или отключить их можно во вкладке Reviews.
AI-оценка элементов глоссария#
Проверяет, соблюдены ли в переводе все применимые правила глоссария. Если в движке заданы пользовательские переводы (например, "Deploy" → "Bereitstellen") или непереводимые термины (например, "OAuth"), проверка убедится, что перевод их соблюдает.
Проверка учитывает грамматические вариации: правило глоссария для термина в одной грамматической форме применяется ко всем формам этого термина. Если в глоссарии есть конфликтующие правила, перевод считается соответствующим, если соблюдено хотя бы одно из них.
Результат — один общий вердикт «пройдено/не пройдено» для всего запроса на перевод с пояснением, если результат — «не пройдено».
AI-оценка инструкций#
Оценивает каждую инструкцию отдельно. Если у движка три инструкции, проверка вернёт три независимых вердикта «пройдено/не пройдено» — каждый со своим пояснением, если результат — «не пройдено».
Инструкция может вернуть N/A, если её критерии неприменимы к переводимому контенту. Например, инструкция о формальном обращении вернёт N/A, если перевод содержит только название продукта или технический термин, для которого степень формальности не имеет значения. Результаты N/A исключаются из агрегированных оценок.
Обе встроенные проверки запускаются только при наличии релевантной конфигурации: если ни один элемент глоссария не подходит для этой пары локалей, AI-оценка элементов глоссария не выполняется.
Настройка проверок для каждого движка#
Откройте вкладку Reviews движка, чтобы выбрать, какие проверки будут запускаться для него. Во вкладке есть два раздела:
Встроенные переключатели вверху управляют AI-оценкой элементов глоссария и AI-оценкой инструкций. Они независимы: вы можете включить одну и не включать другую, в зависимости от конфигурации движка.
Пользовательские AI-оценщики под переключателями показывают всех AI-оценщиков, заданных на уровне организации. Для конкретного движка каждого из них можно включать и отключать отдельно. Так вы сможете поддерживать общую библиотеку проверок качества и применять их выборочно.
Для одного движка могут одновременно работать и встроенные проверки, и несколько пользовательских AI-оценщиков. Все проверки запускаются асинхронно после каждого запроса на перевод, а результаты появляются в журнале переводов и в Reports.
Типы AI-оценщиков#
Булевы AI-оценщики#
Возвращают бинарный вердикт: пройдено или не пройдено. Подходят для правил, которые либо соблюдены, либо нет.
Примеры:
- "Сохраняет ли перевод все HTML-теги и атрибуты?"
- "Правильно ли применены правила множественного числа для целевого языка?"
- "Использует ли перевод формальное обращение (Sie) в немецком языке?"
Результаты агрегируются как доля успешных проверок: 75% означает, что 3 из 4 оценённых переводов прошли проверку.
Процентные AI-оценщики#
Возвращают оценку от 0 до 100. Используйте их для параметров качества, которые оцениваются по шкале.
Примеры:
- "Оцените, насколько естественно звучит перевод для носителя языка (0–100)"
- "Оцените, насколько хорошо перевод сохраняет исходный тон и намерение (0–100)"
- "Оцените грамматическую корректность по шкале от 0 до 100"
Результаты агрегируются как средние значения за период оценки.
Конфигурация AI-оценщика#
| Поле | Описание |
|---|---|
| Name | Название AI-оценщика (например, "Проверка множественного числа") |
| Instruction | Критерии оценки, сформулированные естественным языком |
| Type | boolean (пройдено/не пройдено) или percentage (0–100) |
| Source locale | Исходная локаль, с которой должно быть совпадение, или * для любой |
| Target locale | Целевая локаль, с которой должно быть совпадение, или * для любой |
| Provider / Model | LLM, используемая для оценки (независимо от модели перевода) |
| Sampling | Процент запросов, которые будут оцениваться (0–100%) |
| Allow N/A | Может ли AI-оценщик возвращать "неприменимо" для нерелевантных пар |
| Enabled | Позволяет включить или отключить проверку без удаления конфигурации |
Как писать инструкции для AI-оценщика#
Поле инструкции — ключевая часть AI-оценщика. Оно точно задаёт LLM-оценщику, что именно нужно проверять. Формулируйте его как конкретный и проверяемый критерий.
Хорошие инструкции#
Булевы:
Check whether all HTML tags in the source text are preserved
exactly in the translation. Tags must not be added, removed,
modified, or reordered. Pass if all tags are preserved, fail
if any tag is missing or altered.Процентные:
Rate the fluency of the translation on a scale of 0-100.
100 means a native speaker would find it completely natural.
0 means it reads like machine output. Deduct points for
awkward phrasing, unnatural word order, or overly literal
constructions.Что делает инструкцию хорошей#
- Конкретные критерии — чётко определяйте, что означает «пройдено/не пройдено» или что представляют собой 0 и 100
- Наблюдаемые результаты — LLM должна оценивать по самому тексту, а не догадываться о намерении
- Один критерий на одного AI-оценщика — разделяйте многомерные проверки качества на отдельных AI-оценщиков
Сопоставление локалей#
AI-оценщики сопоставляются с запросами на перевод по исходной и целевой локали. Подстановочный знак * соответствует любой локали.
| Исходная локаль | Целевая локаль | Совпадения |
|---|---|---|
en | de | Только переводы с английского на немецкий |
en | * | Любой перевод с английского |
* | ja | Любой перевод на японский |
* | * | Все переводы |
Один запрос на перевод может запускать несколько AI-оценщиков, если его паре локалей соответствуют сразу несколько правил.
Сэмплирование#
Проверять каждый перевод необязательно. Частота сэмплирования определяет, какой процент подходящих запросов будет оценён.
| Сэмплирование | Поведение |
|---|---|
| 100% | Проверяется каждый подходящий запрос (максимальная полнота, но выше стоимость) |
| 50% | Проверяется примерно половина подходящих запросов |
| 10% | Один из десяти — полезно для движков с большим объёмом, где тренды важнее отдельных оценок |
| 0% | AI-оценщик фактически приостановлен без его отключения |
Сэмплирование применяется в момент запроса с помощью случайной проверки. На достаточном объёме запросов фактическая доля оценок будет стремиться к заданному проценту.
Поддержка N/A#
Когда allowsNA включено, LLM проверки может вернуть "неприменимо" вместо оценки. Это полезно для AI-оценщиков, чьи критерии подходят не для каждой пары локалей.
Пример: AI-оценщик, проверяющий правила формального обращения, возвращает N/A для переводов English → English (в английском нет различия между формальным и неформальным обращением), но возвращает оценку для English → German.
Результаты N/A исключаются из средних значений и долей успешных проверок в отчётности — они не занижают и не завышают итоговые оценки.
Пояснение#
AI-оценщики добавляют пояснение для неидеальных результатов, чтобы вы могли понять, что именно пошло не так:
- Идеальная оценка (пройдено или 100%) — пояснение равно null (объяснять нечего)
- N/A — пояснение равно null
- Неидеальная оценка — краткое объяснение в одном предложении
Так результаты проверки становятся действительно полезными: если перевод не проходит проверку, пояснение сразу показывает почему — без ручного разбора.
Модель проверки#
У каждого AI-оценщика своя конфигурация провайдера LLM и модели, независимая от модели перевода. Это сделано намеренно: модель, которая создаёт перевод, не должна быть той же самой моделью, которая его оценивает.
Независимость моделей
Если для проверки использовать модель, отличную от той, что выполняла перевод, вы получаете независимую оценку. Если перевод создаёт GPT-4o, а проверяет Claude Sonnet, это уже второе мнение, а не самооценка.
Отчёты AI-оценщика#
Результаты проверок визуализируются на панели управления в разделе отчётов AI-оценщика. Там вы увидите:
- Долю успешных проверок во времени — для булевых AI-оценщиков, в виде дневных процентов
- Средние оценки во времени — для процентных AI-оценщиков, в виде дневных средних значений
- Разбивку по парам локалей — чтобы видеть, как отдельно работает каждая пара источник → цель
- Агрегированный вид — чтобы объединить все пары локалей в одну линию тренда
Отчёты AI-оценщика дополняют ориентированные на объём Reports — вместе они дают полную картину и по производительности, и по качеству.
Управление AI-оценщиками через MCP#
Если вы используете Lingo.dev MCP server, ваш AI-помощник для разработки может создавать и настраивать AI-оценщиков напрямую:
"Create a boolean AI reviewer for all locale pairs that checks
whether HTML tags are preserved in translations.""Add a percentage AI reviewer for English to German that rates
translation fluency on a 0-100 scale, sampling 50% of requests."