Agente único versus multiagente: cuándo construir un sistema multiagente

Agentes de IA

Al crear un agente de IA, la elección del diseño es importante. Un solo agente puede ser suficiente para tareas sencillas, mientras que los flujos de trabajo más complejos pueden necesitar varios agentes especializados trabajando juntos, cada uno de los cuales es responsable de una parte específica del proceso, como la recuperación, la redacción, la verificación, la codificación, las pruebas o la revisión.

Esta publicación explica los componentes centrales del diseño de agentes de IA, el enfoque ReAct, la diferencia entre arquitecturas de agente único y multiagente y cómo elegir el diseño correcto según la tarea. También incluye un tutorial sobre cómo funciona un práctico sistema RAG multiagente y cómo se construyó.

popular porque los LLM modernos ahora son muy capaces en tareas como codificar, escribir, razonar y resolver problemas en diferentes campos. Esto ha reducido la necesidad de entrenar modelos personalizados y ha desviado más atención hacia la creación de aplicaciones prácticas en torno a los LLM existentes. Herramientas como Codex, Claude Code, Cursor y Windsurf ya están ayudando a los ingenieros de software a trabajar más rápido, mientras que las empresas utilizan agentes para atención al cliente, automatización y otras tareas del mundo real.

Un agente de IA es una aplicación que utiliza un LLM para razonar, planificar y utilizar herramientas para realizar tareas, permitiendo que el modelo interactúe con su entorno de forma práctica y útil.

Componentes de un agente de IA

Algunos de los componentes principales de la mayoría de los agentes de IA son el LLM, las herramientas y la memoria.

Imagen generada por ChatGPT

LLM: Este es el cerebro del agente de IA. Es el modelo de lenguaje grande el que permite al agente razonar, planificar y decidir cómo resolver una tarea determinada. Herramientas: son ayudas, generalmente en forma de funciones de código, que permiten al LLM interactuar con su entorno. Las herramientas ayudan al agente a conectarse a fuentes de datos externas, buscar en Internet, recuperar información de bases de datos, acceder a archivos y realizar acciones específicas. Por ejemplo, los agentes de codificación pueden usar herramientas para escribir, depurar y guardar archivos, los agentes de investigación pueden usar búsquedas web o bases de datos vectoriales para recopilar información y los agentes de atención al cliente pueden usar documentos internos de la empresa para responder preguntas basadas en conocimientos comerciales confiables. Memoria: Esto permite al agente almacenar información relevante de las interacciones y usarla más tarde para brindar una asistencia mejor y más consistente. Ayuda al agente a mantener el contexto entre las tareas y mejorar la experiencia general del usuario. La memoria puede ser opcional durante las primeras etapas del desarrollo, pero se convierte en una parte importante de muchos sistemas de agentes de IA del mundo real, especialmente cuando el agente necesita manejar preguntas de seguimiento, flujos de trabajo de varios pasos o interacciones personalizadas. Hay dos tipos principales de memoria que se utilizan habitualmente en los agentes de IA: la memoria a corto plazo y la memoria a largo plazo. La memoria a corto plazo realiza un seguimiento de la información dentro de la sesión o tarea actual, mientras que la memoria a largo plazo almacena información útil en múltiples sesiones o chats para que el agente pueda usarla más tarde.

ReAct (Razonamiento + Actuación) en Agentes

Un agente de IA se diferencia de un chatbot básico porque un chatbot suele seguir un flujo de trabajo más directo: consulta del usuario → LLM → respuesta. El LLM recibe el mensaje del usuario y genera una respuesta basada principalmente en el mensaje y su contexto existente.

Un agente de IA va más allá al utilizar el LLM para razonar sobre la tarea, decidir qué se debe hacer, elegir si se necesitan herramientas, llamarlas, observar los resultados y continuar hasta que pueda producir una respuesta útil.

Aquí es donde entra en juego el enfoque ReAct. ReAct significa Razonar + Actuar. Es un patrón de agente en el que el LLM razona sobre una tarea y toma acciones, generalmente a través de herramientas, basadas en ese razonamiento. Implica diseñar un bucle lógico central alrededor de un LLM.

Imagen generada por ChatGPT

Un flujo de trabajo básico de ReAct en un agente de IA suele verse así:

Paso 1: el agente recibe una consulta de usuario

El LLM analiza la tarea y decide si puede responderla directamente o si necesita utilizar herramientas. Comprueba qué herramientas están disponibles y decide cuáles son necesarias para resolver la tarea.

Paso 2: el agente llama a las herramientas requeridas

