AI Agents 2026: El 90% de tu Agente Debería Ser Código Determinista

AI Agents 2026: El 90% de tu Agente Debería Ser Código Determinista

Programming· 6 min read

El 90% de los AI Agents en Producción Fallan por el Mismo Motivo: Demasiada Libertad

No es culpa del modelo. No es culpa del contexto. Es culpa de tu while True: llm.invoke().

El 90% de los AI Agents que ves en producción se rompen en menos de 5 iteraciones. Loops infinitos. Tool calls alucinadas. Ventanas de contexto saturadas. Y el desarrollador mirando los logs pensando "pero si en el demo funcionaba perfecto".

*El problema no es que la IA no sea lo suficientemente inteligente. Es que le das demasiada libertad. *

La narrativa dominante dice: "haz los agentes más autónomos y serán más poderosos". La realidad es la opuesta: la autonomía es enemiga de la fiabilidad. El agente más efectivo no es el que más decide. Es el que menos decide, y lo que decide lo hace dentro de una cárcel de constraints bien diseñados.

Mira los datos: el asistente de código Devin, de Cognition, causó hype mundial. Su tasa de éxito real en SWE-bench: ~14%. Cursor, en cambio, que usa un pipeline multi-etapa con análisis estático determinista antes de cualquier llamada LLM, domina el mercado. No es casualidad.

---

El Gran Engaño: Autonomía vs Orquestación

1. El Fracaso de los "Agentes Autónomos" de 2023

AutoGPT alcanzó 160.000 estrellas en GitHub. BabyAGI corrió como la pólvora. Y luego la realidad: la mayoría de implementaciones colapsaban en 3-5 iteraciones.

No fue un fracaso de los LLMs. Fue un fracaso de arquitectura.

El patrón ReAct puro — while True: llm.invoke() — es frágil por diseño. Cada iteración añade tokens al contexto, cada tool call alucinada multiplica el espacio de errores, y no hay un mecanismo nativo para decir "para, esto no tiene sentido".

2. El Patrón que Sí Funciona: DAG + LLM Puntual

Los sistemas de agentes más robustos en producción usan orquestación determinista para el ~90% de la ejecución. El LLM solo decide en puntos concretos, acotados, con outputs estructurados y límites duros.

La evidencia es aplastante:

  • OpenAI y Anthropic recomiendan explícitamente límites de tool calls (10-25 máximo) y condiciones de parada explícitas. Una admisión tácita de que los loops autónomos sin cota degradan la fiabilidad.
  • LangChain añadió max_iterations=15 por defecto en su AgentExecutor después de reportes masivos de runaway agents.
  • Los agentes basados en LangGraph (state machine sobre DAG) muestran un 20-30% más de tasa de finalización de tareas que los chains lineales con el mismo LLM.

El debate "agent vs chain" es un falso binario. La solución real son los hybrid DAGs: 80-90% de cableado fijo, 10-20% de decisiones LLM.

Free-form loop: while True: llm.invoke(tools=[...]) — sin estado, sin límites, sin fallbacks.

State machine with LLM nodes: estados explícitos, transiciones válidas definidas, LLM solo decide en 1-2 nodos concretos con output estructurado.

---

Cómo Construir un Agent Híbrido: El Patrón de 3 Capas

Aquí va el framework. Lo llamo El Patrón de 3 Capas: DAG + State Machine + Circuit Breaker. Lo he aplicado en producción para sistemas de extracción de datos, orquestación de APIs y generación de contenido. Funciona.

Paso 1: Mapea tu Dominio como un DAG

Divide tu flujo de trabajo en nodos de ejecución. Identifica cuáles necesitan realmente razonamiento LLM y cuáles son transformaciones deterministas.

Target: menos del 30% de nodos LLM. Ideal: menos del 15%.

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Paso 2: State Machine Wrapper

Cada estado tiene transiciones explícitas. El LLM solo puede elegir entre un conjunto acotado de siguientes estados. Si intenta saltar a uno inválido, la máquina lanza error.

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Paso 3: Circuit Breaker + Quota de Tool Calls

El error más común en agents es la ventana de contexto explotando por tool calls sin control. Implementa un ToolCallManager con cuota estricta.

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Paso 4: Output Estructurado con Pydantic + JSON Mode

Nunca parsees texto libre de un LLM. Usa response_model de Instructor o json_mode nativo. Define modelos Pydantic para cada salida.

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Paso 5: Monitorización de Divergencia

Loggea cada tool call, cada decisión, cada ruta de error. Cuando un agente excede el 80% de sus iteraciones permitidas, es señal de que la tarea no encaja en el patrón acotado. No añadas más capacidad al LLM. Rediseña el DAG.

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

---

Por Qué el Patrón de Multi-Agente No Escala

Añadir más agentes (CrewAI, sistemas multi-agente) multiplica el espacio de fallos exponencialmente. Cada agente extra añade latencia, ruido de contexto y posibilidad de desviación.

Los benchmarks lo confirman: "one agent, well-constrained" supera a "five agents, loosely coupled" en tareas estructuradas.

El paralelismo con la ingeniería de software tradicional es directo: no escribes código dejando que un proceso aleatorio decida la siguiente línea. Usas compiladores, type checkers, linters y tests — todos sistemas deterministas. El LLM es el generador de sugerencias, no el orquestador. El orquestador debe ser código determinista escrito por humanos.

Si tu sistema necesita LLM en más del 30% de los nodos, el dominio no está bien definido para agents. Vuelve al Paso 1.

---

La Objeción que te Estás Haciendo

"Si limito tanto al LLM, ¿para qué uso un agente? Podría hacerlo con código normal."

Tienes razón a medias. De hecho, muchas tareas no necesitan un agente. Los LLMs destacan exactamente en ese 10-20% de puntos de decisión donde la lógica determinista falla: desambiguación semántica, generación de variantes, análisis de lenguaje natural. El resto debe ser código.

La pregunta no es "¿cómo hago mi agente más autónomo?". Es "¿cuál es el mínimo de LLM que necesito para que este sistema funcione?".

La respuesta casi siempre es: menos del que crees.

---

Resumen y Siguiente Paso

Tres verdades incómodas sobre AI Agents en 2026:

  1. La autonomía es enemiga de la fiabilidad. Cada grado de libertad que le das al LLM es un nuevo modo de fallo que no has visto aún.
  2. El mejor agente es el que menos decide. Un DAG con 8 nodos deterministas y 2 nodos LLM bien acotados supera a cualquier free-form loop con el mismo modelo.
  3. El orquestador debe ser código, no otro LLM. La orquestación determinista con state machines, circuit breakers y output estructurado no es opcional. Es la línea entre un demo bonito y un sistema que aguanta en producción.

El futuro de los AI Agents no son sistemas autónomos planeando y ejecutando sin supervisión. Esos no existen fuera de los demos controlados. El futuro son herramientas semiautónomas con guardarraíles duros, fallbacks deterministas y puntos de decisión LLM acotados como quién pone a un niño en una trona con barandillas.

Tu agente no necesita ser más autónomo. Necesita mejores esposas.

Artículos relacionados

---

¿Quieres recibir contenido como este cada semana? Suscríbete a mi newsletter

Brian Mena

Brian Mena

Software engineer building profitable digital products: SaaS, directories and AI agents. All from scratch, all in production.

LinkedIn