0%
Registrar los logs de un agente y controlar su coste

Registro y costes

Reconstruir una trayectoria e impedir que un bucle se dispare en gasto.

10-15 min

Registrar los logs de un agente y controlar su coste

Un agente en producción falla de otra manera que un programa ordinario. No se cae: llega a un resultado erróneo por un camino plausible. Un cliente le avisa de que una búsqueda ha devuelto los datos de otro expediente, y usted descubre que sus logs contienen una línea —«llamada al agente, estado 200, 14 s»— que no dice nada de la decena de decisiones tomadas entre la entrada y la salida.

Es el denominador común de todos los incidentes de agente: el dato que permitiría entender lo ocurrido se produce durante la ejecución y se pierde al terminar. Por tanto, el registro de un agente no es un refinamiento de operaciones, sino la condición para poder corregir cualquier cosa. Es también el único modo serio de saber cuánto cuesta el agente.

Qué hay que registrar

Una trayectoria es una sucesión de turnos, cada uno compuesto por una decisión del modelo y, eventualmente, una llamada a una herramienta. La unidad de registro es, por tanto, el turno, y no la petición.

# Un evento por turno. La clave es el identificador de trayectoria:
# es lo que permite reunir los turnos de una misma ejecución.
journal.info(
    "tour_agent",
    extra={
        "trajectoire_id": trajectoire.id,     # UUID genere a l'entree
        "utilisateur_id": demande.utilisateur_id,
        "tour": 3,
        "outil": "chercher_dossiers",
        "arguments": {"requete": "facture impayee", "limite": 20},
        "resultat_taille": 4821,              # octets, pas le contenu
        "duree_ms": 340,
        "jetons_entree": 2145,
        "jetons_sortie": 88,
        "motif_arret": None,
    },
)

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!