Ya enviaste tus fuentes y el trabajo está en marcha. El ID del motor volvió en 202, y su configuración se está completando. Esta página responde la pregunta que define si vas a confiar en el resultado: ¿qué, exactamente, se está completando?
"Una IA configuró mi motor" es la clase de frase que pone en guardia a cualquier ingeniero, y con razón. Podría significar una caja negra imposible de inspeccionar. Podría significar registros dispersos entre idiomas que no puedes rastrear. Podría significar que el agente leyó una fuente poco sustanciosa, no encontró nada y creó casi nada sin decirlo. Por eso esta página aterriza esos tres puntos: el agente genera tres tipos de configuración, cada uno se asigna a tus idiomas según una regla predecible, y el trabajo devuelve un resumen que identifica cada registro que creó. El resultado son registros normales que puedes leer y editar, no un veredicto que tengas que aceptar a ciegas.
¿Es tu primera vez con el aprovisionamiento asíncrono? Empieza con la Descripción general de la API de aprovisionamiento asíncrono para entender el modelo mental, y con Tipos de fuentes para ver qué hace que una fuente valga la pena. Esta página se centra en lo que sale del otro lado.
En esta página
- Los tres componentes
- Cómo se asigna cada uno a un idioma
- El resumen de salida
- Cómo interpretar un resumen escaso
- Siguientes pasos
Los tres componentes#
El agente lo lee todo —tanto las páginas rastreadas como el contenido sin procesar— y crea tres tipos de configuración del motor. No se trata de un formato nuevo exclusivo del aprovisionamiento. Son exactamente las mismas primitivas que, de otro modo, crearías a mano en un motor; por eso, todo lo que genera el agente se puede editar después en el panel, igual que cualquier otra cosa que hayas creado tú mismo.
| Componente | Qué detecta | Ejemplo |
|---|---|---|
| Voces de marca | Tono, estilo, nivel de formalidad, convenciones de escritura | "Usa alemán formal (forma Sie). Mantén las oraciones concisas y directas." |
| Entradas de glosario | Nombres de producto, términos técnicos, traducciones específicas de la marca, términos no traducibles | "Acme" → no traducible, "workspace" → "Arbeitsbereich" (de) |
| Instrucciones | Reglas de formato, convenciones culturales, lineamientos específicos del dominio | "Usa siempre el formato de fecha DD.MM.YYYY en las traducciones al alemán." |
Estas son las tres cosas que hacen que una traducción suene como tu producto y no como una versión genérica: la formalidad que elegiste, los nombres que nunca traduces, el formato de fecha que siempre usas. El trabajo del agente es encontrar esas decisiones allí donde aparezcan en tus fuentes y convertirlas en registros.
Hay una consecuencia que conviene dejar clara, porque marca el límite de lo que deberías esperar recibir: el agente extrae lo que está expresado, no lo que está implícito. Una fuente que enuncia una regla de forma explícita produce un registro; una fuente que solo demuestra un buen tono sin nombrar una regla aporta poco. Eso es una propiedad de las fuentes, no del motor; Tipos de fuentes explica cómo elegir fuentes que digan sus reglas de frente.
Cómo se asigna cada uno a un idioma#
La configuración de un motor de localización se organiza por idioma de destino, así que un registro no solo indica qué regla es, sino dónde aplica. El agente asigna un idioma a cada registro siguiendo una regla predecible, y el comodín * es la parte que conviene entender antes de revisar la salida.
- Las voces de marca y las instrucciones usan
*cuando aplican a todos los idiomas. Una regla de tono como "mantén las oraciones concisas y directas" no es específica del alemán; es la forma en que escribe tu producto en todos los idiomas. El agente le asigna el idioma de destino*, y se aplica a todos los idiomas a los que traduce el motor. Una regla que de verdad sí es específica de un idioma ("usa la forma Sie en alemán") se asigna a ese idioma en su lugar. - Las entradas de glosario se crean por par de idiomas, porque una traducción siempre va de un idioma a otro en concreto: "workspace" → "Arbeitsbereich" es un hecho sobre el alemán, y solo sobre el alemán.
- Los términos no traducibles son la excepción, y usan
*. Un nombre de marca que nunca traduces, como "Acme", no se traduce en ningún idioma, así que se guarda una sola vez con*en lugar de volver a cargarlo para cada par de idiomas.
Así que, cuando veas * en un registro que creó el trabajo, no es un marcador de posición ni un hueco. Significa "esto aplica en todas partes": una regla global de tono, una instrucción global o un término que nunca se traduce en ningún idioma. Un código de idioma específico significa lo contrario: esta regla se limita exactamente a ese idioma.
Por qué el comodín es una ventaja, no un valor predeterminado que haya que reemplazar
Una lectura escéptica de * sería: "el agente ni se molestó en averiguar a qué idioma pertenece esto". Es justo al revés. Una voz de marca o un término no traducible que es correcto en todos los idiomas debería ser global; fijarlo a un solo idioma haría que dejara de aplicarse silenciosamente a los demás. El comodín es la forma en que la configuración dice "esto es cierto sin importar el idioma", que es exactamente lo que suele ser una regla de tono o un nombre de marca.
El resumen de salida#
Cuando el trabajo termina, devuelve un resumen que identifica todo lo que creó el agente. Ese es el comprobante: cada registro, contado e identificado, más una lista de cualquier cosa que haya fallado.
{
"brandVoices": {
"count": 3,
"ids": ["bv_A1b2C3d4", "bv_B2c3D4e5", "bv_C3d4E5f6"]
},
"glossaryItems": {
"count": 12,
"ids": ["gi_A1b2C3d4", "gi_B2c3D4e5", "..."]
},
"instructions": {
"count": 5,
"ids": ["ins_A1b2C3d4", "ins_B2c3D4e5", "..."]
},
"errors": []
}Cada componente informa un count y los ids de los registros creados: bv_ para voces de marca, gi_ para entradas de glosario, ins_ para instrucciones. No son confirmaciones opacas; son los IDs de registros reales del motor. Puedes tomar cualquier gi_ de esta lista, abrirlo en el panel y leer o cambiar exactamente lo que extrajo el agente. El resumen es lo que te permite pasar de "la IA hizo algo" a "estas son las veinte cosas específicas que hizo", y esa es toda la diferencia entre una caja negra y registros normales que puedes leer y editar.
El resumen te llega por el canal que configuraste cuando creaste el trabajo: en la carga útil del webhook que recibe tu URL de callback al completarse, donde aparece como el campo summary. Si estás siguiendo el trabajo por WebSocket, eso es un feed de actividad: transmite el progreso del rastreo y la configuración, no este objeto de resumen. El resumen viaja con el webhook de finalización; el WebSocket te avisa cuándo ir a consultarlo.
Un elemento fallido no hace fallar el trabajo.
Si no se puede crear un solo registro, eso no arrastra al resto. El fallo queda registrado en el arreglo errors, los registros que sí se crearon se siguen aplicando al motor, y el trabajo igual se completa. Obtienes un motor parcialmente configurado más una lista precisa de lo que debes revisar, no un motor vacío y un stack trace. El trabajo falla por completo cuando la ejecución no produce nada con qué trabajar; por ejemplo, si ninguna fuente se puede rastrear. Ese caso de fallo, y su carga útil provisioning.failed, se explica en Entrega de webhooks.
Cómo interpretar un resumen escaso#
El resumen no solo te dice qué se creó; también te dice, por sus conteos, si la ejecución valió la pena. Un count de 0 para un componente no es un error: el resumen está bien formado y el motor existe, pero sí te está diciendo algo. Tres voces de marca y doce entradas de glosario equivalen a un motor configurado. Cero de todo y un arreglo errors vacío significan un motor que volvió casi en blanco, y el agente te está diciendo que encontró pocas reglas para extraer.
Cuando eso pasa, la causa casi siempre está aguas arriba: las fuentes expresaron pocas reglas concretas para que el agente las tomara. El resumen es donde lo notas; Tipos de fuentes es donde lo corriges. La expectativa honesta con la que deberías llegar a tu primera ejecución es que el comprobante solo refleja lo que tus fuentes realmente dijeron: un resumen abundante significa fuentes abundantes, y uno escaso significa que había poco por encontrar.
Por eso el resumen importa tanto como el motor: te permite verificar la configuración en vez de darla por sentada. Revisa los conteos, abre algunos registros por sus IDs, confirma que el agente captó lo que esperabas: registros normales que puedes leer y editar, con un comprobante que te dice exactamente qué revisar.
