Saltar al contenido principal
Define condiciones de parada en el agente para que una ejecución termine según tu presupuesto, no según el modelo. La primera condición que se cumple registra su motivo como motivo de parada de la ejecución y devuelve la ejecución con el estado stopped. Aparte, el límite de pasos limita los turnos del modelo en cada llamada de ejecución o de continuación. Rust solo tiene el límite de pasos.

Combina los límites integrados

Los límites de tokens y de coste dependen del uso que informa el proveedor, así que mantén también un límite de pasos o de duración.

Helpers disponibles

Los helpers están en AgentSdk en C#, PHP (AgentSdk::) y Java, en PhaseoAgentSdk en Ruby, y son funciones del paquete en TypeScript, Python y Go. El argumento de duración varía:

Cuándo se comprueban las condiciones

Los lenguajes no comprueban las condiciones en el mismo momento ni tratan el límite de pasos de la misma forma:
Las condiciones de parada de Python no cortan un bucle de herramientas. Acota los bucles de herramientas con max_steps. El stop_when que se pasa a run() se ignora; establécelo en la definición.

Consulta por qué se detuvo una ejecución

Una ejecución detenida es un retorno normal, no un error. Comprueba que el estado de la ejecución es stopped, lee su motivo de parada y después consulta el uso y el último paso. Decide en tu aplicación qué motivos cuentan como éxito, cuáles se pueden reintentar y cuáles merece la pena mostrar al usuario.

Escribe una condición personalizada

Una condición personalizada recibe el estado de la ejecución y devuelve un motivo para detenerse, o un valor negativo para continuar. Devuelve una cadena con el motivo cuando los operadores o tu interfaz necesiten explicar por qué terminó una ejecución; se guarda como motivo de parada.
Última modificación el 5 de noviembre de 2026