En base a su razonamiento, el agente actúa llamando a las herramientas necesarias. Estas herramientas pueden buscar en la web, recuperar documentos de una base de datos vectorial, acceder a archivos, ejecutar código o conectarse a una API externa. Los resultados devueltos por estas herramientas se conocen como resultados de herramientas.

Paso 3: los resultados de la herramienta se envían de regreso al LLM

Los resultados de la herramienta se devuelven al LLM como contexto adicional. Esto le brinda al agente información más relevante con la que trabajar en lugar de depender únicamente del mensaje original.

Paso 4: El LLM verifica la evidencia y genera una respuesta

El LLM revisa los resultados de la herramienta y comprueba si son suficientes para resolver la tarea. Si la evidencia es suficiente, genera una respuesta fundamentada para el usuario. De lo contrario, el agente puede repetir los pasos de razonamiento, llamada de herramientas y observación hasta que tenga suficiente información para proporcionar una respuesta útil.

Estructura de los agentes de IA

Los agentes de IA pueden ser únicos o múltiples según la estructura de diseño.

Agente único versus multiagente

Imagen generada por ChatGPT

Un agente único es un diseño de agente en el que un LLM se encarga de toda la tarea. Razona, planifica y llama a las herramientas requeridas cuando es necesario. La mayoría de los agentes de IA comienzan como sistemas de agente único porque son más simples, más fáciles de mantener y, por lo general, suficientes para muchas tareas.

Un sistema multiagente utiliza agentes especializados para resolver diferentes partes de una tarea. A menudo tiene un agente central, normalmente llamado orquestador, supervisor o planificador, que coordina a los demás agentes y decide cuándo debe actuar cada uno. Cada agente especializado puede tener su propia función, herramientas y lógica de razonamiento, lo que hace que el sistema sea más modular y adecuado para flujos de trabajo complejos.

Cuándo construir un sistema multiagente

Un diseño de agente único funciona bien para tareas simples que requieren un uso limitado de herramientas. Por ejemplo, un agente asistente personal que puede acceder a su calendario para reservar recordatorios, un agente de calculadora que solo usa una herramienta de calculadora o un agente de búsqueda web que usa una API de búsqueda web para recuperar información actualizada.

Sin embargo, un solo agente puede sobrecargarse cuando la tarea requiere muchas herramientas, razonamiento de varios pasos, diferentes responsabilidades o verificación antes de que la respuesta final llegue al usuario. Los problemas comunes incluyen indicaciones sobrecargadas, enrutamiento deficiente de herramientas, responsabilidades poco claras de los agentes y confiabilidad reducida debido a demasiada complejidad en un agente.

Un sistema de múltiples agentes es una mejor opción cuando la tarea puede abrumar a un diseño de agente único y cuando se necesitan agentes especializados con roles claros, sus propias herramientas y responsabilidades separadas.

Por ejemplo, un agente de ingeniería de software puede funcionar mejor como un sistema multiagente:

Orquestador → Codificador → Probador → Revisor

El orquestador coordina el flujo de trabajo, el agente codificador genera el código, el agente probador comprueba si el código funciona y el agente revisor revisa la solución para comprobar si faltan piezas o posibles mejoras.

Otro ejemplo es un agente de investigación que investiga un tema, recupera información de diferentes fuentes de datos y genera contenido fundamentado:

Orquestador → Recuperador → Escritor → Verificador

El agente Retriever recopila información de la web y de documentos locales almacenados en una base de datos vectorial. El agente escritor escribe en función del contenido recuperado. El agente verificador verifica el contenido escrito en busca de errores, citas y precisión de los hechos antes de enviar la respuesta final.

Los sistemas multiagente hacen que el flujo de trabajo sea más modular y otorgan a cada etapa una función clara. Sin embargo, solo deben usarse cuando la tarea realmente necesita ese diseño, porque generalmente aumentan la latencia, el costo y la complejidad del mantenimiento debido a más llamadas de LLM y más piezas móviles.

Una regla simple es:

Utilice un único agente cuando la tarea sea sencilla, tenga menos pasos y necesite sólo unas pocas herramientas. Utilice un sistema de múltiples agentes cuando la tarea requiera roles especializados, razonamiento de varios pasos, verificación o coordinación más sólida entre diferentes herramientas y flujos de trabajo.

Tutorial de un proyecto multiagente

Creé un proyecto llamado Multi-Agent RAG Researcher para hacer más práctica la idea de los sistemas multiagente.

El objetivo del proyecto es mostrar cómo un agente central puede coordinar múltiples agentes especializados para investigar un tema, recuperar evidencia de documentos y de la web, escribir un contenido fundamentado y verificar el contenido antes de devolvérselo al usuario. En lugar de utilizar un agente para manejar todo, el sistema divide el flujo de trabajo en diferentes responsabilidades.

