Cisco AI presenta FAPO: optimización rápida basada en canalizaciones con correlación de fallas a nivel de paso y diseño de código Claude.

Obtener las indicaciones correctas sigue siendo la parte más difícil de enviar aplicaciones LLM confiables. Los pequeños cambios de palabras pueden cambiar la precisión en un 20 por ciento. Lo que funciona para unos pocos ejemplos a menudo falla a gran escala. Cuando una tubería de varios pasos da una respuesta incorrecta, encontrar el paso defectuoso significa inspeccionar manualmente la salida intermedia.

Cisco presenta la IA FAPO para eliminar ese cuello de botella. FAPO significa Optimización de avisos totalmente automatizada. Es un sistema basado en Claude Code que optimiza el proceso de LLM desde la línea base hasta la precisión objetivo. Usted proporciona un conjunto de datos y un mensaje inicial. Luego, FAPO evalúa, clasifica los errores, sugiere alternativas, valida e itera. Todos los bucles están organizados por agentes de Claude Code. El proyecto proporciona soporte de código abierto bajo Apache 2.0 y admite Codex como agente de optimización.

Según la evaluación informada por Cisco, FAPO superó a GEPA, la optimización instantánea de última generación, en 15 de 18 modelos de referencia. FAPO logró un margen promedio de +33,8 puntos porcentuales en comparación con GEPA en ambos puntos de referencia al pasar a cambios en la cartera de proyectos.

TL; DR

  • FAPO es un sistema basado en Claude Code que optimiza de forma autónoma un proceso de LLM de varios pasos desde instrucciones básicas de código abierto hasta la resolución objetivo de acuerdo con Apache 2.0.
  • Pasa por tres niveles: instantáneo, parámetro y luego en cadena, utilizando relaciones de falla en cascada para decidir qué cambiar a continuación.
  • Según Cisco, FAPO superó a GEPA en 15 de 18 modelos de referencia, con un aumento promedio de +14,1 puntos porcentuales.
  • En HoVer e IFBench, FAPO avanza hacia cambios en el pipeline, +33,8pp. ganó los seis pares con una subida promedio; AIME fue la única victoria de GEPA en el área de muestreo de ruido.
  • La protección contra el ajuste excesivo incluye pruebas divididas solo para capacitación, archivos de versión inmutables y un controlador independiente para cada propuesta.

¿Qué es FAPO?

FAPO es un marco de optimización y evaluación de múltiples inquilinos. El inquilino es un proyecto de optimización independiente. Cada directorio de inquilinos contiene un único indicador de tarea, un conjunto de datos, una definición de cadena, un definidor y una configuración. Debido a que los inquilinos están aislados, las tareas no relacionadas se optimizan en paralelo sin interferencias.

El motor central se llama hephaestus y es independiente del dominio. Maneja la evaluación, la ejecución en cadena y la puntuación. Una cadena es un gráfico de estado de LangGraph donde se procesa cada caso de prueba. Fuera de la caja, FAPO apoya a tres proveedores de servicios: OpenAI, Baseten y SageMaker.

Una entrada que debe traer es un conjunto de datos. Es la combinación de insumos y resultados esperados lo que determina el éxito. FAPO lo divide en un conjunto de validación y un conjunto de pruebas pendientes. La afirmación establece la iteración de control; el conjunto de prueba se utiliza sólo para la evaluación final única. A partir de la descripción de la tarea, Claude puede deducir el resto: la primera cadena, la cadena y el puntero.

Cómo funciona el ciclo de optimización

Si hay piezas, FAPO ejecuta un circuito cerrado hasta que se alcanza la precisión objetivo. Cada ciclo tiene seis etapas:

  1. hacer una valoración : ejecute la cadena en el conjunto de datos y recopile la puntuación y el resultado del paso para cada instancia.
  2. Atributo – categorizar errores por causa raíz utilizando heurísticas basadas en reglas y análisis LLM.
  3. Oferta – crear un escenario dirigido a un grupo de fallas dominante.
  4. Control – un representante independiente verifica el cumplimiento de la cobertura y las propuestas de pérdida de datos.
  5. Comparar – Aceptar sólo si la versión es una mejora con respecto a la mejor anterior, en caso contrario rechazarla.
  6. Repetir – continuar hasta que se alcance la precisión objetivo o se agote el presupuesto de optimización.

El sistema opera en tres niveles. Las soluciones rápidas son las menos costosas y se prueban primero. Establecer valores de configuración como cambios de parámetros retrieval_k o temperature. Los cambios estructurales cambian la topología de la cadena, como agregar nodos autorreflexivos o cambiar al modelo ReAct. FAPO agota un nivel antes de pasar al siguiente.

La dependencia de pasos clasifica las fallas en cuatro categorías. Si la descarga falla, se devuelve contenido vacío o irrelevante. Las fallas en cascada comienzan cuando el primer paso produce una salida vacía. Los errores de formato ocultan las respuestas correctas en un texto que el anotador no puede analizar. Un error causal ocurre cuando una buena información aún conduce a conclusiones incorrectas. Los problemas de formato y justificación se pueden resolver rápidamente. Los problemas de descarga y cascada tienen solución estructural.

Una protección de seguridad evita que el ajustador óptimo se ajuste demasiado. Solo examina casos divididos en capacitación, mientras que la validación y las pruebas solo muestran puntajes totales. Cada versión es un archivo nuevo e inmutable y nunca ha sido parcheado. Un revisor independiente revisa cada propuesta antes de su implementación.

Estudio de caso: FAPO versus GEPA

El equipo de Cisco evaluó FAPO frente a GEPA (Arquitectura de aviso evolutivo generalizado), un enfoque de última generación para la optimización de avisos. GEPA utiliza la búsqueda evolutiva con operadores genéticos para optimizar los datos de canalización de varias etapas. Ambos sistemas comenzaron con la misma canalización y mensajes. La FAPO puede pasar a una reestructuración si la nomenclatura se convierte en un obstáculo. GEPA se limitó a la optimización a nivel de aviso.

La comparación involucró seis puntos de referencia y tres modelos de tareas: GPT-4.1-mini, GPT-5.4-mini y Gemma 3-12B. Claude Opus 4.6 actuó como director de la FAPO y reflector de la GEPA. Las puntuaciones siguientes se promedian en tres diseños de tareas.

Estándar Base GEPA FAPO Beneficio contra GEPA
Flotar 35,9 48,5 83,8 +35,3p
IFBanco 35,7 48,5 80,7 +32,2p
LiveBench-Matemáticas 51.0 52,6 62.0 +9,4p
HotpotQA 50,9 61,8 68.3 +6,5p
papillón 73,6 90,7 94,9 +4,2p
OBJETIVO 16.7 16.0 12.9 -3,1p

FAPO gana 15 de 18 pruebas comparativas de modelos, con un aumento promedio de +14,1 ppp sobre GEPA. En HoVer e IFBench, donde FAPO pasó a realizar modificaciones en los oleoductos, superó a los seis pares de modelos de referencia. El beneficio medio es de +33,8pp. En los cuatro puntos de referencia no estructurados, FAPO aún gana 9 de 12 solo gracias a la optimización instantánea. AIME fue el único índice de referencia que superó a GEPA en un 3,1 por ciento. Esta diferencia es menor que la desviación estándar de los experimentos estocásticos.

Una comparación de capacidades muestra las diferencias de diseño reportadas por Cisco. Cada línea a continuación representa la descripción fuente de ambos sistemas.

Capacidad GEPA FAPO
Nivel de optimización Solo texto instantáneo Datos → parámetros → estructura
La estructura de la cadena se puede cambiar. No Sí, cuando el atributo encuentra un obstáculo.
como conducirlo Exploración evolutiva con operadores genéticos. Código Claude o bucle del agente Codex
Resultados de 18 pares de modelos de referencia Referencia Ganó 15 de 18; Promedio +14.1pp

Dónde encaja: casos de uso

