m365-agent-evaluator
microsoft/skills
Crea, ejecuta y analiza conjuntos de pruebas para los agentes declarativos de Microsoft 365 Copilot mediante la CLI @microsoft/m365-copilot-eval.
...Expandir todoEvaluador de agentes de M365
Utiliza esta habilidad para ayudar a los usuarios a evaluar los agentes declarativos de Microsoft 365 Copilot con @microsoft/m365-copilot-eval. La habilidad diseña conjuntos de datos de evaluación compatibles con el esquema, ejecuta la CLI de la versión preliminar pública, analiza los resultados y recomienda soluciones específicas.
Por defecto, se utiliza el kit de herramientas de agentes de Microsoft 365 (ATK) cuando se detecta, pero no se detiene de forma forzada únicamente porque el directorio actual no sea ATK. La CLI también puede evaluar agentes desplegados con un M365_AGENT_ID explícito o mediante --m365-agent-id.
Utiliza siempre esta invocación de la CLI
npx -y --package @microsoft/m365-copilot-eval@latest runevals
No se recomienda el antiguo instalador privado aka.ms, las instalaciones globales, el comando «runevals» sin parámetros, «npx runevals» sin parámetros, «--input» ni «--html».
Flujo de trabajo de activación
- Identifica el objetivo del usuario: configuración, creación de conjuntos de datos, ejecución de evaluaciones, análisis de resultados o actualización de un conjunto de evaluaciones existente.
- Carga solo la referencia necesaria para el objetivo actual:
references/workflow.mdpara el flujo de trabajo completo del operador y los comandos de la CLI.references/azure-setup.mdpara los requisitos previos, los archivos de entorno y la gestión de secretos.references/eval-templates.mdal crear o editar conjuntos de datos de evaluación.references/pra-framework.mda la hora de decidir qué escenarios generar.references/result-analysis.mduna vez que existan resultados en formato JSON, CSV o HTML.references/guardrails.mdantes de escribir archivos, gestionar secretos, borrar la caché, cerrar sesión o solucionar problemas.
- Detectar la estructura del proyecto:
- ATK:
.env.local,.env.local.user,env\.env.local.user,m365agents.ymloappPackage\declarativeAgent.json. - No ATK: un conjunto de datos de evaluación más
M365_AGENT_ID,--m365-agent-ido un archivo de entorno con nombre, comoenv\.env.dev.
- ATK:
- Verificar los requisitos previos sin revelar valores:
- Node.js 24.12.0 o posterior.
- Licencia de Microsoft 365 Copilot y un agente de M365 Copilot implementado.
- Consentimiento del administrador del inquilino para la aplicación WorkIQ Client.
TENANT_ID, el punto de conexión y la clave de Azure OpenAI en Foundry Models, y la implementación recomendada o predeterminada degpt-4o-mini.
- Elige el flujo de trabajo:
- Sin conjunto de datos: crea
evals\evals.json. - Conjunto de datos existente: ejecutar, analizar resultados anteriores o proponer cambios.
- Comprobación rápida: utiliza indicaciones en línea.
- Exploración: utiliza el modo interactivo.
- Sin conjunto de datos: crea
Contrato del conjunto de datos actual
Genera documentos del esquema versión 1.2.0 con una matriz de elementos raíz. No generes el antiguo formato PromptsObject ni el de indicaciones raíz.
Estructura mínima:
{
"schemaVersion": "1.2.0",
"metadata": {
"name": "Conjunto de evaluación de agentes",
"tags": ["starter"]
},
"default_evaluators": {
"Relevance": {},
"Coherence": {}
},
"items": [
{
"prompt": "¿En qué me puede ayudar este agente?",
"expected_response": "El agente explica el alcance de sus funciones sin inventar capacidades que no ofrece."
}
]
}
Utiliza references\prompts-schema.json como fuente del esquema local y references\eval-templates.md para obtener ejemplos copiables de interacciones de un solo turno, de varios turnos, de evaluadores y de umbrales.
Nombres públicos de evaluadores
Los nombres de los evaluadores distinguen entre mayúsculas y minúsculas. Utiliza únicamente los nombres de evaluadores configurables públicos, a menos que una fuente fidedigna más reciente demuestre lo contrario.
| Evaluador | Semántica |
|---|---|
Relevancia |
Puntuación LLM del 1 al 5; umbral predeterminado: 3. |
Coherencia |
Puntuación LLM del 1 al 5; umbral predeterminado: 3. |
Fundamentación |
Puntuación LLM del 1 al 5 en relación con el contexto o las pruebas esperadas; umbral predeterminado: 3. |
Similitud |
Puntuación LLM del 1 al 5 en relación con la respuesta esperada; umbral predeterminado: 3. |
Citas |
Comprobación de citas basada en el recuento; umbral por defecto: 1. |
Coincidencia exacta |
Coincidencia booleana exacta de la cadena. |
PartialMatch |
Similitud de cadenas entre 0,0 y 1,0; umbral predeterminado: 0,5. |
Tratar ToolCallAccuracy como heredado/privado para la creación de contenido. No añadirlo a los conjuntos de datos generados a menos que la documentación pública actual de la CLI o del esquema lo reintroduzca explícitamente.
Comandos comunes
# Comprobaciones de versión/ayuda
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help
# Configuración inicial / EULA
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only
# Ejecución por lotes con salida JSON explícita
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json
# HTML para revisión humana o CSV compatible con hojas de cálculo
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
# Comprobaciones rápidas
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts «¿En qué me puedes ayudar?» --expected «El agente describe el ámbito en el que presta apoyo.»
# Entorno que no sea ATK o con nombre
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id --env dev
Utiliza --concurrency solo con valores entre 1 y 5. Empieza con 1 para la depuración y aumenta el valor solo cuando la configuración sea estable.
Seguridad de la versión y de la ruta PATH
Antes de diagnosticar el comportamiento del agente, comprueba qué ejecutable se está ejecutando:
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 donde runevals
Si al ejecutar «runevals» sin más parámetros aparece el mensaje «Esta versión de la CLI de M365 Evals ha dejado de funcionar y debe actualizarse», considéralo una instalación obsoleta en la ruta de acceso global (PATH) o global. Vuelve a ejecutarlo con el comando npx --package ...@latest anterior y, a continuación, confirma antes de eliminar los shims globales con npm uninstall -g @microsoft/m365-copilot-eval.
Convenciones de archivos
| Ruta | Finalidad |
|---|---|
.env.local |
Configuración de ATK no confidencial, como M365_TITLE_ID. |
.env.local.user o env\.env.local.user |
Datos confidenciales locales, como el ID de inquilino y la clave de Azure OpenAI. |
env\.env. |
Configuración de entorno con nombre para flujos de trabajo que no sean de ATK o con la opción explícita --env. |
evals\evals.json |
Conjunto de datos de evaluación bajo control de código fuente, si el usuario desea que se incorpore al repositorio. |
.evals\ |
Resultados de ejecuciones locales; normalmente se ignoran en Git. |
Nunca se deben mostrar ni enviar a control de versiones secretos, mensajes de solicitud que contengan datos confidenciales, contenido recuperado, registros de depuración ni archivos de resultados sin procesar, a menos que el usuario lo solicite explícitamente y confirme que los datos pueden compartirse de forma segura.
Orientaciones para la generación
Utilizar PRA como marco de diseño de escenarios:
- Percepción: recuperación, fundamentación y cobertura de fuentes.
- Razonar: cumplimiento de instrucciones, síntesis, gestión de ambigüedades y comportamiento ante el rechazo.
- Actuación: capacidad declarada/comportamiento de acción. Puntúa con evaluadores públicos como
Relevance,Coherence,Similarity,ExactMatchoPartialMatch; no utiliceselantiguoToolCallAccuracy.
Pregunta antes de sobrescribir un conjunto de datos existente. Al escribir las evaluaciones generadas, guárdalas primero en un archivo temporal y cámbiale el nombre si la operación se realiza con éxito.
Orientaciones para el análisis de resultados
Analiza únicamente las claves de los evaluadores que estén presentes. La ausencia de claves de puntuación suele significar que el evaluador no estaba configurado para ese elemento, no que haya fallado.
Utilice las claves de puntuación actuales cuando estén presentes: relevancia, coherencia, fundamentación, similitud, citas, coincidencia exacta y coincidencia parcial. Agrupe los fallos según sus posibles causas principales: problema con las instrucciones, problema de fundamentación, problema con las citas, discrepancia con la respuesta esperada, falta de capacidad, problema de autenticación o entorno, o problema de calidad de la evaluación.
No ejecute evaluaciones reales dependientes del inquilino a menos que el usuario haya proporcionado o aprobado la configuración necesaria del inquilino, el agente y Azure OpenAI.
---
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.
Todos los archivos
17 archivosInstalar m365-agent-evaluator
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
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
Copiar





Hogar