Imagen generada por ChatGPT

Consulta el proyecto en github: https://github.com/ayoolaolafenwa/multi-agent-rag-researcher

Clonar repositorio de proyectos

clon de git https://github.com/ayoolaolafenwa/multi-agent-rag-researcher.git

Clona el repositorio para realizar un seguimiento con el código a lo largo de la publicación. Cuando se clona el repositorio, la estructura del proyecto se verá así:

. ├── docs/ # Archivos PDF predeterminados ├── memoria/ # Ayudantes de memoria de sesión respaldados por SQLite ├── qdrant_vector_database/ # Ingestión de PDF y búsqueda de similitudes ├── ui/ # Aplicación Gradio y controladores de UI ├── utils/ │ ├── requisitos.txt # Dependencias de Python ├── trabajador_agents/ # Recuperador, escritor y verificador ├── Orchestrator_agent.py # Coordinador principal └── run_orchestrator.py # Punto de entrada CLI

Arquitectura multiagente

Fuentes de datos

Hay dos fuentes de datos principales:

Base de datos de vectores Qdrant

La recuperación de información de archivos PDF se maneja en las siguientes etapas:

Se pueden cargar varios archivos PDF desde la carpeta docs/ o cargarlos a través de la interfaz de usuario. Los documentos se dividen en fragmentos, se convierten en incrustaciones y se almacenan en una colección Qdrant local. Luego se utiliza la búsqueda por similitud para recuperar los fragmentos más relevantes de los documentos indexados. Los fragmentos recuperados incluyen metadatos de citas, como el nombre del documento y el número de página.

La parte de recuperación de documentos del proyecto donde se configura la base de datos vectorial Qdrant, se administra la ingesta de PDF, la fragmentación, la incrustación y la búsqueda de similitudes se maneja en qdrant_vector_database/vector_store.py.

Búsqueda web de Tavily

Tavily se utiliza para recuperar información actualizada o externa de la web. El agente recuperador podrá utilizarlo cuando:

Los archivos PDF indexados no cubren la consulta. La evidencia del documento es débil o está incompleta. Se necesita información más reciente.

Agentes trabajadores

Agente recuperador

El papel es:

Utiliza dos herramientas: recuperación de documentos PDF y búsqueda web. Ante una consulta, decide si utilizar documentos locales, búsqueda web o ambos. Si falta evidencia documental local o ésta es débil, se puede recurrir a la búsqueda en la web para recopilar un contexto más amplio o más actualizado.

El código para el agente recuperador con búsqueda web tavily disponible en work_agents/retriever.py. Utiliza gpt-5.4-mini con poco esfuerzo de razonamiento.

Agente escritor

El papel es:

Recibe la información recuperada del Agente Recuperador. Redacta un borrador fundamentado basado en la evidencia disponible. Incluye citas de respaldo de archivos PDF o fuentes web cuando estén disponibles.

El código para el agente escritor disponible en work_agents/writer.py. Utiliza gpt-5.4 con poco esfuerzo de razonamiento.

Agente Verificador

El papel es:

Recibe el borrador del Agente Redactor junto con las pruebas. Comprueba si las afirmaciones del borrador están respaldadas por las pruebas recuperadas. Devuelve la respuesta final verificada.

El código para el agente trabajador está disponible en Workers_agents/verifier.py. Utiliza gpt-5.4 con poco esfuerzo de razonamiento.

Memoria

SQLite se utiliza para proporcionar memoria a corto plazo para el flujo de trabajo de múltiples agentes. Para una ID de sesión determinada, el sistema almacena:

la última consulta del usuario la última evidencia recuperada para esa sesión

Esto permite al orquestador reutilizar evidencia relevante para preguntas de seguimiento en lugar de recuperar la misma información cada vez.

El código de la memoria está disponible en memoria/memoria.py.

orquestador

El orquestador coordina los tres agentes trabajadores: Retriever, Writer y Verifier.

Cómo coordina el orquestador el flujo de trabajo de múltiples agentes

