option
MaisonMaison Skill Science des données et ML m365-agent-evaluator

m365-agent-evaluator

microsoft/skills microsoft/skills

Créez, exécutez et analysez des suites d'évaluation pour les agents déclaratifs de Microsoft 365 Copilot à l'aide de l'interface de ligne de commande @microsoft/m365-copilot-eval.

...Développer tout
0
Heure mise à jour 16 septembre 2026

Évaluateur d’agents M365

Utilisez cette compétence pour aider les utilisateurs à évaluer les agents déclaratifs Microsoft 365 Copilot à l'aide de @microsoft/m365-copilot-eval. La compétence conçoit des jeux de données d'évaluation compatibles avec le schéma, exécute l'interface CLI de préversion publique, analyse les résultats et recommande des correctifs ciblés.

Par défaut, elle privilégie les projets Microsoft 365 Agents Toolkit (ATK) lorsqu’elle les détecte, mais ne s’arrête pas systématiquement si le répertoire courant n’est pas un répertoire ATK. L’interface CLI peut également évaluer des agents déployés à l’aide d’un identifiant M365_AGENT_ID explicite ou de l’option --m365-agent-id.

Utilisez toujours cette commande CLI

npx -y --package @microsoft/m365-copilot-eval@latest runevals

L’utilisation de l’ancien programme d’installation privé aka.ms, des installations globales, des commandes runevals seules, des commandes npx runevals seules, ainsi que des options --input ou --html n’est pas recommandée.

Processus d’activation

  1. Identifiez l’objectif de l’utilisateur : configuration, création d’un ensemble de données, exécution d’évaluations, analyse des résultats ou mise à jour d’une suite d’évaluations existante.
  2. Chargez uniquement la référence nécessaire à l’objectif actuel :
    • references/workflow.md pour le workflow complet de l’opérateur et les commandes CLI.
    • references/azure-setup.md pour les prérequis, les fichiers d'environnement et la gestion des secrets.
    • references/eval-templates.md pour la création ou la modification de jeux de données d'évaluation.
    • references/pra-framework.md pour déterminer les scénarios à générer.
    • references/result-analysis.md une fois que les résultats au format JSON/CSV/HTML sont disponibles.
    • references/guardrails.md avant d'écrire des fichiers, de gérer des secrets, de vider le cache, de se déconnecter ou de procéder au dépannage.
  3. Détecter la structure du projet :
    • ATK : .env.local, .env.local.user, env\.env.local.user, m365agents.yml ou appPackage\declarativeAgent.json.
    • Non-ATK : un ensemble de données d'évaluation plus M365_AGENT_ID, --m365-agent-id ou un fichier d'environnement nommé tel que env\.env.dev.
  4. Vérification des prérequis sans exposer les valeurs :
    • Node.js 24.12.0 ou version plus récente.
    • Licence Microsoft 365 Copilot et agent M365 Copilot déployé.
    • Consentement de l’administrateur du locataire pour l’application client WorkIQ.
    • TENANT_ID, point de terminaison/clé Azure OpenAI dans Foundry Models, et déploiement gpt-4o-mini recommandé/par défaut.
  5. Choisissez le workflow :
    • Pas de jeu de données : créez le fichier evals\evals.json.
    • Ensemble de données existant : exécuter, analyser les résultats antérieurs ou proposer des modifications.
    • Vérification rapide : utilisez les invites intégrées.
    • Exploration : utilisez le mode interactif.

Contrat du jeu de données actuel

Générer des documents de schéma version 1.2.0 avec un tableau d'éléments racine. Ne pas générer l'ancien format PromptsObject ni le format des invites racine.

Structure minimale :

{
  "schemaVersion": "1.2.0",
  "metadata": {
    "name": "Suite d'évaluation d'agents",
    "tags": ["starter"]
  },
  "default_evaluators": {
    "Relevance": {},
    "Coherence": {}
  },
  "items": [
    {
      "prompt": "En quoi cet agent peut-il m'aider ?",
      "expected_response": "L'agent explique les fonctionnalités qu'il prend en charge sans inventer de capacités non prises en charge."
    }
  ]
}

