Перевод точный, термины из глоссария на месте — но текст всё равно ощущается как перевод. Перефразирование — это этап пайплайна, который закрывает этот последний разрыв: AI-агент переписывает текущий результат так, чтобы он звучал как текст, изначально написанный для целевой локали, сохраняя смысл, плейсхолдеры и теги.
На этой странице отдельно разбирается этап rephrase: что именно он переписывает, что оставляет без изменений, что происходит, если проход завершается неудачей, и какое единственное решение он ставит перед вами — включить его или пропустить. Впервые знакомитесь с пайплайном? Начните с обзора Async Localization Pipeline, чтобы понять, как все этапы работают вместе. Перефразирование доступно только в async-режиме: оно выполняется для задач, созданных через Async Localization API, и никогда — для синхронного вызова /localize.
Что делает этот этап#
Буквальный перевод может переносить в целевую локаль формулировки исходного текста — грамматически всё верно, но по тексту заметно, что это перевод. Этап перефразирования переписывает текущий лучший результат так, чтобы он звучал как естественный текст: живо и идиоматично для целевой локали, с предпочтением естественных эквивалентов вместо дословной передачи. Он сохраняет исходный смысл и намерение, а также применяет глоссарий, тональность бренда и инструкции вашего движка — то есть переписывание регулируется той же конфигурацией, что и сам перевод.
Он запускается после этапов доработки AI и человеком — на том результате, который до него дошёл. Поэтому он работает одинаково вне зависимости от того, включены ли проверка человеком и AI post-edit: в любом случае он переписывает текущую лучшую версию. Если также включена проверка обратным переводом, она проверяет уже перефразированный результат, а не версию до перефразирования.
Буквальный проход держится ближе к формулировкам исходника; перефразирование приближает текст к тому, как его написал бы носитель языка. Поэтому это не взаимозаменяемые варианты — какой нужен вам, зависит от выбора ниже.
Плейсхолдеры и теги сохраняются#
Самый очевидный вопрос к этапу, задача которого — переписывать текст: не затронет ли он части, которые не относятся к обычному тексту? Нет. Перефразирование сохраняет плейсхолдеры, переменные, теги и форматирование в точности как есть — оно переписывает слова вокруг них, а не токены, от которых зависит ваше приложение.
Поэтому строка вроде этой сохраняет все интерполяции и все теги — меняется только текст, который читает человек:
Source (en): "Hi {firstName}, you have <b>{count}</b> new messages."
Translated (de): "Hallo {firstName}, du hast <b>{count}</b> neue Nachrichten."
After rephrase (de):"Hey {firstName}, <b>{count}</b> neue Nachrichten warten auf dich."Теги {firstName}, {count} и <b> во всех трёх вариантах идентичны. По-немецки текст звучит естественнее, а структура, на которую опирается runtime, остаётся неизменной.
Если этап не сработал, задача всё равно завершится#
Перефразирование — некритичный этап. AI-переписывание может завершиться ошибкой или по тайм-ауту — но в этом случае перевод, за который вы уже заплатили, не теряется. Предыдущий результат без изменений передаётся дальше, и задача продолжается. То есть вы не ставите точный перевод на кон ради стилистической доработки.
Сбой на этапе перефразирования не приводит к сбою всей задачи. Он отображается как запись шага с status: failed, задача завершается со статусом completed_with_warnings, а в outputData попадает перевод до перефразирования:
{
"id": "ljb_C3d4E5f6G7h8I9j0",
"status": "completed_with_warnings",
"outputData": {
"greeting": "Hallo {firstName}, du hast <b>{count}</b> neue Nachrichten."
},
"warnings": [
{ "step": "rephrase", "message": "<the failure reason for this step>" }
],
"steps": [
{ "stepId": "localize", "type": "action", "status": "completed" },
{ "stepId": "rephrase", "type": "action", "status": "failed" }
]
}В продакшен ушёл перевод из de. Точный текст в message здесь приведён только для иллюстрации — неизменной остаётся сама структура: запись warnings[] с step и message, этап rephrase, зафиксированный как failed, и результат до перефразирования, сохранённый в outputData. Поле step показывает, что в этом запуске текст не был стилистически доработан, поэтому при необходимости вы сможете заново запустить эту локаль, если для неё важно естественное звучание. Полную структуру steps[] и warnings, а также то, как некритичные сбои сводятся к completed_with_warnings, смотрите в Observe pipeline runs.
Некритичный — значит best-effort, и это сделано специально
Включение перефразирования не снижает надёжность задачи. В худшем случае вы получите тот же перевод, который отправили бы без этого этапа, плюс предупреждение. Именно поэтому его можно включать широко и воспринимать отшлифованный текст как улучшение, а не как обязательную зависимость.
Когда включать, а когда пропускать#
Перефразирование оптимизирует одну вещь: чтобы текст читался как оригинал, написанный носителем языка. Для одних материалов это идеальный вариант, а для других — совсем нет, поэтому решение принимается для каждого типа контента отдельно, а не задаётся как глобальный вариант по умолчанию.
Включайте его для маркетинговых текстов, лендингов, описаний продуктов и онбординга — везде, где важнее естественное звучание, чем близость к формулировкам исходника.
Пропускайте его для технического и юридического контента, где приоритет — буквальная точность. Перефразирование переписывает формулировки, чтобы они звучали естественно; в пункте договора, API reference или строке, связанной с compliance, безопаснее вариант, более близкий к исходнику. Для такого контента оставьте перефразирование выключенным и используйте результат этапа базовой локализации как есть.
Естественное звучание — это компромисс, а не бесплатное улучшение
Перефразирование намеренно уводит текст от формулировок исходника. Для маркетинга в этом и смысл, а для всего, где точность формулировок имеет юридическое или техническое значение, — в этом же и риск. Если вы не уверены, к какой категории относится конкретный payload, пропустите для него перефразирование — буквальный вариант по умолчанию безопаснее.
Как включить#
Перефразирование настраивается так же, как и любой другой этап: есть значение по умолчанию на уровне движка и необязательное переопределение для конкретного запроса, поэтому полная механика описана на странице Configure the pipeline. Коротко: включите его на вкладке Pipeline вашего движка, чтобы применять ко всем задачам, или задайте его для одной отправки через pipelineConfig:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"data": { "headline": "Ship global products faster." },
"pipelineConfig": {
"rephrase": { "enabled": true }
}
}Этапы, которые вы не указываете, наследуют конфигурацию движка — поэтому переопределение выше включает перефразирование только для этой отправки и не затрагивает остальные этапы. Это позволяет держать перефразирование выключенным в движке для контента, где нужна буквальность, и включать его по запросу для маркетинговых материалов, которым важно естественное звучание.