Recibe la consulta del usuario y, según la consulta, puede responder directamente o comenzar el flujo de trabajo basado en evidencia. Para una consulta de investigación, primero verifica si se pueden reutilizar las pruebas almacenadas en caché relevantes de la memoria para la sesión actual. Si la evidencia almacenada en caché no es suficiente, llama al Agente Recuperador para recopilar evidencia de archivos PDF, la web o ambos. Si hay evidencia documental pero la evidencia es débil, el agente recuperador también puede obtener información actualizada de la web para complementar la información del documento local. Luego, el orquestador pasa la evidencia activa y la consulta del usuario al agente escritor para que pueda generar un borrador fundamentado. Luego, envía el borrador y las pruebas al Agente Verificador, quien verifica las afirmaciones y devuelve el informe final verificado. Durante la sesión, la última consulta y la evidencia recuperada se almacenan en la memoria para preguntas de seguimiento. En las preguntas de seguimiento, el orquestador puede reutilizar la evidencia almacenada en caché en lugar de llamar nuevamente al Agente Recuperador y luego continuar con el Agente Escritor y el Agente Verificador para generar la respuesta final.

El código del orquestador está en Orchestrator_agent.py. Utiliza gpt-5.4-mini con poco esfuerzo de razonamiento.

El orquestador tiene una barrera que mantiene el sistema enfocado en la investigación y las preguntas objetivas. Rechaza tareas generales no relacionadas, como ayuda con codificación o matemáticas simples, porque el objetivo del sistema es funcionar como asistente de investigación.

Nota: Para los modelos utilizados en el orquestador y los agentes trabajadores, puede cambiarlos de gpt-5.4 a cualquier modelo proporcionado por openai de su elección.

Configuración del proyecto

Requisitos previos

Clave API de OpenAI de Python 3.10 o más reciente: cree una cuenta OpenAI si no tiene una y genere una clave API. Clave API de Tavily: Tavily es una herramienta de búsqueda web especializada para agentes de IA. Cree una cuenta en Tavily.com, una vez configurado su perfil, se generará una clave API que podrá copiar en su entorno. La nueva cuenta recibe 1000 créditos gratuitos que se pueden utilizar para hasta 1000 búsquedas web.

Instalación

Cree y active un entorno virtual: python3 -m venv env source env/bin/activate

2. Instale las dependencias:

cd multi-agent-rag-researcher pip3 instalar -r utils/requirements.txt

3. Cree un archivo utils/var.env y almacene sus claves API:

OPENAI_API_KEY=tu_clave_openai_api TAVILY_API_KEY=tu_clave_tavily_api

4. Coloque los archivos PDF que desea indexar en la carpeta docs/, o cargue los archivos PDF más tarde a través de la interfaz de usuario. El proyecto ya incluye archivos PDF existentes en docs/, actualmente Gemma 3 Technical Report.pdf y DeepSeek-V3.2.pdf, por lo que puede usarlos directamente o reemplazarlos con sus propios documentos.

Ejecutar proyecto

Inicie la aplicación de línea de comandos:

python3 run_orchestrator.py

Cuando se inicia la CLI, ingiere los archivos PDF en docs/ en la tienda Qdrant local. Escriba q o salir para finalizar la sesión.

Ejecute la interfaz de usuario para el chat con múltiples agentes

Inicie la interfaz de usuario de Gradio:

python3 ui/gradio_app.py

La interfaz de usuario carga automáticamente los archivos PDF predeterminados desde docs/ al inicio. Si carga nuevos archivos PDF, reemplazarán el conjunto de documentos indexados activos para esa sesión de UI.

Vídeo de demostración del investigador RAG del agente multiagente

[insertar]https://www.youtube.com/watch?v=O2-lca_ZNPY[/embed]

Notas

La memoria de la sesión se almacena en utils/memory.db. Los datos locales de Qdrant se almacenan en utils/qdrant_storage/. El sistema está diseñado para investigación y respuesta a preguntas objetivas, no para tareas de propósito general no relacionadas.

Conclusión

En esta publicación, expliqué cómo funciona un agente de IA, cómo utiliza herramientas para interactuar con su entorno y cómo el enfoque ReAct le ayuda a razonar, planificar, seleccionar herramientas y ejecutar tareas específicas.

También cubrí el diseño estructural de agentes de IA, que pueden ser sistemas de un solo agente o de múltiples agentes. Expliqué cómo funcionan ambos diseños, cuándo elegir cada uno según el flujo de trabajo y comparé la implementación de un solo agente con la arquitectura de múltiples agentes.

Finalmente, hice un recorrido por el diseño de múltiples agentes detrás de mi proyecto Multi-Agent RAG Researcher, mostrando cómo utiliza un orquestador para coordinar tres agentes trabajadores, recuperar información de la web y documentos locales, usar la memoria para lograr coherencia y escribir y verificar contenido fundamentado antes de devolver el resultado final.

Comuníquese conmigo a través de:

Correo electrónico: [correo electrónico protegido]

Linkedin: https://www.linkedin.com/in/ayoola-olafenwa-003b901a9/

Referencias

https://developers.openai.com/cookbook

https://developers.openai.com/api/docs/guides/function-calling