Una demostración puede producir respuestas plausibles con unas pocas entradas escogidas y, aun así, no ser operable en un flujo real. Antes de activar una capacidad asistida, el equipo debe poder responder preguntas concretas: qué decisión apoya, qué errores puede producir, qué casos no debe resolver sola y cómo continúa el trabajo cuando el resultado no sirve.
El objetivo de evaluar funciones de IA en aplicaciones PHP no es demostrar que un modelo responde bien en general. Es comprobar que una función concreta resulta suficientemente fiable, trazable y sostenible para un proceso definido. Eso exige diseñar la evaluación antes de convertir la función en una acción disponible para usuarios.
Delimite la decisión asistida y sus límites

Una función asistida debe describirse como una unidad de trabajo verificable, no como una capacidad genérica de “usar IA”. Defina la entrada que recibe, el contexto autorizado que puede utilizar, la salida que debe devolver y la acción que esa salida puede desencadenar.
Por ejemplo, “clasificar solicitudes entrantes” necesita más precisión: una solicitud con asunto, texto y adjuntos ya procesados puede devolver una categoría, una prioridad sugerida, un nivel de confianza y una explicación breve. La aplicación puede usar esa salida para proponer una cola de trabajo, pero no para cerrar una incidencia ni rechazar automáticamente a un cliente.
- Entrada: campos disponibles, idioma esperado, datos que deben excluirse y contexto permitido.
- Salida: esquema estructurado, valores válidos, campos obligatorios y significado de cada categoría.
- Acción: propuesta visible, automatización reversible o acción bloqueada hasta revisión.
- Responsable: quién corrige resultados, quién decide los cambios y quién responde por el proceso.
Separar estos elementos evita un error frecuente: tratar una salida textual convincente como si fuera una decisión válida para el negocio. Si la salida alimenta una automatización, valide primero el formato y los valores permitidos. Una respuesta que no cumple el esquema no debería avanzar como si fuera una clasificación correcta.
Clasifique el daño antes de medir la calidad
No todos los errores tienen la misma gravedad. Confundir dos etiquetas internas que un operador puede corregir en segundos no equivale a priorizar erróneamente una incidencia crítica, asignar trabajo al equipo equivocado o exponer información que no correspondía.
Establezca una taxonomía de fallos ligada al flujo operativo. Puede diferenciar entre errores tolerables, errores que exigen revisión y errores bloqueantes. Esta clasificación determina los umbrales de publicación y el tipo de control necesario.
- Error corregible: requiere una edición rápida y no altera de forma relevante el servicio, el coste o los derechos de una persona.
- Error revisable: puede ocasionar retraso, retrabajo o una decisión inadecuada; debe pasar por una persona antes de producir efectos.
- Error bloqueante: afecta a seguridad, cumplimiento, dinero, acceso, obligaciones contractuales o decisiones difíciles de revertir. La función no debe ejecutar esa acción por sí sola.
También defina qué significa “no utilizable”. Una salida puede ser semánticamente razonable pero llegar demasiado tarde, no respetar el formato, omitir datos decisivos o no poder justificarse con el contexto disponible. Contar esos casos por separado impide que una métrica única de exactitud oculte problemas operativos.
Construya un conjunto de prueba que represente el trabajo real
El conjunto de evaluación debe parecerse a las entradas que recibirá el sistema, no a una colección de ejemplos favorables. Parta de casos reales tratados, anonimizados y minimizados cuando sea posible. Elimine identificadores y datos innecesarios, pero conserve los elementos que explican la dificultad de la decisión.
Incluya diversidad de contenido, longitud, idioma, redacción, ambigüedad y calidad de datos. Añada deliberadamente casos límite: peticiones con información contradictoria, textos incompletos, términos internos, múltiples intenciones, adjuntos sin texto útil o instrucciones insertadas por un tercero que no deben alterar el comportamiento de la aplicación.
Etiquete el veredicto, no sólo una respuesta ideal
Para cada caso, no siempre existe una única salida correcta. Registre una respuesta esperada cuando corresponda, pero etiquete también el nivel de autonomía permitido:
- Correcta: resultado que puede proponer o ejecutar dentro del límite definido.
- Aceptable: una alternativa admitida por el proceso, aunque no sea la preferida.
- Requiere revisión: el sistema puede asistir, pero una persona debe decidir.
- Rechazo: la función debe declarar que no puede producir una salida válida o que faltan datos.
Estas etiquetas permiten evaluar si el sistema sabe abstenerse. Obligarle a clasificar siempre convierte la incertidumbre en una respuesta aparentemente segura. La abstención bien tratada es una capacidad operativa, no un fallo automático.
Mida resultados por segmento y coste operativo
La evaluación debe reflejar el flujo que se quiere mejorar. Mida la exactitud por tipo de caso y por clase de daño, la proporción de salidas que necesitan revisión, los resultados no utilizables, el tiempo de respuesta y el coste por ejecución o por tarea resuelta. Un promedio global puede parecer adecuado mientras falla precisamente en los casos críticos o poco frecuentes.
Segmente los resultados por categorías relevantes: tipo de solicitud, idioma, canal de entrada, longitud, presencia de datos incompletos y prioridad. Revise además falsos positivos y falsos negativos por separado cuando la clasificación active una ruta de trabajo. En algunos flujos, enviar de más a revisión es preferible a dejar sin atención una solicitud importante.
El umbral de aceptación no debe ser “mejor que la versión anterior”. Debe indicar qué rendimiento mínimo necesita cada segmento, qué errores son inadmisibles y qué volumen de revisión puede absorber la operación.
Fije esos criterios antes de cambiar instrucciones, contexto, lógica de recuperación de datos o proveedor. Así se evita ajustar el sistema hasta que parezca convincente sobre unos ejemplos conocidos. Mantenga una parte del conjunto de prueba fuera de las iteraciones diarias para comprobar si el cambio generaliza.
Haga la evaluación repetible desde la aplicación PHP
La implementación debe conservar evidencia suficiente para repetir una prueba y explicar una discrepancia. No es necesario almacenar datos personales completos para ello. Guarde una entrada minimizada o una referencia protegida, el contexto entregado a la función, la salida estructurada, el veredicto esperado y el veredicto observado.
Versione la instrucción o prompt, el esquema de salida, las reglas de validación y cualquier lógica que seleccione contexto. Un cambio en cualquiera de estos componentes puede modificar el resultado, aunque el código PHP que llama al servicio no haya variado.
$evaluationRecord = [
'case_id' => 'support-routing-042',
'instruction_version' => 'instruction-version-id',
'context_version' => 'context-version-id',
'output' => $validatedOutput,
'expected_verdict' => 'review_required',
'observed_verdict' => $observedVerdict,
];El ejemplo no sustituye controles de acceso, retención y minimización de datos. Si la entrada contiene información sensible, defina qué se puede enviar, qué debe enmascararse, quién puede consultar los registros y cuánto tiempo son necesarios para auditar y mejorar el flujo.
Ejecute la evaluación automáticamente antes de publicar cambios relevantes. Un despliegue técnico puede completar correctamente y, sin embargo, el cambio no estar listo para un release funcional. La activación debe ser gradual: primero con evaluación interna, después con un grupo o flujo limitado, y con capacidad de detenerla sin interrumpir el proceso principal.
Diseñe revisión humana y continuidad ante fallos
La revisión humana no debe convertirse en una cola opaca de excepciones. Muestre al revisor la entrada pertinente, la salida propuesta, el motivo de la revisión, la acción sugerida y los límites de la herramienta. Priorice por impacto y antigüedad, y registre la rectificación con categorías que permitan detectar patrones: contexto insuficiente, etiqueta ambigua, error de formato, caso fuera de alcance o regla de negocio no aplicada.
Use esas discrepancias para ampliar el conjunto de prueba y ajustar el proceso, no sólo para corregir el caso puntual. Si el volumen de revisión supera la capacidad operativa, reduzca el alcance de la automatización o mejore la calidad de entrada antes de ampliar la exposición.
Prepare además una ruta alternativa. Si el servicio no responde, supera el tiempo máximo, devuelve una salida inválida o no alcanza el nivel de confianza requerido, la aplicación debe conservar el trabajo y dirigirlo al mecanismo manual o determinista existente. Valide tipos, categorías, longitudes y permisos antes de ejecutar acciones; limite las operaciones reversibles y exija confirmación para las sensibles.
Lista de comprobación antes de activar la función

- La decisión asistida, sus entradas, salidas y límites de acción están documentados.
- Los errores bloqueantes tienen controles explícitos y no dependen de una confianza textual.
- El conjunto de prueba contiene casos reales anonimizados, casos límite y entradas incompletas.
- Cada caso indica si debe resolverse, revisarse o rechazarse.
- Los umbrales se miden por segmento y contemplan revisión, latencia, resultados no utilizables y coste.
- Las instrucciones, el contexto, el esquema y los resultados quedan versionados y auditables.
- La revisión humana dispone de contexto, prioridad y un proceso de rectificación.
- Existe una alternativa manual o determinista ante fallos, salidas inválidas y sobrecarga.
Con estos controles, la función asistida deja de ser una demostración aislada y pasa a ser una capacidad que producto, operaciones y tecnología pueden evaluar, limitar y mejorar de forma responsable.