Utilisez references\prompts-schema.json comme source de schéma locale et references\eval-templates.md pour des exemples copiables de dialogues à un tour, à plusieurs tours, d’évaluateurs et de seuils.

Noms publics des évaluateurs

Les noms d’évaluateurs sont sensibles à la casse. N’utilisez que les noms d’évaluateurs publics configurables, sauf si une source faisant autorité plus récente prouve le contraire.

Évaluateur Sémantique
Pertinence Note LLM comprise entre 1 et 5 ; seuil par défaut : 3.
Cohérence Score LLM compris entre 1 et 5 ; seuil par défaut : 3.
Ancrage Score LLM compris entre 1 et 5 par rapport au contexte/aux preuves attendues; seuil par défaut : 3.
Similitude Score LLM compris entre 1 et 5 par rapport à la réponse attendue; seuil par défaut : 3.
Références Vérification des citations basée sur le nombre ; seuil par défaut : 1.
Correspondance exacte Correspondance booléenne exacte de chaînes de caractères.
PartialMatch Similitude de chaîne comprise entre 0,0 et 1,0 ; seuil par défaut : 0,5.

Considérer ToolCallAccuracy comme obsolète/privé pour la création de contenu. Ne pas l'ajouter aux ensembles de données générés, sauf si la documentation publique actuelle de l'interface CLI ou du schéma le réintroduit explicitement.

Commandes courantes

# Vérifications de version/aide
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help

# Première configuration / CLUF
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only

# Exécution par lots avec sortie JSON explicite
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json

# Format HTML pour révision humaine ou CSV compatible avec les tableurs
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.html
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.csv

# Vérifications rapides
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts "En quoi peux-tu m'aider ?" --expected "L'agent décrit son domaine de compétence."

# Environnement non-ATK ou nommé
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id  --env dev

N’utilisez l’option --concurrency qu’avec des valeurs comprises entre 1 et 5. Commencez par 1 pour le débogage et n’augmentez cette valeur qu’une fois la configuration stabilisée.

Sécurité liée à la version et au PATH

Avant de diagnostiquer le comportement de l’agent, vérifiez quel exécutable est en cours d’exécution :

Get-Command runevals -All
npm list -g @microsoft/m365-copilot-eval --depth=0
npm view @microsoft/m365-copilot-eval version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest où runevals

Si la commande « runevals » seule affiche le message « Cette version de la CLI M365 Evals ne fonctionne plus et doit être mise à jour », considérez-la comme une installation PATH/globale obsolète. Relancez la commande avec la commande npx --package ...@latest ci-dessus, puis confirmez avant de supprimer les shims globaux avec npm uninstall -g @microsoft/m365-copilot-eval.

Conventions de nommage des fichiers

Chemin Objectif
.env.local Configuration ATK non confidentielle, telle que M365_TITLE_ID.
.env.local.user ou env\.env.local.user Informations confidentielles locales, telles que l’ID de locataire et la clé Azure OpenAI.
env\.env. Configuration d’environnement nommée pour les workflows non-ATK ou avec l’option explicite --env.
evals\evals.json Ensemble de données d'évaluation géré par contrôle de version si l’utilisateur souhaite qu’il soit validé.
.evals\ Résultats d’exécution locale ; généralement ignorés par Git.

Ne jamais afficher ni valider des informations confidentielles, des invites contenant des données sensibles, du contenu récupéré, des journaux de débogage ou des fichiers de résultats bruts, sauf si l'utilisateur le demande explicitement et confirme que ces données peuvent être partagées en toute sécurité.

Conseils de génération

Utiliser PRA comme cadre de conception de scénarios :

  • Perception : récupération, ancrage et couverture des sources.
  • Raisonner : respect des instructions, synthèse, gestion des ambiguïtés et comportement de refus.
  • Agir : capacités déclarées et comportement d’action. Évaluez à l’aide d’évaluateurs publics tels que Relevance, Coherence, Similarity, ExactMatch ou PartialMatch; n’utilisez pas l’ancien ToolCallAccuracy.

