Saltar al contenido
estudIA

Agentes5 min de lectura

Patrones de diseño de agentes de IA: de workflows a multiagente

Las piezas de los sistemas agénticos: encadenar prompts, enrutar, paralelizar, orquestador-trabajadores, evaluador-optimizador, agentes y multiagente.

Si quieres construir con agentes de IA —o simplemente entender los productos que usas— ayuda conocer el puñado de patrones con los que se hace casi cualquier sistema. Esta guía sigue el marco del influyente artículo de Anthropic Building effective agents, basado en su trabajo con decenas de equipos, y añade lo que aprendieron después con su sistema multiagente de investigación.

Workflows frente a agentes

El artículo hace una distinción que aclara mucho:

  • Los workflows (flujos de trabajo) son sistemas en los que modelos y herramientas se coordinan mediante caminos de código predefinidos. Tú decides los pasos y el modelo hace el trabajo dentro de cada uno.
  • Los agentes son sistemas en los que el modelo dirige de forma dinámica su propio proceso y el uso de herramientas, y decide los pasos sobre la marcha.

Los dos son «sistemas agénticos». Los workflows son predecibles y más baratos; los agentes son flexibles, pero cuestan más y sus errores se pueden acumular. El consejo central: empieza por lo sencillo y añade complejidad solo cuando mejore los resultados de forma demostrable. Muchas veces basta con una sola llamada al modelo con buen contexto y ejemplos.

La pieza básica: el LLM aumentado

Todos los patrones parten de un modelo con recuperación (puede buscar información), herramientas (puede actuar) y memoria (puede guardar información entre pasos). El Model Context Protocol es una forma estándar de conectar herramientas y datos a un modelo. Uses lo que uses, dale al modelo una interfaz clara y bien documentada.

Cinco patrones de workflow

1. Encadenar prompts (prompt chaining)

Divide la tarea en una secuencia fija de pasos, cada uno con el resultado del anterior. Entre pasos puedes añadir comprobaciones —«puertas»— para parar si algo va mal.

Úsalo cuando la tarea se divide limpiamente en subtareas. Ejemplo: escribir un esquema, comprobar que cumple los criterios y después redactar el documento a partir de él.

2. Enrutar (routing)

Clasifica primero la entrada y después envíala a un prompt, una herramienta o un modelo especializado.

Úsalo cuando las entradas caen en categorías distintas que conviene tratar de forma diferente. Ejemplo: derivar los mensajes de clientes a flujos de reembolso, técnicos o generales; mandar las preguntas fáciles a un modelo pequeño y barato y las difíciles a uno más capaz.

3. Paralelizar (parallelization)

Lanza varias llamadas al modelo a la vez y combina los resultados. Hay dos variantes:

  • Por secciones: dividir la tarea en partes independientes, por ejemplo una llamada que responde al usuario mientras otra revisa si hay contenido inapropiado.
  • Por votación: ejecutar la misma tarea varias veces para obtener intentos distintos, por ejemplo varias revisiones de seguridad de un código, señalando lo que detecten la mayoría.

Úsalo cuando las partes son independientes (para ganar velocidad) o cuando varias perspectivas dan más confianza.

4. Orquestador-trabajadores (orchestrator-workers)

Un modelo central divide la tarea sobre la marcha, reparte subtareas a llamadas trabajadoras y combina sus resultados.

Úsalo cuando no puedes prever las subtareas. Ejemplo: un cambio de código cuyos archivos afectados dependen de la petición.

5. Evaluador-optimizador (evaluator-optimizer)

Un modelo produce un resultado; otro lo evalúa con unos criterios y da indicaciones; el bucle se repite hasta que el resultado aprueba.

Úsalo cuando hay criterios de evaluación claros y repetir mejora de forma medible. Ejemplo: la traducción literaria, donde un revisor detecta matices que la primera pasada no captó.

Agentes

Cuando una tarea es abierta y el número de pasos es imprevisible, la herramienta adecuada es un agente completo: un modelo que usa herramientas en bucle según lo que observa del entorno. Implementarlo suele ser sencillo; lo difícil es diseñar las herramientas, fijar objetivos y condiciones de parada claros y probar en entornos aislados con barreras de seguridad, porque los errores y los costes se pueden acumular.

Los buenos agentes se detienen para pedir ayuda humana en puntos de control o cuando se atascan, y su plan debe ser visible para que las personas puedan seguirlo y corregirlo.

Sistemas multiagente

Un sistema multiagente es el patrón orquestador-trabajadores con agentes en cada papel. En la función de investigación de Anthropic, un agente principal planifica la investigación y lanza varios subagentes que buscan en paralelo; después combina lo que encuentran. En la evaluación interna de investigación de Anthropic, este montaje superó en un 90,2 % a un único agente.

El coste es considerable: según Anthropic, los agentes usan unas 4 veces más tokens que un chat, y los sistemas multiagente unas 15 veces más. Los diseños multiagente funcionan mejor en tareas valiosas que se dividen en partes independientes, y mal cuando todos los agentes necesitan el mismo contexto o dependen mucho unos de otros, como pasa en la mayoría de tareas de programación.

Tres principios para construir agentes

  1. Sencillez. Mantén el diseño tan simple como permita la tarea.
  2. Transparencia. Muestra los pasos de planificación del agente para que se pueda entender y corregir.
  3. Una buena interfaz agente-ordenador. Dedica a las descripciones y parámetros de las herramientas el mismo cuidado que a una interfaz de usuario.

Consejos para diseñar herramientas

Las herramientas son la forma en que un agente percibe y actúa, y el anexo del artículo defiende que merecen tanta atención como los prompts:

  • Describe cada herramienta como se la explicarías a un compañero nuevo: para qué sirve, parámetros, ejemplos, casos límite.
  • Elige formatos naturales para el modelo, sin complicaciones como contar líneas o escapar caracteres.
  • Haz que equivocarse sea difícil (poka-yoke): por ejemplo, exige rutas de archivo absolutas si las relativas confunden al modelo.
  • Prueba las herramientas con muchas entradas de ejemplo y observa dónde falla el modelo.

Al construir su agente de programación para el benchmark SWE-bench, Anthropic cuenta que dedicó más tiempo a optimizar las herramientas que el prompt general.

Cómo elegir

Pregúntate, por este orden: ¿lo resuelve un buen prompt? ¿Lo resuelve una cadena fija o un enrutador? ¿De verdad hay que decidir los pasos sobre la marcha? ¿La tarea vale lo bastante como para pagar el coste extra? ¿Se pueden detectar los errores? Sube a agentes —y después a varios agentes— solo cuando las respuestas lo justifiquen, y mide los resultados con un conjunto de casos de prueba (evaluaciones) en cada paso.

Preguntas frecuentes

¿Necesito un framework de agentes?

Para empezar, no. Muchos de estos patrones son unas pocas líneas de código usando directamente la API del modelo. Si usas un framework, asegúrate de entender qué hace por debajo.

¿Qué patrón pruebo primero?

El más sencillo que pueda funcionar: normalmente una única llamada con un buen prompt, después encadenar prompts o enrutar. Pasa a agentes solo cuando los pasos no se puedan planificar de antemano.

¿Los sistemas multiagente siempre son mejores?

No. Ayudan cuando el trabajo se divide en partes independientes, como investigar en muchas fuentes, pero gastan muchos más tokens y funcionan mal cuando todas las partes necesitan el mismo contexto, como en la mayoría de tareas de programación.

Términos del glosario

Fuentes

Artículos relacionados