LLM agents: a budget for each action
An LLM agent can draft a great plan and still execute the wrong action. The risk comes when a tool allows it to send an email, create an account, or repeat an external operation without a clear limit. In my automation flows I treat each run as if it had a budget. The agent can spend a certain number of reads, retries, or calls, but not…
Un agente LLM puede redactar un plan excelente pero ejecutar acciones equivocadas si permite realizar operaciones sin límites claros. En flujos de automatización, cada ejecución debe tener un presupuesto, como la cantidad de lecturas, reintentos o llamadas que puede realizar. Esta regla convierte una conversación flexible en un sistema revisable.
Es especialmente útil en pruebas de correo electrónico, ya que un mejor correo desechable no soluciona un workflow sin aislamiento. Si la suite comparte bandejas de entrada o acepta mensajes antiguos, el resultado puede parecer correcto, asociado a ejecución equivocada.
Por ejemplo, un agente que valida un registro necesita distintos permisos para cada paso: solicitar identidad de prueba, completar formulario, esperar email de confirmación, abrir enlace, informar si terminó bien. Cada paso tiene permisos distintos. Leer es una observación; elegir esperar es una decisión; enviar correo o modificar cuenta es un efecto externo. Si todas las operaciones están expuestas como herramientas equivalentes, el prompt termina siendo la frontera de seguridad.
El diseño separa intención y ejecución. El LLM propone acción estructurada; una capa determinista valida presupuesto; adaptador limitado llama al proveedor. El diseño es de cuatro capas: Intención → política → adaptador → evidencia. Cada paso tiene permisos específicos y un presupuesto.
Para herramientas con efectos externos, un contrato mínimo declara identificador de ejecución y inbox, propósito permitido, hora válida de mensaje, acciones y cantidades disponibles, modo dry-run o live, retención de logs y artefactos. La hora de inicio y propósito evitan usar bandejas de recuperación para validar registros. El saldo evita que un timeout se convierta en veinte llamadas.
Para probar límites, primero pruebe políticas sin proveedor externo. Verifique que dry-run nunca llame adaptador, inbox de otra ejecución sea rechazado, y agotar saldo produzca el mismo error en cada corrida. Si prueba necesita excusa especial, contrato no es suficientemente claro. Después, use un cliente falso con cuatro respuestas: mensaje antiguo, de otro correlationId, válido, timeout. El agente seleccionará solo el mensaje que cumple el contrato y dejará evidencia de descartes.
En el mundo real, ejecute un caso pequeño en vivo con inbox aislado y saldo bajo. Guarde intención original, decisión de política, llamada al adaptador y resultado. Verifique que un fallo no devuelva saldo por accidente.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.