Compound AI Systems
Aprende cómo los sistemas de IA compuesta combinan modelos, herramientas, datos y reglas. Explora arquitecturas, aplicaciones, ventajas e inconvenientes y prácticas recomendadas para flujos de trabajo de IA fiables.
Los sistemas de IA compuestos son aplicaciones de IA construidas a partir de varios componentes que interactúan entre sí, en lugar de un único modelo. Un sistema puede combinar modelos, servicios de recuperación, bases de datos, reglas deterministas, herramientas externas y revisión humana en un flujo de trabajo coordinado. En visión artificial, por ejemplo, un modelo puede detectar objetos mientras el software de seguimiento mantiene sus identidades, las reglas de negocio interpretan los eventos y los servicios de monitorización supervisan el rendimiento en producción. La característica definitoria es la composición: el comportamiento a nivel del sistema surge de cómo las distintas partes intercambian información y toman decisiones.
Cómo funcionan los sistemas de IA compuestos#
Un sistema compuesto divide una tarea más grande en etapas especializadas. Entre los componentes habituales se incluyen el preprocesamiento de datos, uno o varios modelos de IA, el almacenamiento, la lógica de validación, las interfaces de programación de aplicaciones y una capa de orquestación. Los contratos claros, como los descritos en la OpenAPI Specification, definen los datos que acepta y devuelve cada servicio.
El control puede ser determinista, cuando el código convencional llama a los componentes siguiendo una secuencia fija, o dinámico, cuando una capa de orquestación de agentes de IA selecciona herramientas y rutas durante la ejecución. La orquestación de IA coordina las dependencias, los reintentos, los recursos y el flujo de datos en toda la aplicación.
Entre los patrones habituales se incluyen la generación aumentada mediante recuperación, en la que la recuperación proporciona contexto a un modelo de lenguaje, y las canalizaciones de fusión de sensores, que combinan cámaras, radar u otras entradas. El cambio más amplio de modelos aislados a sistemas integrados se describe en la descripción general de Berkeley AI Research sobre los sistemas de IA compuestos. (bair.berkeley.edu)
Por qué son importantes los sistemas compuestos#
La composición permite a los desarrolladores mejorar una aplicación sin volver a entrenar un modelo enorme. Un componente especializado puede sustituirse, escalarse u optimizarse mientras el resto del flujo de trabajo permanece estable. Las reglas y las etapas de validación también pueden proporcionar más control que depender completamente de la salida probabilística del modelo.
Estas ventajas introducen compromisos a nivel del sistema:
- Propagación de fallos: Una detección incorrecta, una recuperación fallida o una API no disponible pueden afectar a todas las decisiones posteriores.
- Latencia y coste: Cada llamada al modelo, solicitud de red y etapa de verificación consume parte del presupuesto total de respuesta.
- Deriva de las interfaces: Actualizar un servicio puede cambiar su formato de salida o sus supuestos y romper silenciosamente otro componente.
- Evaluación difícil: Un componente sólido no garantiza un resultado sólido de extremo a extremo.
Por tanto, las operaciones de machine learning deben abarcar todo el flujo de trabajo. La guía de observabilidad de OpenTelemetry explica cómo las trazas, las métricas y los registros revelan lo ocurrido en los servicios distribuidos, mientras que el seguimiento de experimentos de MLflow puede registrar las configuraciones de los modelos y los resultados de la evaluación. (opentelemetry.io)
Conceptos relacionados y diferencias clave#
Un sistema de IA compuesto no es simplemente otra forma de llamar a un modelo complejo.
Un ensemble de modelos combina las predicciones de varios modelos, normalmente mediante votación, promediado o stacking. Un ensemble puede ser un componente dentro de un sistema compuesto, pero normalmente carece de bases de datos, herramientas, lógica de flujo de trabajo y servicios operativos.
Un flujo de trabajo agéntico permite que los modelos elijan acciones o herramientas de forma autónoma. Los sistemas compuestos son más amplios: muchos utilizan canalizaciones fijas, servicios basados en eventos o aprobación humana sin agentes autónomos.
Del mismo modo, RAG es un patrón compuesto concreto que implica recuperación y generación. La IA compuesta también puede coordinar visión artificial, predicción, optimización, robótica y software convencional sin utilizar un modelo de lenguaje.
Aplicaciones en el mundo real#
-
Inspección visual de fabricación: Una cámara captura los productos, un modelo Ultralytics YOLO26 detecta los defectos, la lógica basada en reglas comprueba su gravedad y ubicación, y un sistema de producción rechaza o aprueba cada artículo. Los casos inciertos pueden derivarse a un inspector humano, mientras que las imágenes almacenadas permiten volver a entrenar el modelo posteriormente.
-
Análisis de tráfico y aparcamientos: La detección identifica los vehículos, el seguimiento de múltiples objetos mantiene sus identidades entre fotogramas, la lógica geométrica determina la ocupación del carril o de la zona de aparcamiento, y los cuadros de mando agregan recuentos y alertas. Los errores pueden provocar recuentos duplicados, eventos de congestión no detectados o estimaciones incorrectas de disponibilidad, por lo que cada etapa debe probarse conjuntamente.
El siguiente ejemplo simplificado muestra cómo la percepción alimenta una lógica de decisión determinista:
from ultralytics import YOLO
# Perception component
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Policy component
person_class = next(i for i, name in result.names.items() if name == "person")
person_count = int((result.boxes.cls == person_class).sum())
decision = "review" if person_count >= 4 else "continue"
print({"people_detected": person_count, "next_step": decision})
result.save(filename="compound_system_input.jpg")Aquí, YOLO genera observaciones estructuradas, mientras que una lógica de políticas independiente determina la siguiente acción. Un sistema de producción podría añadir almacenamiento, notificaciones, controles de acceso o revisión humana.
Recomendaciones prácticas de diseño#
Empieza con un objetivo de extremo a extremo que se pueda medir y, después, asigna a cada componente una responsabilidad clara. Define esquemas y tiempos de espera en cada límite, prueba los componentes de forma independiente y evalúa flujos de trabajo realistas en lugar de limitarte a la precisión del modelo.
Utiliza trazas para seguir solicitudes individuales, establece presupuestos de latencia y coste, y proporciona reintentos o alternativas seguras para los servicios no disponibles. Las sondas de estado de Kubernetes ilustran cómo los servicios desplegados pueden exponer señales de preparación y actividad.
Los controles de riesgos deben abordar el sistema completo, incluido el acceso a los datos, las herramientas externas, las anulaciones humanas y las consecuencias posteriores. El NIST AI Risk Management Framework proporciona directrices orientadas al ciclo de vida para gobernar, medir y gestionar estos riesgos. Los equipos pueden utilizar Ultralytics Platform para conectar la anotación de conjuntos de datos, el entrenamiento, el despliegue y la monitorización en producción de los componentes de visión dentro de una aplicación compuesta más amplia. (nist.gov)









