Évaluations au niveau de la session
Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Une évaluation au niveau de la session s’exécute une fois par session utilisateur, avec chaque trace — et chaque span dans ces traces — disponible pour le juge LLM dans une seule invite. Les sessions regroupent les interactions associées sous un session_id partagé (par exemple, une conversation par chat) et peuvent inclure plusieurs traces sur une interaction étendue.
Le périmètre de session répond aux questions sur les performances de l’agent et le comportement de l’utilisateur sur une interaction entière — des questions auxquelles les juges au niveau de la trace et du span ne peuvent pas répondre à partir d’une seule requête ou d’un seul span.
Les évaluations au niveau de la session nécessitent que les spans soient marqués avec un
session_id. Consultez
Suivi des sessions utilisateur pour instrumenter votre application.
La procédure pas à pas ci-dessous met en évidence les parties de la configuration qui sont spécifiques au périmètre de session. Le reste de la configuration (compte, modèle, type de sortie, critères d’évaluation) est identique à celui des évaluations à périmètre de span ou de trace.
Accédez à la page Evaluations d’Agent Observability et sélectionnez Create Evaluation, puis dans le Evaluate On sélectionnez Session. (Vous pouvez également commencer à partir d’une évaluation modèle.)
Remplissez le evaluation name, le account et le model comme vous le feriez pour toute évaluation LLM-as-a-judge personnalisée.
Une session est considérée comme terminée après 30 minutes d'inactivité (aucun nouveau span pour cette session, mesuré à partir du span le plus récent), moment auquel l'évaluation s'exécute. Les spans qui arrivent plus de 30 minutes après le span précédent ne sont pas inclus dans l'évaluation.
Ajoutez un Query et un Sampling Rate pour contrôler quelles sessions sont évaluées.
Dans le champ System Prompt, saisissez les instructions statiques pour le juge LLM — par exemple, les critères que le juge doit utiliser et la sortie qu’il doit produire. Le System Prompt ne résout pas les espaces réservés {{ ... }}.
Dans le message User, rédigez l’invite qui injecte les données de session en utilisant {{traces...}} paths. The autocomplete dropdown adapts to session scope and lists fields available on the selected sample session. The {{span_input}} and {{span_output}} aliases are not available in session scope—reference span data through the tableau traces à la place. Modèles courants :
{{traces}} # JSON de chaque trace dans la session
{{traces[0].spans[0].meta.input.value}} # Premier span de la première trace
{{traces[*].spans[*].name}} # Tous les noms de span, joints par des retours à la ligne
{{traces[*].spans[meta.span.kind:llm].meta.output.value}} # Sorties LLM sur toute la session
{{*}} # Charge utile complète de la session au format JSON
See Prompt Templating for the full reference.
Choisissez une session exemple dans le panneau de droite. Le volet liste les traces de cette session, avec les champs référencés par votre éditeur d’invite utilisateur mis en surbrillance.
Cliquez sur Test Evaluation pour exécuter l’invite sur la session sélectionnée et prévisualiser le résultat du juge LLM avant d’enregistrer.
Poursuivez avec le reste de la configuration de l’évaluation (type de sortie, critères d’évaluation) et Save and Publish pour commencer à exécuter l’évaluation sur de nouvelles sessions.
Achèvement de la session
Une évaluation au niveau de la session se déclenche après que Datadog considère qu’une session est terminée. Une session est terminée après 30 minutes d’inactivité, c’est-à-dire que 30 minutes se sont écoulées sans qu’aucun nouveau span n’arrive pour cette session (mesuré à partir du span le plus récent).
Lorsque la session se termine, l’évaluation s’exécute une fois avec chaque trace et chaque span de ces traces de cette session disponibles dans l’invite du juge. Tous les spans qui arrivent plus de 30 minutes après le span précédent d’une session ne sont pas inclus dans l’évaluation au niveau de la session.
Voir les résultats
Une fois une session terminée, son résultat d’évaluation est joint à la session et est disponible dans Agent Observability en temps quasi réel. Tant que la session est dans sa fenêtre d’inactivité de 30 minutes, le résultat s’affiche sous la forme Pending dans le panneau latéral ; une fois la session terminée, la ligne en attente est remplacée par le résultat final.
Dépliez le Session evaluations sur une session pour voir chaque évaluation qui a été exécutée pour celle-ci, ainsi que le raisonnement du juge LLM lorsque Enable Reasoning était activé au moment de la configuration. Le raisonnement explique pourquoi le juge a produit cette valeur et fait référence à des champs de trace ou de span spécifiques sur lesquels il s’est appuyé — utilisez-le pour trier les échecs individuels et décider s’il faut affiner le prompt ou accepter le verdict.
Exemples d’invites
Exhaustivité de l’objectif de la session
Évaluez si l’utilisateur a accompli ce qu’il était venu faire sur l’ensemble de la session, y compris les tours de suivi dans des traces distinctes.
Prompt système
You are evaluating an LLM chatbot session. You will see every trace in the session, including all user messages and assistant responses across turns.
Decide whether the user's goals were fully met by the end of the session. Consider:
- All distinct intents the user expressed during the session
- Whether follow-up questions indicate unresolved needs
- Whether the final state of the conversation leaves the user satisfied
Respond with one of: completed, partially_completed, failed.
Utilisateur
Session traces:
{{traces}}
Le modèle d’évaluation géré Goal Completeness implémente ce modèle.
Qualité de la conversation multi-tours
Évaluez la cohérence, la rétention du contexte et le ton sur l’ensemble de la session plutôt que sur un seul échange.
Prompt système
You will see a multi-turn chat session between a user and an assistant across multiple traces.
Evaluate the session as a whole on:
- Coherence across turns
- Whether the assistant remembered relevant context from earlier turns
- Whether tone and helpfulness stayed consistent
Output one of: excellent, good, mixed, poor.
Utilisateur
User and assistant messages across the session:
{{traces[*].spans[meta.span.kind:llm].meta.input.messages[*].content}}
{{traces[*].spans[meta.span.kind:llm].meta.output.messages[*].content}}
Comportement de l’utilisateur et signaux de frustration
Détectez les modèles comportementaux qui n’apparaissent que lorsqu’on examine l’ensemble de la session.
Prompt système
Analyze this user session for signs of frustration, confusion, or abandonment.
Look for:
- Repeated or rephrased questions on the same topic
- Explicit expressions of dissatisfaction
- The user stopping after an incomplete or unhelpful answer
Output one of: no_issues, mild_frustration, high_frustration, abandoned.
Utilisateur
Cohérence de l’Agent sur une session
Vérifiez si l’agent a maintenu la qualité et la conformité aux politiques à chaque tour de la session.
Prompt système
You will see all traces from one agent session. Assess whether the agent performed consistently:
- Did later turns contradict earlier correct answers?
- Did the agent recover from errors, or repeat the same mistake?
- Were safety and policy guidelines followed on every turn?
Respond with: consistent, mixed, inconsistent.
Utilisateur
Session traces (chronological):
{{traces}}
Choisir le bon périmètre
| Périmètre | Ce que le juge voit | Angle mort typique |
|---|
| Span | Entrée et sortie d’un span | Aucun contexte inter-span ou inter-trace |
| Trace | Tous les spans dans une trace | Aucun tour précédent ou ultérieur dans la même session de chat |
| Session | Toutes les traces (et spans) d’une session | — |
Utilisez le périmètre Session lorsque l’évaluation nécessite un contexte provenant de plus d’une trace au sein de la même session utilisateur :
- Satisfaction de l’utilisateur — si la session dans son ensemble a répondu à l’intention de l’utilisateur, et pas seulement la dernière réponse.
- Cohérence multi-tours — si l’assistant est resté sur le sujet, a maintenu le ton et a conservé le contexte pertinent à travers des tours situés dans des traces différentes.
- Comportement de l’utilisateur au fil du temps — modèles tels que la frustration, la confusion, le changement de sujet ou l’abandon avant que l’agent n’ait fini d’aider.
- Performance de l’Agent sur une session — cohérence, régression après des échecs d’outils, ou si l’agent s’est rétabli après des erreurs lors d’un tour ultérieur.
Utilisez le périmètre Trace lorsque la réponse dépend d’étapes au sein d’une seule requête — par exemple, l’ordre des appels d’outils, la fidélité RAG au sein d’une exécution de workflow, ou l’atteinte de l’objectif pour une invocation d’agent : Voir Évaluations au niveau de la trace.
Utilisez le périmètre Span lorsque l’évaluation peut être effectuée à partir d’un span unique en isolation — par exemple, pour noter une seule réponse LLM, classifier l’intention sur un message, ou valider les arguments d’outil sur un seul appel.
Autorisations
La configuration des évaluations nécessite la Agent Observability Write permission.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: