agent_tool_call_completed: del límite propio a la consulta confiable
Trate a agent_tool_call_completed como un contrato analítico duradero: el propietario emite un grano documentado, un dispositivo prueba los campos y una consulta revisada responde a la pregunta formulada.
- 1
El resultado se vuelve definitivo
Agent runtime or tool-execution adapter emits only after the tool returns, times out, is denied, or fails for the current attempt.
- 2
El contrato está limitado.
10 required fields preserve the declared grain: One completed tool-call attempt within an agent run.
- 3
El accesorio está verificado
Tipos de verificación, hora UTC, resultados alternativos, idempotencia y todos los campos seudónimos o clasificados por revisión.
- 4
La pregunta esta respondida
¿Qué herramientas fallan, reintentan, realizan bucles o agregan latencia antes de que un agente alcance un resultado útil?
grano
Un intento de llamada a herramienta completado dentro de una ejecución de agente.
propietario
Tiempo de ejecución del agente o adaptador de ejecución de herramientas
Emitir cuando
Después de que la herramienta regrese, expire el tiempo de espera, sea denegada o falle en el intento actual.
Contrato de campo
Campos escritos con límites de privacidad explícitos
Mantenga estables los nombres y tipos de campos existentes después de que las consultas de producción dependan de ellos. El contexto opcional debe permanecer limitado, documentado y justificado por una decisión específica.
| Campo | Tipo | Requerido | Privacidad | Significado |
|---|---|---|---|---|
| timestamp_utc | timestamp | yes | non-sensitive | Hora UTC en el límite del resultado. |
| event_id | string | yes | non-sensitive | Identificador único estable utilizado para la deduplicación. |
| release | string | yes | non-sensitive | Versión de la aplicación o servicio que emitió el evento. |
| account_id | string | yes | pseudonymous | Identificador de cuenta interno estable, nunca un correo electrónico o nombre. |
| run_id | string | yes | pseudonymous | Identificador aprobado para la ejecución del agente propietario. |
| tool_call_id | string | yes | pseudonymous | Identificador estable para esta llamada a herramienta lógica. |
| tool_name | string | yes | non-sensitive | Nombre de herramienta de baja cardinalidad incluida en la lista permitida. |
| status | string | yes | non-sensitive | Éxito, error, timed_out o denegado. |
| attempt | number | yes | non-sensitive | Número de intento basado en uno para la llamada lógica. |
| duration_ms | number | yes | non-sensitive | Duración de la llamada a la herramienta en milisegundos. |
| error_type | string | no | non-sensitive | Categoría de falla controlada sin texto de excepción. |
Evento JSON sintético
{
"timestamp_utc": "2026-07-29T10:04:11Z",
"event_id": "evt_tool_01",
"account_id": "acct_8f31",
"release": "2026.07.3",
"run_id": "run_43fc",
"tool_call_id": "call_017",
"tool_name": "customer_lookup",
"status": "success",
"attempt": 1,
"duration_ms": 284
}Revisión de privacidad
Revisar los identificadores antes de la ingestión
Este ejemplo utiliza identificadores sintéticos. Los valores seudónimos aún pueden ser datos personales y los campos de revisión pueden exponer el contexto empresarial o del proveedor. Aplique sus propios requisitos de consentimiento, retención, acceso, residencia y eliminación.
account_id: pseudonymousrun_id: pseudonymoustool_call_id: pseudonymous
Lista de verificación de validación
Pruebe el contrato antes de crear un panel
- Send one known agent_tool_call_completed fixture after the documented outcome boundary.
- Verify all 10 required fields arrive with the documented types.
- Vuelva a intentar el mismo identificador de evento y confirme el comportamiento de deduplicación elegido.
- Envíe un error controlado o un resultado alternativo cuando el flujo de trabajo lo admita.
- Ejecute el SQL relacionado en una ventana fija y concilie el resultado con el dispositivo.
Errores comunes
Mantenga una fila igual a un resultado duradero
- Emitting agent_tool_call_completed before agent runtime or tool-execution adapter knows the final outcome.
- Mezclar varios granos en una tabla, lo que hace que los recuentos y tasas sean ambiguos.
- Reemplazar categorías controladas con URL sin formato, cargas útiles, mensajes o texto de error.
- De ello depende el cambio de un tipo de campo después de las consultas y los paneles guardados.
- Agregar identificadores sin una necesidad documentada de investigación, acceso y retención.
Usa el contrato
Consultar y operacionalizar el evento.
Contratos relacionados
llm_request_completed¿Cuánto cuesta cada flujo de trabajo de IA exitoso y qué tan bien funciona?
Revisar esquemauser_signed_up¿Qué cohortes de registro se activan y retienen?
Revisar esquemaproduct_milestone_completed¿Qué cuentas alcanzan los momentos duraderos que definen la activación?
Revisar esquemaEnviar un dispositivo antes del tráfico de producción.
Cree una clave API gratuita, envíe el evento sintético e inspeccione la tabla inferida antes de conectar un flujo de trabajo en vivo.