Planning y Reasoning en AI Agents 2026: Tu Agente no Falla por Tonto. Falla porque Razona en Una Sola Pasada

Planning y Reasoning en AI Agents 2026: Tu Agente no Falla por Tonto. Falla porque Razona en Una Sola Pasada

Programación· 9 min de lectura

El 95% de los Fallos de Planificación en AI Agents No Son Culpa del Modelo

Tu agente no falla porque el modelo sea tonto. Falla porque razona en una sola pasada y sin nadie que le revise el trabajo.

La gente te dice dos cosas. Primera: "el modelo no es suficientemente inteligente, esperemos al siguiente más grande". Segunda: "chain-of-thought YA es razonamiento".

Ambas son falsas.

*Una traza de chain-of-thought es un monólogo interno.* Un monólogo es serial y auto-confirmatorio: no puede detectar su propia contradicción porque nunca confronta su plan con el mundo.

El razonamiento en un agente no es generar texto. Es un bucle que confronta un plan con resultados reales de tools, invariantes y restricciones — y se corrige. Ese bucle deliberativo es lo que separa un agente que planifica de uno que alucina. Y no necesitas un modelo más grande para construirlo: necesitas arquitectura.

Aquí está el dato incómodo, dicho con transparencia: en producción, he observado que la mayoría de fallos de planificación vienen de una arquitectura de prompting pobre — concretamente, la ausencia de bucles deliberativos con verificación — no de los límites de capacidad del modelo. Lo llamo observación de producción, no estadística publicada, porque no hay un estudio revisado por pares detrás. Pero los mecanismos que lo explican sí se miden: la tasa de divergencias plan-vs-resultado, el número de retries sin verificación, el coste de fallar tarde.

Y hay otro dato que sí podéis comprobar: el 90% de los sistemas "multi-agente" en producción son un único LLM instanciado varias veces con prompts distintos. Sin jerarquía. Sin contratos de datos. Sin validación cruzada. Es un modelo en gabardina disfrazado de equipo.

Cuando alguien os diga que "el agente A supera al agente B", a menudo estáis comparando variantes de prompt del mismo modelo. La capacidad percibida es arquitectura de prompting.

Por Qué el 95% No Es una Exageración (Y Qué es Honestamente una Hipótesis)

Vamos a ser claros sobre qué es qué.

El 95% es una hipótesis de trabajo basada en años de construir agents en producción, no un dato revisado por pares. Tratadla como tal. Pero el mecanismo detrás sí es verificable, y os lo demuestro con código en un momento.

El 90% de los sistemas multi-agente sin contratos de datos ya sabéis que es cierto porque lo veis en vuestras propias codebases: llamáis al mismo modelo con tres system prompts distintos y lo llamáis "arquitectura multi-agente". Cuando los agentes no comparten un schema validado, el agente B recibe la salida del agente A sin verificar. Es el mismo modelo cometiendo los mismos errores en paralelo. Escalar eso no mejora nada: multiplica el ruido.

La implicación práctica es contraintuitiva y molesta para la industria: podéis mejorar agentes de planificación hoy mismo con los modelos actuales añadiendo bucles de verificación. No necesitáis esperar al LLM más grande.

El Enfoque Que Falla: La Pasada Única Auto-Confirmatoria

Empecemos con el ❌ enfoque que casi todos usáis. Un único prompt que genera plan y ejecuta tools en el mismo turno:

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

¿Qué pasa aquí? El modelo genera una traza lineal. En el paso 2, predice que la tool va a devolver {"status": "ok", "rows": 42}. Ejecuta la tool real y devuelve {"error": "timeout", "rows": 0}. ¿Y qué hace el agente? Nada. No lo detecta, porque la verificación nunca ocurrió.

¿Por qué? Porque CoT de una pasada NO es un bucle deliberativo. Es una traza lineal que se auto-confirma. La traza nunca confronta su plan con el resultado real de la tool. Ese es el fallo típico, y es reproducible con cualquier modelo actual.

El Bucle ReAct Manual: Razonamiento Como Confrontación, No Como Traza

Ahora el ✅ enfoque. Un bucle ReAct manual, sin framework, con condición de parada explícita y comparación lado a lado contra la versión single-pass:

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

Mirad el log de ambos y veréis dónde diverge la traza lineal del bucle deliberativo:

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

El loop no es un gasto de tokens. Es la función de evaluación que la pasada única no tiene. El razonamiento vive en la verificación: generar sin discriminar es solo muestreo.

Técnicas Que ya Comprueban Esto (Si las Usáis Como Bucles, No Como Prompts)

Esto no es teoría. Reflexion, Self-Refine y self-consistency comparten exactamente el mismo patrón: añadir un discriminador al generador. El problema es que casi todo el mundo los implementa como "prompt de turno extra" en lugar de "punto de control con verificación".

  • Reflexion: el modelo recibe retroalimentación verbal sobre su intento fallido antes del siguiente. Eso es un discriminador hablándole al generador.
  • Self-Refine: el modelo produce, luego crítica su propia salida contra criterios, luego corrige. Críticar no es opcional: es el paso donde el razonamiento ocurre.
  • Self-consistency: muestreáis varias trazas y votáis. Cada traza es un candidato de descomposición; la votación es la selección contra restricciones.

