💬 Empieza por el prompt: lo que pides
La primera capa es la que todos conocen: el prompt, el texto que escribes para pedirle algo al modelo. También es la capa donde la mayoría de las personas se atasca: cuando el agente hace algo mal, la reacción es «déjame reescribir el prompt». A veces funciona. La mayoría de las veces, solo aplaza el problema.
Mejorar el prompt tiene rendimiento decreciente rápido: las primeras mejoras (ser específico, dar un ejemplo, pedir un formato de salida) resuelven muchas cosas. Después de cierto punto, agregar más instrucciones al prompt deja de cambiar el resultado. Eso es una señal — no de que hayas escrito mal, sino de que el problema cambió de lugar.
🆕 ¿Nuevo aquí? Tres palabras antes de seguir
- Harness: la infraestructura que rodea al modelo: qué herramientas tiene, qué permisos tiene, cómo se captura la salida. Sin harness, el modelo solo conversa; con harness, actúa.
- Ventana de contexto: la cantidad de texto (medida en tokens) que el modelo puede "ver" de una vez al responder. Si supera el límite, olvida lo que vino antes.
- Presupuesto de tokens: cuánto texto (entrada + salida) te permites gastar en una llamada o en una tarea completa — es el límite práctico de costo y de contexto.
Qué observar: la línea punteada sube sin romperse: cada escalón está encima del anterior, no en su lugar. El brillo queda solo en el último escalón, "grafo", que es el horizonte de este módulo. Recuerda el orden: es ahí donde vas a diagnosticar en qué punto está realmente atascado un agente que no funciona.
✓ El prompt lo resuelve
- ✓Formato de salida incorrecto (se pidió texto, llegó JSON malformado)
- ✓Tono o nivel de detalle fuera de lo esperado
- ✓Ambigüedad genuina en la instrucción ("resume" — ¿en cuántas líneas?)
✗ Un prompt no lo resuelve
- ✗El agente no tiene acceso al archivo que necesita leer (es harness)
- ✗«Olvidó» una instrucción dada 40 mil tokens atrás (y eso es contexto)
- ✗Deja de volver a intentarlo después del primer error (y eso es loop)
Conceptos clave
La más visible, la más tentadora
Mejora rápido y luego se estanca
Un prompt malo a veces es síntoma de otra capa
¿Dejó de mejorar? Sube de capa
🧠 Controla el contexto: lo que sabe
La segunda capa es el contexto: todo lo que el agente «ve» en el momento de actuar: archivos abiertos, historial de la conversación, documentación adjunta, salida de una herramienta que acaba de ejecutar. El prompt es lo que le pides; el contexto es lo que sabe mientras responde. Son cosas distintas, y confundirlas es el error más común después del prompt.
Todo modelo tiene una ventana de contexto limitada. Cuando se llena de cosas irrelevantes — logs detallados, archivos que nadie necesita, historial repetido — el modelo empieza a "olvidar" lo que importa, aunque la instrucción original fuera perfecta. Un contexto incorrecto perjudica un buen prompt; ningún prompt es lo suficientemente bueno para compensar una ventana de contexto contaminada.
📊 Lo que suele saturar la ventana de contexto
- Salida de herramienta sin procesar — un registro de 500 líneas cuando solo 3 eran importantes
- Historial acumulado — 40 idas y vueltas de una conversación que debió reiniciarse
- Documentación completa — pegar todo el manual en vez del fragmento pertinente
- Instrucción desactualizada — una regla antigua que nadie eliminó y que todavía compite por atención
✓ Contexto bien cuidado
- ✓Solo el fragmento del archivo que se editará, no todo el repositorio
- ✓Salida de herramienta resumida antes de volver al modelo
- ✓Historial recortado cuando la tarea cambia de fase
✗ Contexto que sabotea
- ✗Pegar todo «para asegurarte»: el modelo no pondera la importancia igual que tú
- ✗Dejar que el error de un intento anterior contamine el siguiente sin indicar que ya se resolvió
- ✗Nunca se poda: la ventana solo crece hasta desbordarse
💡 Consejo práctico
Antes de reescribir un prompt que "no está funcionando", revisa qué hay dentro de la ventana de contexto en ese momento. Si hay algo que tú mismo no podrías usar para responder bien, el modelo tampoco podrá. Limpiar el contexto suele resolver lo que no se solucionó al reescribir el prompt.
Conceptos clave
Lo que sabe el agente, no lo que pides
Siempre tiene un límite de tokens
Lo irrelevante compite con lo que importa
El contexto requiere curación continua
🧰 Arma el harness: con qué actúa
La tercera capa es el harness: la infraestructura que rodea al modelo. Qué herramientas tiene (leer archivos, ejecutar comandos, llamar a una API), con qué permisos, cómo se captura la salida de cada herramienta y se devuelve al modelo, qué ocurre cuando falla una herramienta (reintento — volver a intentarlo automáticamente), y cuánto presupuesto de tokens tiene para gastar toda la tarea.
El prompt dice qué; harness dice con qué. Un agente con un prompt perfecto y un harness deficiente (sin acceso al archivo correcto, sin permiso para ejecutar el comando que resolvería el problema) se queda atascado de todos modos — y ninguna reescritura del prompt lo destraba, porque el problema nunca estuvo en el texto.
Herramientas y permisos
Lo que el agente puede llamar y lo que puede hacer con cada llamada.
Leer es diferente de escribir; escribir en un archivo es diferente de ejecutar un comando en el sistema. Cada nivel es una decisión de riesgo.
Captura de salida y reintento
Lo que vuelve al modelo después de una llamada a una herramienta y qué ocurre si falla.
Reintento (retry): reintentar automáticamente después de un fallo, generalmente con un límite de intentos.
Presupuesto de tokens
El límite de gasto (entrada + salida) para la llamada o para toda la tarea.
Sin un presupuesto definido, un agente con loop puede consumir crédito indefinidamente antes de que alguien se dé cuenta.
⚠️ Señal de que el problema está en el harness, no en el prompt
Si pides lo mismo de dos maneras diferentes y el agente falla igual en ambas —revisa el archivo equivocado, no tiene permiso para ejecutar la prueba, no tiene herramientas para validar su propio trabajo—, el prompt no es el cuello de botella. Es la infraestructura que lo rodea la que debe cambiar.
Conceptos clave
Con aquello sobre lo que actúa, no con lo que sabe
Lo que está disponible para llamar
Lo que puede hacer, no solo lo que existe
El límite de gasto de la tarea
🔁 Diseña el loop: cuántas veces y cómo se detiene
La cuarta capa es el loop: cuántas veces lo intenta el agente y cómo sabe que terminó. Esa es toda la Ruta 2 condensada: descubrir, planificar, actuar, verificar, detenerse. Es la capa en la que dejas de escribir prompts y empiezas a diseñar ciclo: ya no se trata de qué pedir en una sola llamada, sino de cómo se comporta el sistema a lo largo de varias.
Un agente puede tener un prompt excelente, contexto limpio y un harness bien montado y aun así fallar — porque nadie diseñó la condición de parada, o porque el verificador (lo que decide si el resultado es bueno) está ausente o es débil. En ese punto, más prompt no ayuda: lo que falta es diseñar el loop.
🎯 La pregunta que cambia cuando subes a esta capa
Ya no es "¿qué pido?" — es "¿cuántas vueltas lleva esto y qué me indica que terminó?"
Si la respuesta es «no sé, se detiene cuando se cansa» o «no sé, se ejecuta hasta que se agota el presupuesto», el bucle no está diseñado: está ocurriendo por accidente.
Conceptos clave
Cuántas veces y cómo sabes que terminó
Sin ella, funciona para siempre
Lo que decide si pasó
Sistema, no una sola llamada
🕸️ Conecta los loops en un grafo: cuántos hay y cómo se conectan
La quinta capa solo tiene sentido después de las otras cuatro: cuántos bucles tienes y cómo se conectan. Aquí, un grafo es literalmente varios bucles (o nodos sin ningún bucle) conectados por aristas — el investigador se lo envía al escritor, el escritor se lo envía al revisor, y el revisor puede devolverlo al escritor. Cada uno de estos es un nodo; toda la red es el grafo.
Subir a esta capa sin dominar las cuatro de abajo multiplica el problema en vez de resolverlo. Si un bucle individual ya no tiene una condición de parada clara, poner tres de esos bucles en un grafo no crea tres problemas — crea un problema combinatorio, porque ahora cada bucle mal diseñado puede contaminar a los vecinos.
💡 Consejo práctico
Antes de dibujar un grafo, pregúntate: ¿cada nodo individual, por separado, ya funciona como loop, con su propia condición de parada y su propio verificador? Si la respuesta para cualquiera es no, resuélvelo primero. Un grafo no arregla un loop roto, solo propaga el problema.
Conceptos clave
Cuántos loops y cómo se conectan
Cada nodo puede ser un loop completo
Solo asciende quien domina la capa 4
Un grafo sobre un loop defectuoso lo empeora
⚖️ Compara los dos harnesses: script × runtime distribuido
El harness de UN loop cabe en un script: entrada del prompt, ventana de contexto, presupuesto de tokens, lógica de reintentos, captura de salida. Lo escribes en una tarde. El harness de un GRAFO hace todo esto y más: enrutamiento de mensajes entre nodos, aislamiento de fallas de un nodo (si un nodo falla, no puede derribar todo el grafo), consistencia del estado entre nodos (lo que un nodo sabe debe coincidir con lo que espera el siguiente), creación dinámica de nodos (el grafo decide en tiempo de ejecución que necesita un nodo más), y observabilidad del grafo entero.
Observabilidad, aquí, es la capacidad de responder: qué nodos se ejecutaron, en qué orden y con qué latencia (tiempo de ejecución). En un script de un solo bucle, esa pregunta es trivial — se ejecutó una vez, se ejecutó de nuevo, se detuvo. En un grafo con nodos paralelos y enrutamiento condicional, sin instrumentación simplemente no sabes qué pasó. Es exactamente por eso que los frameworks de orquestación (herramientas que coordinan varios agentes/nodos) ganan terreno cuando la conversación pasa de bucle a grafo: resuelven este conjunto de problemas de runtime distribuido — un sistema en el que varias partes se ejecutan de forma coordinada y cada una puede fallar independientemente de las otras, en lugar de dejar que cada equipo reinvente esto manualmente.
Qué observar: compara el tamaño de las dos cajas. La caja de la izquierda tiene 4 responsabilidades y cabe en una tarde de trabajo. La caja de la derecha tiene 5 responsabilidades — y cada una de ellas, por sí sola, es un proyecto de ingeniería (el aislamiento de fallas, por ejemplo, es todo un tema de los sistemas distribuidos clásicos). Eso explica por qué "solo agregar un agente más" nunca es "solo".
| Responsabilidad | Harness de loop | Harness de grafo |
|---|---|---|
| Entrada de prompt | 1 punto de entrada | 1 por nodo, enrutado |
| Falla | Detiene el loop completo | Aislada, no derriba el grafo |
| Estado | Una variable local | Necesita un schema entre nosotros |
| Observabilidad | Un log lineal | Traza de nodos, orden, latencia |
🧪 Ejemplo práctico: diagnostica en qué capa está el problema
Objetivo: dejar de reescribir prompts a ciegas. Un prompt listo para ejecutar en Claude Code (o cualquier asistente agéntico) que te obliga a pasar por las cinco capas antes de aceptar "mejora el prompt" como respuesta.
Meu agente faz <o que ele faz de errado> quando eu peco <a tarefa>. Antes de sugerir qualquer mudanca, analise as cinco camadas NESTA ORDEM e descarte cada uma explicitamente antes de passar pra proxima: 1. PROMPT — a instrucao em si tem ambiguidade real, ou ja e clara? 2. CONTEXTO — o que o agente "ve" no momento de agir esta limpo, ou tem coisa irrelevante competindo com o que importa? 3. HARNESS — ele tem a ferramenta certa, com a permissao certa, e a saida dela volta pra ele de um jeito util? 4. LOOP — existe condicao de parada e verificador? Ele sabe quando "terminou" de verdade, ou so para de tentar? 5. GRAFO — se ha mais de um agente/etapa, o problema esta na ligacao entre eles (roteamento, estado que vaza) e nao dentro de um unico no? Para cada camada, diga "descartada" ou "e aqui" com uma frase de justificativa. So recomende uma mudanca depois de passar pelas cinco.
Cómo verificar: si la respuesta es solo "mejora el prompt así..." sin mencionar las otras cuatro capas, el modelo se saltó el diagnóstico — vuelve a pedirlo, insistiendo en que descarte capa por capa, en orden, antes de recomendar algo.
Ahora cámbialo por el tuyo: reemplaza
<o que ele faz de errado> e <a tarefa>
por el caso real que tienes entre manos.
Verificación rápida (no bloquea nada): tu agente con UN solo loop ya funciona bien por sí solo, pero quieres agregar un segundo agente que revise su resultado. ¿Qué exige este cambio que no requería un harness de loop simple?
Conceptos clave
Diferencia de tamaño, no de grado
Enrutamiento, aislamiento, estado, spawn, observabilidad
Quién se ejecutó, en qué orden y con qué latencia
Por eso los frameworks ganan tracción aquí
📌 Resumen del módulo
Próximo módulo:
3.2 — La comparación de verdad: agentic, loop y graph lado a lado, en el mismo caso: el daily brief.