La inteligencia artificial está evolucionando hacia aplicaciones capaces de ejecutar tareas cada vez más complejas mediante herramientas, modelos de lenguaje y sistemas de automatización.
Una de las arquitecturas más interesantes de esta evolución son los sistemas multiagente, conocidos también como Multi-Agent Systems o MAS.
En lugar de utilizar un único agente para realizar todas las operaciones, un sistema multiagente distribuye el trabajo entre varios agentes especializados que pueden colaborar, intercambiar información y coordinar sus acciones.
Por ejemplo, una empresa puede desarrollar una plataforma de análisis comercial donde un agente recopila información, otro analiza los datos y un tercero prepara recomendaciones para el equipo de ventas.
Cada agente desempeña una función determinada dentro de un proceso más amplio.
Esta arquitectura permite separar responsabilidades y diseñar sistemas modulares. Sin embargo, también introduce nuevos desafíos relacionados con la comunicación, la coordinación, la seguridad y los costes.
En este artículo explicaremos qué es un sistema multiagente, cómo funciona, cuáles son sus principales arquitecturas y qué aplicaciones tiene en el desarrollo de soluciones empresariales con inteligencia artificial.

¿Qué es un sistema multiagente?
Un sistema multiagente es un sistema informático compuesto por dos o más agentes que interactúan dentro de un entorno compartido para alcanzar objetivos individuales, comunes o relacionados.
Cada agente puede disponer de sus propios mecanismos de decisión, información, herramientas y responsabilidades.
Los agentes pueden colaborar para resolver un problema, coordinar actividades o, en determinados sistemas, competir por recursos.
En las aplicaciones empresariales modernas, los sistemas multiagente suelen diseñarse para distribuir tareas entre agentes especializados.
Por ejemplo, una plataforma de gestión documental puede incorporar:
- Un agente encargado de recuperar documentos.
- Un agente especializado en extraer información.
- Un agente que analiza los datos obtenidos.
- Un agente responsable de preparar un informe.
Aunque cada componente realiza una función diferente, todos participan en un proceso común.
¿En qué se diferencia de un agente de IA individual?
Un agente individual concentra las principales capacidades de interpretación, planificación y ejecución dentro de una misma entidad.
En cambio, un sistema multiagente distribuye estas capacidades entre varios componentes que necesitan coordinarse.
Esta distribución puede facilitar la especialización, pero también incrementa la complejidad.
Por ello, utilizar varios agentes no garantiza automáticamente mejores resultados.
¿Cómo funciona un sistema multiagente?
El funcionamiento depende de la arquitectura seleccionada, pero muchos sistemas modernos siguen un proceso basado en la distribución de tareas y el intercambio de resultados.
Un flujo típico incluye seis etapas.
1. Recepción del objetivo
El sistema recibe una instrucción del usuario o un evento de una aplicación.
Por ejemplo:
«Analiza la actividad comercial del último trimestre y prepara un informe con recomendaciones».
2. Distribución del trabajo
Un componente de orquestación determina qué agentes deben participar.
En una arquitectura jerárquica, un agente supervisor puede distribuir las tareas.
En una arquitectura basada en código, la aplicación determina directamente qué agentes ejecutar.
3. Ejecución especializada
Cada agente realiza las operaciones correspondientes a su responsabilidad.
El agente de datos consulta registros comerciales.
El agente de análisis interpreta los resultados.
El agente de informes organiza la información en un documento.
4. Intercambio de información
Los resultados se transmiten entre agentes mediante mensajes, estructuras de datos o mecanismos de almacenamiento compartido.
Es importante que cada agente reciba únicamente la información necesaria.
5. Coordinación y validación
El sistema comprueba si las tareas se han completado y si los resultados cumplen las condiciones esperadas.
Cuando existen errores, puede repetir determinadas operaciones o solicitar supervisión humana.
6. Generación del resultado final
Un agente o componente coordinador reúne la información y presenta el resultado al usuario.
El proceso puede incluir varios ciclos de ejecución antes de finalizar.
¿Cuáles son los componentes principales de una arquitectura multiagente?
Los sistemas multiagente modernos suelen combinar diferentes componentes técnicos.
| Componente | Función principal |
|---|---|
| Agentes especializados | Ejecutar tareas específicas |
| Orquestador | Coordinar la ejecución |
| Modelo de IA | Interpretar información y seleccionar acciones |
| Herramientas | Interactuar con sistemas externos |
| Comunicación | Intercambiar instrucciones y resultados |
| Estado compartido | Conservar información del proceso |
| Memoria | Recuperar información relevante |
| Seguridad | Controlar permisos y acceso |
| Observabilidad | Registrar acciones y errores |
No todos los sistemas necesitan implementar estos componentes como servicios independientes.
En un prototipo pueden encontrarse dentro de una sola aplicación Python.
En una plataforma empresarial pueden distribuirse entre servicios, bases de datos y sistemas de mensajería.
1. Agentes especializados
Los agentes especializados constituyen los componentes operativos principales del sistema.
Cada agente dispone de un propósito definido.
Por ejemplo, un agente de investigación puede estar diseñado para recuperar información de documentos autorizados.
Un agente de análisis puede procesar datos y detectar patrones.
Un agente de generación de informes puede organizar resultados y preparar explicaciones.
La especialización permite configurar instrucciones y herramientas adaptadas a cada responsabilidad.
También facilita limitar los permisos.
Un agente que solamente necesita consultar documentos no debería disponer de acceso para modificar registros financieros.
2. Orquestador de agentes
El orquestador determina cómo se ejecutan y coordinan los agentes.
Puede controlar el orden de ejecución, distribuir solicitudes, gestionar errores y combinar resultados.
Existen dos estrategias habituales.
Orquestación mediante código: la aplicación define explícitamente qué agentes se ejecutan y en qué orden.
Orquestación mediante un modelo de IA: un agente coordinador interpreta el objetivo y selecciona dinámicamente qué especialistas deben intervenir.
Ambas estrategias pueden combinarse.
La documentación del OpenAI Agents SDK distingue, entre otros, los patrones de agentes como herramientas y transferencias de control (handoffs).
3. Comunicación entre agentes
La comunicación permite transmitir información de un agente a otro.
Por ejemplo, un agente de investigación puede generar una lista estructurada de documentos relevantes.
El agente de análisis recibe esos resultados y produce conclusiones.
Después, el agente de informes utiliza las conclusiones para preparar el documento final.
La comunicación puede realizarse mediante llamadas a funciones, mensajes estructurados, APIs o sistemas de mensajería.
¿Por qué es importante utilizar datos estructurados?
Porque los mensajes ambiguos pueden producir errores de interpretación.
Por ejemplo, en lugar de transmitir una descripción informal, un agente puede generar una estructura JSON:
{ "periodo": "2026-T3", "oportunidades_analizadas": 125, "oportunidades_prioritarias": 18, "estado": "analisis_completado"}
Este formato facilita la validación y el intercambio entre componentes.
No obstante, utilizar JSON no garantiza que los datos sean correctos. La aplicación debe comprobar tanto la estructura como la procedencia de la información.
4. Estado y memoria compartida
El estado compartido permite que diferentes agentes trabajen sobre una misma tarea.
Puede contener identificadores, operaciones completadas, resultados intermedios y estados de aprobación.
Por ejemplo, un proceso de investigación puede almacenar qué documentos han sido consultados y cuáles siguen pendientes.
La memoria persistente permite conservar información entre ejecuciones cuando existe una necesidad funcional.
Es importante distinguir memoria de estado.
El estado representa la situación actual del proceso, mientras que la memoria puede contener información recuperable para futuras interacciones.
También deben establecerse reglas sobre qué agentes pueden leer o modificar cada dato.
5. Herramientas e integraciones
Los agentes utilizan herramientas para interactuar con aplicaciones empresariales.
Entre las integraciones habituales encontramos APIs REST, bases de datos PostgreSQL, sistemas CRM, aplicaciones de correo, repositorios documentales y motores de búsqueda.
Cada agente debería disponer únicamente de las herramientas necesarias para su función.
Por ejemplo, un agente encargado de analizar ventas puede necesitar acceso de lectura al CRM.
Sin embargo, no necesita necesariamente permisos para eliminar clientes o modificar contratos.
La separación de herramientas y permisos es una ventaja importante de las arquitecturas especializadas.
Tipos de arquitecturas multiagente
No existe un único diseño válido para todos los sistemas.
La elección depende de cómo se distribuyen las responsabilidades y cómo se coordina la ejecución.
Arquitectura jerárquica
En una arquitectura jerárquica existe un agente supervisor que dirige el trabajo de agentes especializados.
El supervisor recibe el objetivo, selecciona los agentes necesarios y combina los resultados.
Por ejemplo, puede coordinar un agente financiero, otro comercial y otro de informes.
Ventajas: control centralizado, responsabilidades claras y facilidad para organizar resultados.
Limitaciones: el supervisor puede convertirse en un cuello de botella o en un punto de fallo importante.
Arquitectura secuencial
Los agentes ejecutan tareas siguiendo un orden definido.
El resultado de un agente se convierte en la entrada del siguiente.
Por ejemplo:
Investigación → Análisis → Redacción → Revisión.
Este patrón resulta útil cuando existe una dependencia clara entre las operaciones.
Su principal limitación es que un error temprano puede propagarse a las etapas posteriores.
Arquitectura paralela
Varios agentes realizan tareas independientes de forma simultánea.
Por ejemplo, un agente analiza ventas mientras otro examina incidencias de soporte.
Posteriormente, un componente coordinador combina los resultados.
Esta arquitectura puede reducir el tiempo de ejecución, aunque requiere mecanismos para gestionar errores y sincronizar resultados.
Arquitectura colaborativa
Los agentes intercambian información y coordinan acciones entre ellos.
No siempre existe un supervisor que determine todas las operaciones.
Este enfoque puede resultar útil para problemas distribuidos, pero introduce mayor complejidad en la comunicación y resolución de conflictos.
Arquitectura de transferencia de control
En este patrón, un agente puede transferir la responsabilidad de una conversación o tarea a otro especialista.
Por ejemplo, un agente de atención general puede derivar una consulta de facturación a un agente financiero.
En el OpenAI Agents SDK, este mecanismo se conoce como handoff.
La diferencia respecto a un agente utilizado como herramienta es importante: en una transferencia, el especialista pasa a controlar la interacción; cuando se utiliza como herramienta, el agente coordinador mantiene la responsabilidad de la respuesta final.
Sistemas multiagente vs. agente único
Una de las principales decisiones de arquitectura consiste en determinar si una aplicación necesita varios agentes.
| Característica | Agente único | Sistema multiagente |
|---|---|---|
| Arquitectura | Más sencilla | Más compleja |
| Especialización | Centralizada | Distribuida |
| Coordinación | Limitada | Necesaria |
| Mantenimiento | Generalmente más simple | Más componentes |
| Costes de ejecución | Potencialmente menores | Pueden aumentar |
| Control de permisos | Un conjunto de capacidades | Permisos por agente |
| Casos ideales | Tareas acotadas | Procesos con funciones diferenciadas |
Un agente único puede utilizar numerosas herramientas y completar procesos complejos.
Por ello, no es necesario desarrollar varios agentes simplemente porque una tarea tenga múltiples pasos.
La arquitectura multiagente se justifica cuando la separación de responsabilidades aporta ventajas verificables.
Ejemplo práctico: sistema multiagente para analizar oportunidades comerciales
Imaginemos una empresa que desea generar informes comerciales automáticamente.
El sistema debe analizar oportunidades abiertas, identificar riesgos y preparar recomendaciones.
Podemos organizarlo mediante tres agentes.
Agente 1. Investigación comercial
Su responsabilidad es recopilar los datos relevantes.
Puede consultar oportunidades, actividades recientes y fechas de seguimiento mediante herramientas autorizadas.
El resultado debe ser un conjunto de datos estructurados.
Agente 2. Análisis de oportunidades
Recibe los datos obtenidos por el primer agente.
Su función consiste en identificar patrones, detectar oportunidades sin actividad y proponer criterios de priorización.
No necesita permisos para modificar el CRM.
Agente 3. Generación de informes
Recibe los resultados del análisis y prepara un informe destinado al equipo comercial.
Puede organizar el contenido en secciones, incluir recomendaciones y señalar información que requiere revisión.
¿Cómo se coordinan?
Una opción es utilizar un proceso secuencial.
Primero se ejecuta el agente de investigación.
Después se ejecuta el agente de análisis.
Finalmente se ejecuta el agente de informes.
Otra opción consiste en desarrollar un supervisor que seleccione qué especialistas debe utilizar.
El diseño depende de la variabilidad de las tareas y del grado de control necesario.
¿Qué ventajas ofrecen los sistemas multiagente?
Los sistemas multiagente pueden aportar ventajas cuando un problema necesita varias capacidades diferenciadas.
Especialización: cada agente dispone de instrucciones y herramientas adaptadas a una función.
Modularidad: determinados componentes pueden modificarse sin rediseñar toda la aplicación.
Reutilización: un agente especializado puede participar en diferentes procesos.
Distribución del trabajo: ciertas operaciones independientes pueden ejecutarse en paralelo.
Separación de permisos: las herramientas pueden asignarse según las responsabilidades.
Evaluación especializada: es posible medir el rendimiento de cada agente por separado.
Estas ventajas no son automáticas. Deben demostrarse mediante pruebas y métricas.
¿Cuáles son las limitaciones y riesgos?
La arquitectura multiagente introduce desafíos que no siempre existen en una aplicación sencilla.
Mayor complejidad
Es necesario gestionar múltiples componentes y las relaciones entre ellos.
Errores de comunicación
Un agente puede transmitir información incompleta o incorrecta.
Propagación de errores
Una conclusión equivocada puede influir en agentes posteriores.
Incremento de costes
Cada agente puede generar llamadas adicionales al modelo y a herramientas.
Mayor latencia
Las operaciones secuenciales pueden incrementar el tiempo necesario para completar una tarea.
Problemas de seguridad
Los sistemas deben controlar qué información y herramientas puede utilizar cada agente.
Dificultad de evaluación
No basta con comprobar el resultado final. También conviene analizar las decisiones intermedias y la coordinación.
Seguridad en sistemas multiagente
La seguridad debe incorporarse desde el diseño.
Cada agente debería disponer de una identidad o contexto de autorización apropiado y acceso limitado a los recursos necesarios.
Los resultados externos deben tratarse como información no confiable.
Esto es especialmente importante ante ataques de prompt injection, en los que un documento o resultado de herramienta contiene instrucciones destinadas a manipular al agente.
También deben establecerse límites de ejecución y mecanismos de aprobación para acciones sensibles.
Por ejemplo, un agente puede preparar una propuesta comercial, pero necesitar autorización antes de enviarla a un cliente.
La aplicación debe validar los permisos mediante código, independientemente de las instrucciones proporcionadas al modelo.
¿Cuándo conviene desarrollar un sistema multiagente?
Una arquitectura multiagente puede ser apropiada cuando existen responsabilidades claramente diferenciadas, necesidades de especialización o tareas independientes que pueden ejecutarse en paralelo.
También puede resultar útil cuando diferentes agentes necesitan herramientas y permisos distintos.
Sin embargo, antes de implementarla conviene formular varias preguntas:
- ¿Puede un único agente completar la tarea?
- ¿Existen responsabilidades que deban separarse?
- ¿Qué información necesitan intercambiar los agentes?
- ¿Quién controla la ejecución?
- ¿Cómo se validarán los resultados?
- ¿Qué costes adicionales introduce la coordinación?
- ¿Cómo se gestionarán errores y autorizaciones?
Si un agente único resuelve el problema con suficiente fiabilidad, puede ser la mejor solución.
¿Cuál es el futuro de los sistemas multiagente?
Los sistemas multiagente representan una línea importante de evolución en las aplicaciones de IA.
Su desarrollo está relacionado con la especialización, la orquestación y la integración de modelos con herramientas empresariales.
Una tendencia técnica relevante consiste en combinar decisiones basadas en modelos de lenguaje con flujos de trabajo controlados mediante código.
También están adquiriendo importancia la observabilidad, la persistencia del estado, la evaluación y las aprobaciones humanas.
Sin embargo, la adopción empresarial dependerá de conseguir resultados reproducibles, costes razonables y controles de seguridad adecuados.
El objetivo no debería ser incorporar el mayor número posible de agentes, sino diseñar una arquitectura que resuelva el problema con la complejidad mínima necesaria.
Preguntas frecuentes sobre sistemas multiagente
¿Qué es un sistema multiagente en inteligencia artificial?
Es un sistema compuesto por varios agentes que interactúan dentro de un entorno común para alcanzar objetivos individuales o compartidos.
¿Cuál es la diferencia entre un agente y un sistema multiagente?
Un agente individual concentra las capacidades principales dentro de un componente. Un sistema multiagente distribuye responsabilidades entre varios agentes que necesitan coordinarse.
¿Los sistemas multiagente siempre utilizan modelos de lenguaje?
No. Existen sistemas multiagente basados en reglas, planificación, aprendizaje por refuerzo y otras técnicas. Los modelos de lenguaje son una de las opciones utilizadas actualmente.
¿Qué es un agente supervisor?
Es un agente encargado de coordinar otros agentes, distribuir tareas y combinar resultados. Se utiliza especialmente en arquitecturas jerárquicas.
¿Qué diferencia existe entre handoff y agentes como herramientas?
En un handoff, el control pasa a otro agente. Cuando un agente se utiliza como herramienta, el coordinador mantiene el control y recibe el resultado del especialista.
¿Cuántos agentes necesita un sistema multiagente?
No existe un número ideal. Técnicamente, dos agentes pueden formar un sistema multiagente. La cantidad adecuada depende de las responsabilidades y requisitos de cada aplicación.
¿Se pueden desarrollar sistemas multiagente con Python?
Sí. Python dispone de bibliotecas y frameworks como OpenAI Agents SDK, LangGraph y CrewAI para implementar diferentes patrones de coordinación.
¿Es mejor un sistema multiagente que un agente autónomo?
No necesariamente. Ambos conceptos describen dimensiones diferentes: la autonomía indica el grado de independencia y la arquitectura multiagente indica la participación de varios agentes. Un sistema multiagente puede contener agentes autónomos.
Conclusión
Los sistemas multiagente permiten desarrollar aplicaciones en las que varios agentes especializados colaboran para completar tareas.
Su principal característica es la distribución de responsabilidades mediante mecanismos de comunicación y coordinación.
Existen diferentes arquitecturas, incluyendo sistemas jerárquicos, secuenciales, paralelos y colaborativos.
Cada una presenta ventajas y limitaciones.
En entornos empresariales, los sistemas multiagente pueden utilizarse para análisis comercial, atención al cliente, investigación, soporte informático y automatización de procesos.
Sin embargo, incorporar varios agentes también introduce nuevos desafíos relacionados con costes, comunicación, seguridad y evaluación.
La mejor arquitectura multiagente no es la que utiliza más agentes, sino la que distribuye correctamente las responsabilidades y produce resultados fiables.
En Agentes y Automatización continuaremos explorando cómo diseñar e implementar estas arquitecturas mediante herramientas, ejemplos técnicos y tutoriales prácticos.
Anexo técnico: crear un sistema multiagente con Python
Para complementar el artículo, desarrollaremos un ejemplo práctico de tres agentes especializados utilizando el OpenAI Agents SDK.
La documentación oficial distingue dos mecanismos de colaboración: handoffs, donde se transfiere el control, y agents as tools, donde un agente coordinador utiliza otros agentes como herramientas y mantiene el control de la respuesta final. Para este ejemplo utilizaremos el segundo patrón.
OpenAI Agents SDK
+1
Objetivo del ejemplo
Construiremos un sistema que analice oportunidades comerciales mediante tres agentes:
- Agente investigador: organiza datos de oportunidades.
- Agente analista: identifica riesgos y oportunidades prioritarias.
- Agente coordinador: solicita trabajo a los especialistas y prepara el informe final.
Trabajaremos con datos ficticios para evitar el acceso a información comercial real.
Paso 1. Instalar el SDK
pip install openai-agents
Es necesario configurar OPENAI_API_KEY en las variables de entorno con una clave válida. El SDK ejecutará llamadas a modelos a través de la API, por lo que pueden producirse costes.
Paso 2. Implementar los agentes
from agents import Agent, Runner, function_tool
# Datos simulados: no existe conexión con un CRM real.
OPORTUNIDADES = [
{
"cliente": "Empresa Alfa",
"valor": 12000,
"dias_sin_actividad": 16
},
{
"cliente": "Empresa Beta",
"valor": 8500,
"dias_sin_actividad": 3
},
{
"cliente": "Empresa Gamma",
"valor": 24000,
"dias_sin_actividad": 22
}
]
@function_tool
def consultar_oportunidades() -> list[dict]:
"""Devuelve oportunidades comerciales ficticias."""
return OPORTUNIDADES
# Agente especializado en investigación
investigador = Agent(
name="Investigador comercial",
instructions=(
"Consulta las oportunidades mediante la herramienta. "
"Devuelve todos los registros con sus cifras exactas. "
"No inventes información."
),
tools=[consultar_oportunidades]
)
# Agente especializado en análisis
analista = Agent(
name="Analista comercial",
instructions=(
"Analiza los datos comerciales recibidos. "
"Considera prioritarias las oportunidades "
"con más de 10 días sin actividad. "
"Explica las prioridades sin inventar datos."
)
)
# Agente coordinador
coordinador = Agent(
name="Coordinador comercial",
instructions=(
"Prepara un informe de oportunidades comerciales. "
"Primero solicita datos al investigador. "
"Después utiliza al analista para evaluarlos. "
"Presenta los resultados y recomendaciones "
"en español. No modifiques ningún registro."
),
tools=[
investigador.as_tool(
tool_name="investigar_oportunidades",
tool_description=(
"Consulta y organiza oportunidades "
"comerciales ficticias."
)
),
analista.as_tool(
tool_name="analizar_oportunidades",
tool_description=(
"Analiza oportunidades y determina "
"prioridades de seguimiento."
)
)
]
)
def main():
resultado = Runner.run_sync(
coordinador,
"Analiza las oportunidades comerciales "
"y prepara un informe de seguimiento.",
max_turns=10
)
print(resultado.final_output)
if __name__ == "__main__":
main()
Paso 3. Comprender la ejecución
El agente coordinador recibe el objetivo y puede invocar las herramientas que representan a los especialistas.
El investigador obtiene los datos ficticios mediante su función.
El analista evalúa la información que el coordinador le transmite.
Finalmente, el coordinador genera el informe.
Según los criterios establecidos, Empresa Alfa y Empresa Gamma deberían identificarse como oportunidades prioritarias, porque llevan más de diez días sin actividad.
Importante: este ejemplo demuestra la coordinación entre agentes, pero no garantiza que las herramientas se invoquen exactamente en el orden solicitado. Si el orden debe ser obligatorio, resulta preferible controlar la secuencia desde Python y validar los resultados intermedios.
Tampoco se considera una implementación de producción. Para utilizar datos comerciales reales necesitaríamos añadir autenticación, autorizaciones por usuario, manejo de errores, trazabilidad y evaluaciones automatizadas.
La documentación de inicio rápido del OpenAI Agents SDK y orquestación multiagente explica ambos patrones de implementación.