Agentes de IA: cuándo basta un flujo fijo
La mayoría de las tareas que se venden como agentes se resuelven mejor con un flujo explícito. Una guía corta para decidir.
La palabra "agente" se ha estirado tanto que ya significa casi cualquier cosa. Conviene separar dos ideas, como hace Anthropic en su guía sobre agentes eficaces:
- Un workflow es un camino que tú dibujas: los pasos están escritos en código y el modelo rellena huecos.
- Un agente decide por sí mismo qué paso dar y cuándo parar.
La prueba de la servilleta
Si puedes dibujar el proceso en una servilleta, con sus cajas y flechas, escríbelo como workflow. Será más barato, más rápido, más fácil de depurar y más predecible. Reserva el agente para cuando el número de pasos no se conoce de antemano.
Un workflow se lee de arriba abajo
def responder_ticket(ticket: str) -> str:
categoria = clasificar(ticket) # paso 1: un LLM, salida acotada
datos = buscar_en_crm(ticket) # paso 2: código normal
borrador = redactar(ticket, datos, categoria)
return revisar(borrador) # paso 4: otro LLM con criterios fijos
Cada función se prueba por separado. Si algo falla, sabes dónde.
Cuándo sí un agente
Un agente compensa cuando la tarea es abierta y los pasos dependen de lo que va apareciendo: depurar un fallo, investigar un tema, operar sobre un repositorio. Aun así, ponle límites:
- Un máximo de iteraciones.
- Herramientas pequeñas y bien descritas.
- Un registro de cada decisión que toma.
- Confirmación humana antes de cualquier acción irreversible.
Mi criterio
Empiezo siempre por el flujo fijo. Si en las pruebas veo que aparecen casos que no cabían en el diagrama, dejo que ese tramo, y solo ese, lo gestione un agente. Se gana en fiabilidad sin renunciar a la flexibilidad donde de verdad hace falta.