FAPO guía un proceso de LLM de varias etapas, no uno solo. Algunos ejemplos específicos:

  • Respuestas a muchas preguntas sobre saltos.: La red extrae documentos, extrae hechos y razones de la evidencia y da forma a las respuestas. En los pasos documentados de Cisco, el circuito de control de calidad de varios pasos aumentó la precisión del 39,3 % al 70,3 % en dos iteraciones. Luego, el atributo se marca como limitado a la recuperación restaurativa de fallas, lo que indica reparación estructural. Por otra parte, en el punto de referencia HotpotQA, FAPO logró una precisión de prueba del 68,3% en comparación con el 61,8% de GEPA.
  • Las siguientes instrucciones: En IFBench, un error de restricción de formato hizo que FAPO excediera el mensaje, lo que resultó en una precisión de prueba del 80,7 %.
  • Clasificación: La transferencia de nombres de firmware a categorías se puede configurar en el código Claude y luego optimizar para que coincida con el nivel objetivo exacto.
  • Agentes de reacción: una extensión del flujo de trabajo de MCP optimiza el agente ReAct para la invocación de instrumentos utilizando puntuaciones de trayectoria y puntuaciones de LLM como juez.

Comenzar

La forma más rápida es dejar que Claude Code cree el archivo del inquilino. En el repositorio, describe tu tarea en inglés sencillo y luego agrega un conjunto de datos JSONL. Cada fila es un caso de prueba. case_id, task_type, context, expectedy metadata:

{"case_id": "1", "task_type": "qa", "context": {"question": "What is the capital of France?"}, "expected": {"answer": "Paris"}, "metadata": {}}
{"case_id": "2", "task_type": "qa", "context": {"question": "What is 2 + 2?"}, "expected": {"answer": "4"}, "metadata": {}}

El evaluador compara el resultado de la cadena con la respuesta esperada. esta implementado validate_case detectar datos erróneos a tiempo y score_case Para devolver una puntuación compuesta:

from hephaestus.scoring.scorer import Scorer as BaseScorer

class Scorer(BaseScorer):
    def validate_case(self, case, scoring_profile):
        assert "answer" in case.expected, "Missing 'answer' in expected"

    def score_case(self, case, output_text, scoring_profile):
        expected = case.expected("answer").strip().lower()
        predicted = output_text.strip().lower()
        em = 100.0 if predicted == expected else 0.0
        return {"composite_score": em, "score_breakdown": {"exact_match": em}}

Confirme la configuración con la línea base:

export OPENAI_API_KEY="sk-..."
python -m hephaestus.cli eval --config tenants/my_project/configs/eval.json

Luego llama al agente de optimización con el inquilino, la configuración y los criterios de éxito. composite_score >= 90. Claude Code crea un contrato de alcance y luego lo itera de forma independiente. Cada versión de datos, configuración y análisis de cada versión se escribe en el disco, por lo que cada ejecución aún es auditable. Luego, una interfaz de usuario local de solo lectura llamada FAPO Explorer busca artefactos.

Ventajas y desventajas

Fortaleza

  • Una puntuación basada en la canalización atribuye el fracaso al paso que lo generó, no sólo al resultado final.
  • Una jerarquía de tres niveles maneja los errores que no se pueden corregir por sí solos.
  • Protección contra el exceso de ajuste: verificación dividida solo para entrenamiento, versiones inmutables, controlador independiente.
  • A partir de Apache 2.0, se admiten tanto el código abierto como Cloud Code y Codex.

Debilidades

  • La calidad de la optimización está limitada por la calidad y cobertura del conjunto de datos que debe proporcionar.
  • Como el proyecto aún se encuentra en sus primeras etapas, los registros de producción independiente aún son limitados.
  • La iteración predeterminada depende de la herramienta de codificación del agente (Clod Code o Codex) en lugar de un optimizador independiente.

Explicador interactivo



Compruebe el repositorio y Detalles técnicos. Y no dudes en seguirnos Gorjeo y no olvides unirte a nosotros SubReddit de 150k+ML y regístrate nuestro boletín. ¡Esperar! ¿Estás en Telegram? Ahora puedes unirte a nosotros en Telegram.

¿Necesita trabajar con nosotros para promocionar su GitHub Repo o Hugging Face Page, lanzamiento de producto, seminario web, etc.? Contáctenos


Carmela Aranda

Acerca de Carmela Aranda

Carmela Aranda sociedad anónima cerrada es una asociación sin fines de lucro que ayuda y maneja el tema de los libros y cierres de mes que sepan como suplir en las empresas.

Ver todas las entradas de Carmela Aranda →

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *