La localización en producción traduce párrafos y cadenas aisladas. Un flujo de trabajo de CI/CD compara contra la versión anterior y vuelve a traducir lo que cambió: una cadena de UI, un tooltip, un párrafo editado. Cada solicitud le llega al LLM de manera aislada: sin la página que la rodea, sin el contexto completo del documento, sin ninguna señal de si el texto es prosa jurídica de la UE o copy de marketing. Sin contexto de dominio inyectado en tiempo de inferencia, cada solicitud aislada se convierte en una nueva oportunidad para que la terminología se desvíe.
La localización aumentada con recuperación (RAL) cierra esa brecha al enriquecer cada solicitud de traducción con términos del glosario, reglas de voz de marca e instrucciones específicas por idioma en tiempo de inferencia: el mismo patrón de recuperar e inyectar detrás de Retrieval Augmented Generation (RAG). En una evaluación controlada con cinco proveedores de LLM y cinco idiomas europeos, RAL redujo los errores terminológicos entre 16.6% y 44.6%.
Hallazgos clave:
- RAL redujo los errores terminológicos entre 16.6% y 44.6% en los cinco proveedores de LLM evaluados
- Las puntuaciones holísticas de calidad (GEMBA-DA) no lograron detectar estas diferencias. Los deltas fueron de 0.0007 a 0.0178, mientras que MQM registró miles de errores menos
- Los modelos con peores puntuaciones terminológicas de base fueron los que más mejoraron: Mistral (-44.6%) y Deepseek (-42.1%) frente a Anthropic (-24.4%) y Google (-16.6%)
- El portugués mostró la mayor mejora por idioma; el francés, la menor. Cuanto más se aleja la terminología de dominio de los datos de entrenamiento, más ayuda RAL
El problema del aislamiento#
La unidad de la localización en producción es pequeña: un párrafo, una cadena, un diff. Rara vez supera las 200 palabras. Muchas veces ni siquiera llega a 50. Un archivo JSON de idioma contiene claves individuales, cada una con una frase u oración. Una página en un CMS se compone de bloques, y cada uno se traduce por separado.
Cuando el modelo se encuentra con "provider" en un párrafo aislado en inglés, tiene que decidir: ¿en portugués corresponde a "fornecedor" (la palabra de uso común) o a "prestador" (el término jurídico oficial de la UE)? Sin contexto de dominio, elige la opción más común. Multiplica esto por cada término específico de dominio en cada idioma, y la deriva terminológica pasa a ser la norma.
Nos propusimos medir con precisión qué tan grande era esa brecha y si inyectar contexto del glosario en tiempo de inferencia bastaba para cerrarla.
El primer intento no mostró nada#
Nuestro experimento inicial usó 37 términos de glosario por par de idiomas y evaluó las traducciones a nivel de artículo: cada artículo (de 200 a 700 palabras) se evaluó como una sola unidad. ¿El resultado? GEMBA-DA, el prompt holístico de calidad ganador de WMT23, reportó 0.952 para raw y 0.952 para configured. La anotación de errores con MQM produjo puntuaciones de 0.985 a 0.999 para todas las traducciones. Ninguna señal. Ninguna diferencia. Según todas las métricas, la salida sin configurar y la aumentada con glosario eran idénticas.
Estuvimos a punto de publicar un resultado nulo. Entonces entendimos por qué.
Había dos problemas. Primero, 37 términos de glosario eran demasiado pocos: muchos párrafos de prueba no contenían ni una sola coincidencia del glosario, así que el motor configurado no tenía ninguna ventaja. Segundo, la evaluación a nivel de artículo comprime matemáticamente las diferencias de calidad hasta volverlas ruido. Las puntuaciones MQM se calculan como 1 - penalty / wordCount. Un único error terminológico grave en un artículo de 500 palabras: 1 - 5/500 = 0.99. Ese mismo error en un párrafo de 50 palabras: 1 - 5/50 = 0.90. El error es el mismo. La puntuación no. A nivel de artículo, cualquier diferencia real de calidad desaparece por encima de 0.98.
Esto no es solo un problema de medición de nuestro estudio. Aplica a cualquier benchmark de traducción que evalúe a nivel de página o de artículo. Los errores están ahí. La métrica no puede verlos.
Cambiamos la forma de mirar#
Para la segunda iteración, hicimos cuatro cambios.
Primero, ampliamos el glosario de 37 a 72 términos por par de idiomas, extraídos de un conjunto de entrenamiento de artículos separado del conjunto de prueba usado en la evaluación. Segundo, evaluamos a nivel de párrafo (de 50 a 200 palabras), alineándolo con la unidad real de traducción en producción. Tercero, añadimos traducciones humanas de referencia al prompt de puntuación MQM para que los jueces pudieran comparar la terminología directamente. Cuarto, redujimos el número de jueces de seis a cuatro. Deepseek y QWEN solo marcaron entre 1 y 3 errores por párrafo, frente a los 5 a 15 de los jueces más estrictos: eran demasiado permisivos como para aportar señal.
La señal apareció de inmediato.
Diseño del estudio#
Conjunto de datos. Queríamos el tipo de texto con mayor densidad terminológica posible para poner a prueba la inyección de glosario en condiciones exigentes. La Ley de IA de la UE (Reglamento 2024/1689) era ideal: un texto regulatorio formal en el que cada párrafo contiene términos con traducciones específicas definidas oficialmente. EUR-Lex publica traducciones humanas oficiales en los cinco idiomas de destino, lo que permite una evaluación párrafo por párrafo contra una referencia real. 15 artículos, del inglés al alemán, francés, español, portugués e italiano.
Motores. Cada proveedor se probó en dos configuraciones de motor de localización: un motor raw (el LLM por sí solo, sin glosario, sin recuperación, traduciendo únicamente a partir de lo aprendido en el entrenamiento) y un motor aumentado con RAL (el mismo modelo, con glosario de dominio, perfil de voz de marca e instrucciones específicas del idioma aplicados en tiempo de inferencia). En total fueron diez motores, todos con la misma configuración en las versiones aumentadas con RAL.
| Proveedor | Modelo | Motor raw | Motor RAL |
|---|---|---|---|
| Anthropic | claude-opus-4.6 | solo modelo | glosario + voz de marca + instrucciones |
| OpenAI | gpt-5.4 | solo modelo | glosario + voz de marca + instrucciones |
| gemini-3.1-pro-preview | solo modelo | glosario + voz de marca + instrucciones | |
| Mistral | mistral-large-2512 | solo modelo | glosario + voz de marca + instrucciones |
| Deepseek | deepseek-v3.2 | solo modelo | glosario + voz de marca + instrucciones |
QWEN se incluyó al principio, pero se eliminó del conjunto final: sus traducciones eran lentas y poco confiables, el mismo problema que lo descalificó como juez.
Configuración de RAL. Cada motor aumentado incluía 72 términos de glosario por par de idiomas (70 traducciones personalizadas más 2 no traducibles), un perfil de voz de marca (registro regulatorio formal de la UE) y 13 instrucciones específicas por idioma. Los términos del glosario se extrajeron de un conjunto de entrenamiento de artículos separado del conjunto de prueba usado en la evaluación. Algunos ejemplos: EN "provider" → PT "prestador" (no "fornecedor"); EN "high-risk AI system" → PT "sistema de IA de risco elevado" (no "sistema de IA de alto risco"). En tiempo de inferencia, solo se recuperan y se le pasan al modelo los términos que coinciden con el párrafo actual, por lo que el tamaño del glosario no infla la ventana de contexto. Los motores se configuraron en Lingo.dev como motores de localización con estado: contexto persistente aplicado a cada solicitud.
Evaluación. Cada párrafo traducido fue evaluado por cuatro jueces LLM, y luego se promediaron los resultados para suavizar el sesgo individual de cada juez. Cada juez evalúa las salidas de todos los proveedores, no solo las suyas:
| Juez | Modelo |
|---|---|
| Anthropic | claude-sonnet-4.6 |
| OpenAI | gpt-4.1 |
| gemini-2.5-flash | |
| Mistral | mistral-large-2512 |
GEMBA-MQM. MQM (Multidimensional Quality Metrics) es un marco estándar para evaluar la calidad de traducción, normalmente aplicado por anotadores humanos capacitados. GEMBA-MQM, el método de evaluación ganador de WMT23, sustituye a los anotadores humanos por un LLM, pero sigue el mismo protocolo MQM: el juez lee la traducción, marca cada error y le asigna una categoría y una gravedad.
Categorías de error: precisión, fluidez, estilo, terminología. Los pesos de gravedad siguen el estándar oficial de MQM: menor = 1, grave = 5, crítico = 25.
Puntuación MQM por párrafo: max(0, 1 - weighted penalty / word count). Un párrafo de 50 palabras con un error terminológico grave obtiene 1 - 5/50 = 0.90. Un párrafo perfecto obtiene 1.0. Los conteos de errores de las tablas de resultados se suman entre los cuatro jueces y todos los párrafos de un proveedor e idioma determinados.
Hicimos un cambio respecto del prompt estándar de GEMBA-MQM: añadimos la traducción humana de referencia. GEMBA-MQM está diseñado para no usar referencias; el juez evalúa la calidad sin ver la respuesta "correcta". Nosotros las añadimos porque EUR-Lex publica traducciones oficiales de la Ley de IA de la UE en los cinco idiomas de destino, lo que les da a los jueces una referencia real contra la cual contrastar la terminología.
GEMBA-DA. Una puntuación holística de calidad de 0 a 1 basada en el prompt GEMBA-DA (también ganador de WMT23). A diferencia de MQM, produce una sola puntuación, sin anotaciones de errores. La incluimos como verificación de consistencia y, como muestran los resultados, no detecta diferencias a nivel terminológico.
Deepseek quedó fuera del panel de jueces por puntuar con demasiada indulgencia (entre 1 y 3 errores por párrafo frente a 5 a 15 de los jueces más estrictos). Promediar entre cuatro jueces suaviza el sesgo individual, y la mejora relativa entre raw y RAL se mantiene consistente dentro de cada juez.
Tamaño de la muestra. 535 observaciones emparejadas de párrafos por proveedor (107 párrafos × 5 idiomas). En total, más de 42,000 evaluaciones individuales de calidad (535 párrafos × 5 proveedores × 2 configuraciones × 8 puntuaciones cada una).
Los errores terminológicos caen entre 16.6% y 44.6%#
| Proveedor | Errores raw | Errores RAL | Reducción |
|---|---|---|---|
| Mistral | 3,336 | 1,847 | -44.6% |
| Deepseek | 3,672 | 2,127 | -42.1% |
| OpenAI | 2,276 | 1,508 | -33.7% |
| Anthropic | 1,559 | 1,179 | -24.4% |
| 1,901 | 1,586 | -16.6% |
Conteos de errores terminológicos según MQM en 15 artículos, 5 idiomas y 4 jueces.
La mejora siguió una relación inversa con la puntuación de base. Mistral y Deepseek, con los conteos de errores raw más altos, vieron reducciones de 42.1% a 44.6%. Anthropic y Google, que ya reflejaban más terminología jurídica de la UE en su entrenamiento, obtuvieron mejoras menores. El patrón es claro: RAL compensa lo que el modelo todavía no sabe.
Mientras tanto, GEMBA-DA —la puntuación holística— reportó un delta de 0.0007 a 0.0178 entre raw y RAL en todos los proveedores. Las mismas traducciones que MQM señaló por tener entre 16.6% y 44.6% más errores terminológicos recibieron puntuaciones holísticas casi idénticas. Esa es la brecha de medición: la evaluación holística, a cualquier nivel de granularidad, no puede detectar diferencias de calidad a nivel terminológico.
Los errores totales (todas las categorías de MQM) mostraron una reducción menor, pero consistente, en los cinco proveedores:
| Proveedor | Total original | Total con RAL | Variación |
|---|---|---|---|
| Deepseek | 10,423 | 9,014 | -13.5% |
| Mistral | 8,846 | 7,812 | -11.7% |
| OpenAI | 7,563 | 7,155 | -5.4% |
| 7,793 | 7,545 | -3.2% | |
| Anthropic | 6,232 | 6,039 | -3.1% |
La brecha entre la reducción de errores terminológicos (16.6-44.6%) y la reducción total (3.1-13.5%) se explica, en gran parte, por el estilo. Los jueces LLM tienden a marcar un texto como "forzado" cuando se aparta de las preferencias de sus datos de entrenamiento, incluso cuando esa desviación lo acerca a la referencia oficial; esta es una limitación conocida como sesgo de autopreferencia. La terminología y la precisión se miden contra la referencia; el estilo no tiene más ancla que la propia intuición del juez sobre lo que suena natural.
Significancia estadística#
La reducción de errores terminológicos se evaluó por proveedor con una prueba de rangos con signo de Wilcoxon pareada (unilateral, con corrección de Holm-Bonferroni en los cinco proveedores). Los recuentos de errores terminológicos por párrafo se sumaron entre cuatro jueces y luego se emparejaron por párrafo (misma fuente, mismos jueces, original vs. RAL).
| Proveedor | Párrafos emparejados | Reducción promedio/párrafo | IC del 95% | d de Cohen | p (ajustada) |
|---|---|---|---|---|---|
| Mistral | 532 | 2.80 | [2.42, 3.21] | 0.60 | < 0.001 |
| Deepseek | 526 | 2.94 | [2.45, 3.44] | 0.50 | < 0.001 |
| OpenAI | 535 | 1.44 | [1.12, 1.77] | 0.37 | < 0.001 |
| Anthropic | 533 | 0.71 | [0.50, 0.93] | 0.28 | < 0.001 |
| 533 | 0.59 | [0.34, 0.85] | 0.20 | < 0.001 |
Los cinco proveedores muestran reducciones estadísticamente significativas en errores terminológicos (p < 0.001 tras la corrección de Holm-Bonferroni por comparaciones múltiples), con intervalos de confianza del 95% que excluyen el cero. Los tamaños del efecto van de mediano-alto (Mistral, d = 0.60) a pequeño (Google, d = 0.20), en línea con el patrón de que los modelos con menor cobertura terminológica de base se benefician más de RAL.
Dónde RAL marca más diferencia#
El portugués mostró las mayores mejoras terminológicas en todos los proveedores. La terminología jurídica en portugués difiere de forma significativa del portugués cotidiano, y los términos jurídicos de la UE en portugués están subrepresentados en los datos de entrenamiento de los LLM. El francés mostró las mejoras más pequeñas: los términos jurídicos en francés están bien representados en los corpus de entrenamiento.
Caso de estudio: OpenAI en portugués
La salida original de OpenAI tradujo la Ley de IA de la UE al portugués usando "alto risco" 71 veces (el coloquial "high risk"), "fornecedores" 39 veces y "fornecedor" 36 veces. Las traducciones oficiales de EUR-Lex usan "risco elevado" y "prestadores". Con RAL, los errores terminológicos de OpenAI en portugués bajaron de 648 a 266: una reducción del 59%.
El patrón se mantiene: los idiomas cuya terminología de dominio está más alejada de la distribución de entrenamiento del LLM se benefician más de RAL.
El mecanismo#
El mecanismo es simple. En tiempo de inferencia, el motor descompone el texto de entrada en frases de n-gramas y las vectoriza. Luego ejecuta una búsqueda por similitud de coseno en el índice vectorial del glosario para encontrar términos coincidentes. Los términos encontrados se inyectan en la ventana de contexto del LLM junto con el texto fuente. El modelo no adivina "fornecedor" o "prestador": ve la correspondencia correcta en contexto y la usa. Es estructuralmente idéntico a RAG: vectorizar, recuperar, inyectar, generar.
Ranking de proveedores por calidad original#
Sin RAL: solo la salida original del modelo:
| Ranking | Proveedor | Promedio de MQM |
|---|---|---|
| 1 | Anthropic | 0.955 |
| 2 | OpenAI | 0.942 |
| 3 | 0.938 | |
| 4 | Mistral | 0.915 |
| 5 | Deepseek | 0.883 |
La brecha de 0.072 entre Anthropic y Deepseek representa aproximadamente 3-4 errores adicionales por párrafo de 100 palabras. RAL redujo esa brecha: Mistral con RAL (promedio de 0.940) se acercó a la calidad original de Google (0.938). Un modelo con una fracción del costo por token, reforzado con un glosario de 72 términos, igualó la precisión terminológica de un modelo más caro sin glosario.
Qué significa esto en producción#
La brecha de calidad entre la salida original de un LLM y una localización lista para producción es un problema de contexto, y se acumula. Después de diez lanzamientos sin RAL, conviven en el producto tres traducciones incorrectas distintas de "provider".
RAL rompe ese patrón. El glosario es persistente: se aplica a cada solicitud, sin importar qué haya cambiado. El glosario de 72 términos que redujo los errores entre un 16.6% y un 44.6% en nuestro estudio no es una mejora puntual. Es una capa de consistencia para cada solicitud de traducción a lo largo de toda la vida del producto.
Dos hallazgos para los equipos que envían traducciones con LLM: primero, los puntajes de calidad holísticos no detectan problemas a nivel terminológico. GEMBA-DA, el método ganador de WMT23, puntuó las traducciones originales y las reforzadas con RAL con una diferencia de apenas 0.0007-0.0178 entre sí. MQM contó entre 16.6% y 44.6% menos errores terminológicos. Si evalúas a nivel de página con un solo puntaje, no estás viendo el panorama completo.
Segundo, la solución es más simple de lo que el problema sugiere. Un glosario de dominio inyectado en tiempo de inferencia redujo los errores terminológicos en todos los proveedores que probamos. El modelo que mejor traduce (Anthropic, MQM 0.955) igual mejoró. El modelo con la tasa de error de base más alta (Deepseek, MQM 0.883) fue el que más mejoró.
RAL es para la localización lo que RAG es para la generación: la capa de ingeniería entre el modelo y producción.

