Eventos del ciclo de vida
Usarun_with_events(...) o continue_with_events(...) para recibir eventos de forma síncrona:
run.startedmodel.request.startedmodel.response.completedtool.startedtool.completedrun.pausedrun.resumedrun.completedrun.stopped
Reintentos del modelo
max_retries cuenta los intentos adicionales al primero. RunStep.model_attempts registra cuántos intentos hicieron falta para obtener una respuesta correcta del modelo.
Uso
RunResult.usage suma:
input_tokensoutput_tokenscached_tokenstotal_tokenscost, si el cliente del modelo lo proporciona
RunStep también incluye su propio resumen de uso, el ID de solicitud, el proveedor, el modelo y el motivo de finalización.
El adaptador integrado de Gateway 0.1 no asigna cost_nanos ni cost_cents de Gateway a UsageSummary.cost. Si necesitas conocer el gasto exacto, consulta la respuesta de Gateway o el registro de generación.
Errores
Todos los errores del entorno de ejecución usanAgentError:
PhaseoError de Gateway se convierten en AgentError. Si una aplicación necesita el estado y el cuerpo originales de Gateway, llama directamente al cliente phaseo o implementa un ModelClient personalizado que conserve esos campos en su gestión de errores.
Los errores del ejecutor de herramientas local se devuelven al modelo como resultados de herramientas, en lugar de finalizar la ejecución de inmediato.
Límites de pasos
AgentDefinition::max_steps(...) establece el límite predeterminado de turnos del modelo. Puedes cambiarlo para una ejecución:
run.status será stopped y run.stop_reason será max_steps:<limit>.