m365-agent-evaluator
microsoft/skills
Erstellen, führen Sie aus und analysieren Sie Testsuiten für deklarative Agenten von Microsoft 365 Copilot mithilfe der Befehlszeilenschnittstelle @microsoft/m365-copilot-eval.
...Alle erweiternM365-Agent-Evaluator
Verwenden Sie diese Funktion, um Benutzern bei der Bewertung von deklarativen Microsoft 365 Copilot-Agenten mit @microsoft/m365-copilot-eval zu helfen. Die Funktion entwirft schemakompatible Bewertungsdatensätze, führt die CLI der öffentlichen Vorschau aus, analysiert die Ergebnisse und empfiehlt gezielte Korrekturen.
Verwenden Sie standardmäßig Projekte des Microsoft 365 Agents Toolkit (ATK), wenn diese erkannt werden, brechen Sie den Vorgang jedoch nicht zwingend ab, nur weil das aktuelle Verzeichnis kein ATK-Verzeichnis ist. Die CLI kann auch bereitgestellte Agenten mit einer expliziten M365_AGENT_ID oder dem Parameter --m365-agent-id bewerten.
Verwenden Sie immer diesen CLI-Aufruf
npx -y --package @microsoft/m365-copilot-eval@latest runevals
Der alte private „aka.ms“-Installer, globale Installationen, „runevals“ ohne weitere Angaben, „npx runevals“ ohne weitere Angaben sowie die Optionen „--input“ oder „--html“ werden nicht empfohlen.
Aktivierungsablauf
- Ermitteln Sie das Benutzerziel: Einrichtung, Erstellung von Datensätzen, Ausführen von Eval-Läufen, Analysieren der Ergebnisse oder Aktualisieren einer bestehenden Eval-Suite.
- Laden Sie nur die für das aktuelle Ziel benötigte Referenz:
references/workflow.mdfür den End-to-End-Workflow des Operators und die CLI-Befehle.references/azure-setup.mdfür Voraussetzungen, Umgebungsdateien und den Umgang mit Geheimnissen.references/eval-templates.mdbeim Erstellen oder Bearbeiten von Evaluierungsdatensätzen.references/pra-framework.mdbei der Entscheidung, welche Szenarien generiert werden sollen.references/result-analysis.md, sobald JSON-/CSV-/HTML-Ergebnisse vorliegen.references/guardrails.mdvor dem Schreiben von Dateien, dem Umgang mit Geheimnissen, dem Leeren des Caches, dem Abmelden oder der Fehlerbehebung.
- Projektstruktur erkennen:
- ATK:
.env.local,.env.local.user,env\.env.local.user,m365agents.ymloderappPackage\declarativeAgent.json. - Nicht-ATK: ein Eval-Datensatz plus
M365_AGENT_ID,--m365-agent-idoder eine benannte Umgebungsdatei wie z. B.env\.env.dev.
- ATK:
- Voraussetzungen überprüfen, ohne Werte offenzulegen:
- Node.js 24.12.0 oder neuer.
- Microsoft 365 Copilot-Lizenz und ein bereitgestellter M365 Copilot-Agent.
- Zustimmung des Mandantenadministrators für die WorkIQ-Client-App.
TENANT_ID, Endpunkt/Schlüssel für Azure OpenAI in Foundry Models sowie die empfohlene/standardmäßige Bereitstellung vongpt-4o-mini.
- Wählen Sie den Workflow:
- Kein Datensatz:
„evals\evals.json“erstellen. - Vorhandener Datensatz: Ausführen, vorherige Ergebnisse analysieren oder Änderungen vorschlagen.
- Schnellprüfung: Verwenden Sie Inline-Eingabeaufforderungen.
- Erkundung: Verwenden Sie den interaktiven Modus.
- Kein Datensatz:
Aktueller Datensatz-Vertrag
Generieren Sie Dokumente der Schema-Version 1.2.0 mit einem Array von Stammelementen. Generieren Sie nicht das alte „PromptsObject“- oder „Root-Prompts“-Format.
Mindestform:
{
"schemaVersion": "1.2.0",
"metadata": {
"name": "Agent evaluation suite",
"tags": ["starter"]
},
"default_evaluators": {
"Relevance": {},
"Coherence": {}
},
"items": [
{
"prompt": "Wobei kann mir dieser Agent helfen?",
"expected_response": "Der Agent erläutert seinen unterstützten Funktionsumfang, ohne nicht unterstützte Fähigkeiten zu erfinden."
}
]
}
Verwenden Sie „references\prompts-schema.json“ als lokale Schemaquelle und „references\eval-templates.md“ für kopierbare Beispiele für Single-Turn-, Multi-Turn-, Evaluator- und Schwellenwert-Szenarien.
Öffentliche Evaluator-Namen
Bei Evaluator-Namen wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie ausschließlich die öffentlichen, konfigurierbaren Evaluator-Namen, sofern keine neuere, maßgebliche Quelle etwas anderes belegt.
| Evaluator | Semantik |
|---|---|
Relevanz |
LLM-Bewertung von 1 bis 5; Standardschwellenwert 3. |
Kohärenz |
LLM-Wert von 1 bis 5; Standardschwellenwert 3. |
Fundiertheit |
LLM-Wert von 1 bis 5 im Vergleich zum Kontext/zu den erwarteten Belegen; Standardschwellenwert 3. |
Ähnlichkeit |
LLM-Wert von 1–5 im Vergleich zur erwarteten Antwort; Standardschwellenwert 3. |
Zitate |
Zählbasierte Zitationsprüfung; Standardschwellenwert 1. |
ExactMatch |
Boolesche exakte Zeichenfolgenübereinstimmung. |
PartialMatch |
Zeichenfolgenähnlichkeit von 0,0 bis 1,0; Standardschwellenwert 0,5. |
Behandeln Sie „ToolCallAccuracy“ bei der Erstellung als veraltet/privat. Fügen Sie es nicht zu generierten Datensätzen hinzu, es sei denn, die aktuelle öffentliche CLI-/Schema-Dokumentation führt es ausdrücklich wieder ein.
Häufige Befehle
# Versions- und Hilfsprüfungen
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help
# Ersteinrichtung / EULA
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only
# Stapelverarbeitung mit expliziter JSON-Ausgabe
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json
# Für die manuelle Überprüfung geeignetes HTML oder tabellenkalkulationsfreundliches 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
# Schnellprüfungen
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts „Wobei kannst du mir helfen?“ --expected „Der Agent beschreibt seinen unterstützten Umfang.“
# Nicht-ATK- oder benannte Umgebung
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id --env dev
Verwende `--concurrency` nur mit Werten zwischen 1 und 5. Beginne mit 1 zum Debuggen und erhöhe den Wert erst, wenn die Konfiguration stabil läuft.
Versions- und PATH-Sicherheit
Bevor Sie das Verhalten des Agenten diagnostizieren, überprüfen Sie, welche ausführbare Datei ausgeführt wird:
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
Wenn der Befehl „runevals“ ohne weitere Angaben die Meldung „Diese Version der M365 Evals CLI funktioniert nicht mehr und muss aktualisiert werden“ ausgibt, behandeln Sie dies als veraltete PATH-/globale Installation. Führen Sie den Befehl erneut mit dem oben genannten Befehl „npx --package ...@latest“ aus und bestätigen Sie anschließend, bevor Sie globale Shims mit „npm uninstall -g @microsoft/m365-copilot-eval“ entfernen.
Dateikonventionen
| Pfad | Zweck |
|---|---|
.env.local |
Nicht vertrauliche ATK-Konfiguration wie z. B. M365_TITLE_ID. |
.env.local.user oder env\.env.local.user |
Lokale vertrauliche Daten wie Mandanten-ID und Azure OpenAI-Schlüssel. |
env\.env. |
Benannte Umgebungskonfiguration für Nicht-ATK- oder explizite --env -Workflows. |
evals\evals.json |
Quellcodeverwalteter Eval-Datensatz, falls der Benutzer ihn festschreiben möchte. |
.evals\ |
Lokale Ausgabedaten; werden in der Regel von Git ignoriert. |
Geben Sie niemals Geheimnisse, Eingabeaufforderungen mit sensiblen Daten, abgerufene Inhalte, Debug-Protokolle oder Rohdatendateien aus und committen Sie diese auch nicht, es sei denn, der Benutzer fordert dies ausdrücklich an und bestätigt, dass die Daten sicher weitergegeben werden können.
Leitfaden zur Generierung
Verwenden Sie PRA als Rahmenwerk für das Szenario-Design:
- Wahrnehmung: Abruf, Verankerung und Quellenabdeckung.
- Argumentieren: Einhaltung von Anweisungen, Synthese, Umgang mit Mehrdeutigkeiten und Ablehnungsverhalten.
- Handeln: Deklarierte Fähigkeiten/Handlungsverhalten. Bewerten Sie mit öffentlichen Bewertungsmetriken wie
Relevanz,Kohärenz,Ähnlichkeit,ExactMatchoderPartialMatch; verwenden Sie nichtdieveralteteMetrik „ToolCallAccuracy“.
Fragen Sie nach, bevor Sie einen bestehenden Datensatz überschreiben. Schreiben Sie generierte Bewertungsdaten zunächst in eine temporäre Datei und benennen Sie diese bei Erfolg um.
Leitfaden zur Ergebnisanalyse
Analysiere nur vorhandene Bewertungsschlüssel. Fehlende Bewertungsschlüssel bedeuten in der Regel, dass der Bewerter für diesen Eintrag nicht konfiguriert war, nicht dass er versagt hat.
Verwenden Sie die aktuellen Bewertungsschlüssel, sofern vorhanden: Relevanz, Kohärenz, Fundiertheit, Ähnlichkeit, Zitate, „exactMatch“ und „partialMatch“. Gruppieren Sie Fehler nach wahrscheinlichen Ursachen: Problem mit der Anweisung, Problem mit der Fundiertheit, Problem mit den Zitaten, Abweichung von der erwarteten Antwort, Kompetenzlücke, Problem mit der Authentifizierung/Umgebung oder Problem mit der Bewertungsqualität.
Führen Sie keine echten mandantenabhängigen Bewertungen durch, es sei denn, der Benutzer hat die erforderliche Mandanten-, Agenten- und Azure OpenAI-Konfiguration bereitgestellt oder genehmigt.
---
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.
Alle Dateien
17 Dateienm365-agent-evaluator installieren
Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
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
Kopieren





Heim
