Lección 08 · 2 min de lectura

Pon límites para que el agente no se extralimite

Pide un arreglo pequeño y un agente sin correa refactorizará tres archivos vecinos, hará un montón, no terminará nada y te dejará un diff que nadie puede revisar.

💡Un cirujano opera una cosa a la vez

No querrías un cirujano que, a mitad de una operación, decidiera arreglar también dos cosas no relacionadas que vio. El foco es seguridad. WIP=1 (trabajo en curso: uno) significa que el agente termina la función que le dieron antes de tocar nada más, y anota el resto para después.


Dos fallos, una causa

Extralimitarse y quedarse a medias parecen opuestos pero comparten raíz: ningún borde definido para la tarea. Sin límite, «mejora esto» invita al agente a tocar todo lo adyacente, y el objetivo original se diluye en un cambio desbordado. El diff se infla, la revisión se vuelve imposible, y lo único que pediste queda a medias en medio de diez cosas que no.

flowchart LR
  Card["Una funcion, pending"] --> Code["coding"]
  Code --> Verify["verifying"]
  Verify --> Done["done"]
  Done --> Next["Reclama la siguiente tarjeta"]
  Side["Viste otro trabajo?"] --> Log["Anotalo como seguimiento, no lo absorbas"]
Una función a la vez. Las ideas adyacentes son seguimientos, no expansión de alcance.

Acota cada unidad de trabajo

Dale a cada tarea un borde explícito: qué entra, qué queda explícitamente fuera y qué significa «hecho» para esta unidad. Mantén los cambios lo bastante pequeños para revisarlos de una sentada. Cuando el agente note trabajo adyacente que vale la pena, debe anotarlo como seguimiento, no absorberlo en el cambio actual.

Regla práctica

Si el diff no se puede revisar de una sentada, la unidad era demasiado grande. Divídela antes de ejecutar, no después.

Unidades acotadas en el bucle

Agentum impone el límite de forma estructural. El Harness Engine entrega al agente exactamente una función de feature_list.json, y AGENTS.md le indica trabajar solo esa función, hacer el cambio más pequeño que pase la puerta y luego detenerse y esperar, el harness controla la cola, no el agente. En el board, las tarjetas se mueven de una en una (backlog → coding → verifying → done), y el board de claim atómico devuelve un 409 si dos agentes intentan la misma tarjeta. El alcance se queda en una función de ancho, y el diff sigue siendo revisable.

Puntos clave

  • Extralimitarse y quedarse a medias comparten una causa: ningún borde definido para la tarea.
  • Acota cada unidad: qué entra, qué queda fuera y una definición concreta de hecho.
  • Mantén los diffs revisables de una sentada; anota las ideas adyacentes como seguimientos.
  • Agentum itera sobre unidades pequeñas y acotadas, lo que evita que la autonomía se desborde.

Ejercicios

  1. Acota una tarea. Escribe qué entra, qué queda fuera y qué significa done, antes de empezar.
  2. Caza la extralimitación. Revisa un diff grande reciente. ¿Cuánto quedaba fuera de lo que se pidió?

Para seguir leyendo

Esta lección reformula para Agentum el capítulo equivalente del curso abierto de Walking Labs. Lee el original ↗