Demandez confirmation avant de remplacer un ensemble de données existant. Lors de l'écriture des évaluations générées, enregistrez-les d'abord dans un fichier temporaire, puis renommez-le en cas de réussite.

Conseils pour l’analyse des résultats

N'analysez que les clés d'évaluation présentes. L'absence de clés de score signifie généralement que l'évaluateur n'a pas été configuré pour cet élément, et non qu'il a échoué.

Utilisez les clés de score actuelles lorsqu’elles sont présentes : pertinence, cohérence, ancrage, similarité, citations, correspondance exacte et correspondance partielle. Regroupez les échecs en fonction de leurs causes profondes probables : problème d’instruction, problème d’ancrage, problème de citation, inadéquation avec la réponse attendue, lacune de capacité, problème d’authentification/d’environnement ou problème de qualité de l’évaluation.

N’exécutez pas d’évaluations réelles dépendantes du locataire à moins que l’utilisateur n’ait fourni ou approuvé la configuration nécessaire du locataire, de l’agent et d’Azure OpenAI.

Voir sur GitHub
---
name: m365-agent-evaluator
description: Create, run, and analyze evaluation suites for Microsoft 365 Copilot declarative agents using the @microsoft/m365-copilot-eval CLI.
---

# M365 Agent Evaluator

Use this skill to help users evaluate Microsoft 365 Copilot declarative agents with `@microsoft/m365-copilot-eval`. The skill designs schema-compatible eval datasets, runs the public preview CLI, analyzes results, and recommends targeted fixes.

Default to Microsoft 365 Agents Toolkit (ATK) projects when detected, but do not hard-stop solely because the current directory is not ATK. The CLI can also evaluate deployed agents with an explicit `M365_AGENT_ID` or `--m365-agent-id`.

## Always use this CLI invocation

```powershell
npx -y --package @microsoft/m365-copilot-eval@latest runevals
```

Do not recommend the old private `aka.ms` installer, global installs, bare `runevals`, bare `npx runevals`, `--input`, or `--html`.

## Activation workflow

1. Identify the user goal: setup, dataset authoring, running evals, analyzing results, or updating an existing eval suite.
2. Load only the reference needed for the current goal:
   - `references/workflow.md` for the end-to-end operator workflow and CLI commands.
   - `references/azure-setup.md` for prerequisites, env files, and secret handling.
   - `references/eval-templates.md` when creating or editing eval datasets.
   - `references/pra-framework.md` when deciding what scenarios to generate.
   - `references/result-analysis.md` after JSON/CSV/HTML results exist.
   - `references/guardrails.md` before writing files, handling secrets, clearing cache, signing out, or troubleshooting.
3. Detect project shape:
   - ATK: `.env.local`, `.env.local.user`, `env\.env.local.user`, `m365agents.yml`, or `appPackage\declarativeAgent.json`.
   - Non-ATK: an eval dataset plus `M365_AGENT_ID`, `--m365-agent-id`, or a named environment file such as `env\.env.dev`.
4. Verify prerequisites without exposing values:
   - Node.js 24.12.0 or newer.
   - Microsoft 365 Copilot license and a deployed M365 Copilot agent.
   - Tenant admin consent for the WorkIQ Client App.
   - `TENANT_ID`, Azure OpenAI in Foundry Models endpoint/key, and recommended/default `gpt-4o-mini` deployment.
5. Choose the workflow:
   - No dataset: create `evals\evals.json`.
   - Existing dataset: run, analyze prior results, or propose changes.
   - Quick check: use inline prompts.
   - Exploration: use interactive mode.

## Current dataset contract

Generate schema version `1.2.0` documents with a root `items` array. Do not generate the old `PromptsObject` or root `prompts` format.

Minimum shape:

```json
{
  "schemaVersion": "1.2.0",
  "metadata": {
    "name": "Agent evaluation suite",
    "tags": ["starter"]
  },
  "default_evaluators": {
    "Relevance": {},
    "Coherence": {}
  },
  "items": [
    {
      "prompt": "What can this agent help me with?",
      "expected_response": "The agent explains its supported scope without inventing unsupported capabilities."
    }
  ]
}
```