La descomposición de un objetivo ambiguo en un plan concreto no es un problema de generación: es un problema de búsqueda. El agente debe generar candidatos de descomposición y seleccionarlos contra restricciones. Una pasada única no puede hacerlo porque se compromete con la primera descomposición que genera.

El Bucle Deliberativo de 5 Fases para Planning de AI Agents

Aquí está el framework. Lo llamo El Bucle Deliberativo de 5 Fases, y es lo que he enviado a producción en projects reales — desde herramientas para autónomos españoles hasta sistemas para asesorías y gestorías.

Fase 1 — Genera el plan como artefacto, no como texto de relleno.

Genera primero un plan explícito, validado contra un JSON Schema. Ejecuta después. Nunca generes plan y ejecutes en el mismo prompt: sin artefacto intermedio no hay nada que verificar.

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

Fase 2 — Contratos de datos entre cada paso.

Ningún paso recibe salida no validada. Esto es la validación cruzada que el 90% de los sistemas multi-agente no tienen. Si el agente B recibe la salida cruda del agente A, estáis corriendo el mismo modelo con los mismos errores en paralelo.

Fase 3 — Ejecuta una acción, una tool call, aislada.

Un paso, un resultado observable.

Fase 4 — Un crítico verifica contra el plan y las restricciones.

Puede ser el mismo modelo con rol distinto, un modelo más barato, o validadores deterministas (Pydantic contra invariantes del mundo: formato, rangos, referencias cruzadas). "El hilo piensa en voz alta, pero con alguien que revise."

Fase 5 — Condición de parada VERIFICABLE, no presupuesto de tokens.

Repite plan → ejecuta → verifica → revisa hasta que el verificador pase, no hasta agotar tokens. Si no hay criterio de parada verificable, no es un bucle deliberativo: es un gasto de tokens en bucle.

El Presupuesto de Inferencia ES el Diseño

Ahora la objeción que estáis pensando: "los bucles de reflexión duplican tokens y latencia; inviables en producción."

Respuesta: la verificación no tiene que ser cara.

  • Un modelo pequeño como verificador en puntos críticos del plan.
  • Validadores deterministas con Pydantic para invariantes mecánicas.
  • Verificación solo en los pasos de riesgo, no en todos.

Y lo más importante: el coste de retry sin verificación suele superar al del verificador. Fallar tarde — después de ejecutar acciones sobre un plan erróneo — es mucho más caro que un modelo barato que detecta la divergencia antes de continuar. Es medible con tracing (LangSmith o Weave sirven) logueando divergencias plan-vs-resultado y la tasa de revisiones que el loop necesita.

El dinero gastado en modelos más grandes está mal asignado si el bucle de verificación no existe. Un modelo barato con un verificador puede superar a un modelo grande en single-pass. Es un patrón observado en producción, no un benchmark publicado — pero podéis medirlo en vuestro propio sistema esta semana.

Qué Hacer Ahora: El Diagnóstico que Te Dice Dónde Invertir

Instrumenta y mide. Loguea divergencias plan-vs-resultado y la tasa de revisiones que el bucle necesita. Aquí está la regla de oro:

Si el bucle no mejora la tasa de éxito, el problema no es el planificador — es el verificador.

Ese diagnóstico os dice exactamente dónde gastar el presupuesto de inferencia. ¿Divergencias altas y el crítico no las detecta? Mejorad el crítico (constrained, mejor prompt, determinista). ¿El crítico detecta pero el planificador no corrige bien? Mejorad la revisión. ¿Ninguna divergencia? Tenéis un agente trivial que no necesitaba el bucle.

Herramientas concretas: LangGraph para grafos con checkpoints y loops (el checkpoint es lo que hace el estado explícito entre pasos), Pydantic para contratos de datos, y LangSmith/Weave para tracing de divergencias.

La Verdad Incomoda: CoT Es el Material en Bruto, No el Razonamiento

Decidme si esto os suena: "probé chain-of-thought y mi agente sigue fallando; el modelo no es lo bastante inteligente."

No. El problema es que tratasteis CoT como si fuera el razonamiento completo. CoT es el material en bruto del razonamiento. El razonamiento es el bucle.

Una traza de chain-of-thought muestra el monólogo interno del modelo. Pero un monólogo es serial: nunca confronta el plan con el mundo porque nadie se lo pide. El bucle deliberativo fuerza esa confrontación con resultados reales de tools. Esa confrontación es lo que en los agents merece llamarse razonamiento.

La próxima vez que vuestro agente falle, no miréis el modelo. Mirad el bucle. Si no hay verificación, no hay razonamiento — solo texto generado con confianza.

El patrón está claro: el agente que planifica de verdad no es el que produce el mejor monólogo. Es el que se corrige cuando su plan choca con la realidad. Empezad por ahí, con los modelos que ya tenéis, y dejad de esperar al LLM que os va a salvar del mal prompting.

No vais a llegar al primer millón esperando a que el siguiente modelo razone por vosotros. Vais a llegar construyendo el bucle que verifica lo que ya generáis hoy.

Artículos relacionados

---

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

Brian Mena

Brian Mena

Ingeniero informatico construyendo productos digitales rentables: SaaS, directorios y agentes de IA. Todo desde cero, todo en produccion.

LinkedIn