Use `references\prompts-schema.json` as the local schema source and `references\eval-templates.md` for copyable single-turn, multi-turn, evaluator, and threshold examples.

## Public evaluator names

Evaluator names are case-sensitive. Use only the public configurable evaluator names unless a newer authoritative source proves otherwise.

| Evaluator | Semantics |
|---|---|
| `Relevance` | LLM score from 1-5; default threshold 3. |
| `Coherence` | LLM score from 1-5; default threshold 3. |
| `Groundedness` | LLM score from 1-5 against `context`/expected evidence; default threshold 3. |
| `Similarity` | LLM score from 1-5 against `expected_response`; default threshold 3. |
| `Citations` | Count-based citation check; default threshold 1. |
| `ExactMatch` | Boolean exact string match. |
| `PartialMatch` | String similarity from 0.0-1.0; default threshold 0.5. |

Treat `ToolCallAccuracy` as legacy/private for authoring. Do not add it to generated datasets unless current public CLI/schema documentation explicitly reintroduces it.

## Common commands

```powershell
# Version/help checks
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help

# First-time setup / EULA
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only

# Batch run with explicit JSON output
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json

# Human-review HTML or spreadsheet-friendly CSV
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.html
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.csv

# Quick checks
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts "What can you help me with?" --expected "The agent describes its supported scope."

# Non-ATK or named environment
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id <agent-id> --env dev
```

Use `--concurrency` only with values 1-5. Start with `1` for debugging and increase only after setup is stable.

## Version and PATH safety

Before diagnosing agent behavior, confirm which executable is running:

```powershell
Get-Command runevals -All
npm list -g @microsoft/m365-copilot-eval --depth=0
npm view @microsoft/m365-copilot-eval version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest where runevals
```

If bare `runevals` prints `This version of the M365 Evals CLI has stopped working and must be updated`, treat it as a stale PATH/global install. Re-run with the `npx --package ...@latest` command above, then ask before removing global shims with `npm uninstall -g @microsoft/m365-copilot-eval`.

## File conventions

| Path | Purpose |
|---|---|
| `.env.local` | Non-secret ATK config such as `M365_TITLE_ID`. |
| `.env.local.user` or `env\.env.local.user` | Local secrets such as tenant ID and Azure OpenAI key. |
| `env\.env.<environment>` | Named environment config for non-ATK or explicit `--env` workflows. |
| `evals\evals.json` | Source-controlled eval dataset if the user wants it committed. |
| `.evals\` | Local run outputs; usually gitignored. |

Never print or commit secrets, prompts containing sensitive data, retrieved content, debug logs, or raw result files unless the user explicitly asks and confirms the data is safe to share.

## Generation guidance

Use PRA as a scenario-design framework:

- Perceive: retrieval, grounding, and source coverage.
- Reason: instruction adherence, synthesis, ambiguity handling, and refusal behavior.
- Act: declared capability/action behavior. Score with public evaluators such as `Relevance`, `Coherence`, `Similarity`, `ExactMatch`, or `PartialMatch`; do not use legacy `ToolCallAccuracy`.

Ask before overwriting an existing dataset. When writing generated evals, write to a temporary file first and rename on success.

## Result analysis guidance

Analyze only evaluator keys that are present. Missing score keys usually mean the evaluator was not configured for that item, not that it failed.

Use current score keys when present: `relevance`, `coherence`, `groundedness`, `similarity`, `citations`, `exactMatch`, and `partialMatch`. Group failures into likely root causes: instruction issue, grounding issue, citation issue, expected-answer mismatch, capability gap, auth/environment issue, or eval-quality issue.

Do not run real tenant-dependent evals unless the user has provided or approved the necessary tenant, agent, and Azure OpenAI configuration.

Installer m365-agent-evaluator

Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/microsoft-365-agents-toolkit/skills/m365-agent-evaluator # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de la compétence dans .claude/skills/ Claude détectera automatiquement la compétence et l'utilisera

Compétences similaires

web-search
Heure mise à jour 29 juin 2026
webapp-testing
Heure mise à jour 29 juin 2026
lark-base
Heure mise à jour 5 juillet 2026
agentmail
Heure mise à jour 29 juin 2026
OR