m365-agent-evaluator
microsoft/skills
Crie, execute e analise conjuntos de testes para agentes declarativos do Microsoft 365 Copilot usando a CLI @microsoft/m365-copilot-eval.
...Expandir tudoAvaliador de Agentes do M365
Use esta habilidade para ajudar os usuários a avaliar agentes declarativos do Microsoft 365 Copilot com @microsoft/m365-copilot-eval. A habilidade cria conjuntos de dados de avaliação compatíveis com o esquema, executa a CLI da pré-visualização pública, analisa os resultados e recomenda correções específicas.
Por padrão, utiliza projetos do Microsoft 365 Agents Toolkit (ATK) quando detectados, mas não interrompe a execução apenas porque o diretório atual não é do ATK. A CLI também pode avaliar agentes implantados com um M365_AGENT_ID explícito ou com a opção --m365-agent-id.
Sempre use esta invocação da CLI
npx -y --package @microsoft/m365-copilot-eval@latest runevals
Não recomendamos o antigo instalador privado aka.ms, instalações globais, ` runevals` sem parâmetros, `npx runevals` sem parâmetros, `--input` ou `--html`.
Fluxo de trabalho de ativação
- Identifique o objetivo do usuário: configuração, criação de conjuntos de dados, execução de avaliações, análise de resultados ou atualização de um conjunto de avaliações existente.
- Carregue apenas a referência necessária para o objetivo atual:
references/workflow.mdpara o fluxo de trabalho completo do operador e os comandos da CLI.references/azure-setup.mdpara pré-requisitos, arquivos de ambiente e gerenciamento de segredos.references/eval-templates.mdao criar ou editar conjuntos de dados de avaliação.references/pra-framework.mdao decidir quais cenários gerar.references/result-analysis.mdapós a geração dos resultados em JSON/CSV/HTML.references/guardrails.mdantes de gravar arquivos, lidar com segredos, limpar o cache, sair da conta ou solucionar problemas.
- Detectar a estrutura do projeto:
- ATK:
.env.local,.env.local.user,env\.env.local.user,m365agents.ymlouappPackage\declarativeAgent.json. - Não-ATK: um conjunto de dados de avaliação mais
M365_AGENT_ID,--m365-agent-idou um arquivo de ambiente nomeado, comoenv\.env.dev.
- ATK:
- Verificar pré-requisitos sem expor valores:
- Node.js 24.12.0 ou mais recente.
- Licença do Microsoft 365 Copilot e um agente do M365 Copilot implantado.
- Consentimento do administrador do locatário para o aplicativo WorkIQ Client.
TENANT_ID, endpoint/chave do Azure OpenAI no Foundry Models e implantação recomendada/padrãodo gpt-4o-mini.
- Escolha o fluxo de trabalho:
- Sem conjunto de dados: crie o arquivo
evals\evals.json. - Conjunto de dados existente: execute, analise resultados anteriores ou proponha alterações.
- Verificação rápida: use prompts embutidos.
- Exploração: use o modo interativo.
- Sem conjunto de dados: crie o arquivo
Contrato do conjunto de dados atual
Gere documentos do esquema versão 1.2.0 com uma matriz de itens raiz. Não gere o antigo PromptsObject nem o formato de prompts raiz.
Estrutura mínima:
{
"schemaVersion": "1.2.0",
"metadata": {
"name": "Conjunto de avaliação de agentes",
"tags": ["starter"]
},
"default_evaluators": {
"Relevância": {},
"Coerência": {}
},
"items": [
{
"prompt": "Em que este agente pode me ajudar?",
"expected_response": "O agente explica o escopo de suporte sem inventar recursos não suportados."
}
]
}
Use references\prompts-schema.json como fonte do esquema local e references\eval-templates.md para exemplos copiáveis de interações de uma única rodada, múltiplas rodadas, avaliadores e limites.
Nomes públicos de avaliadores
Os nomes dos avaliadores diferenciam maiúsculas de minúsculas. Use apenas os nomes de avaliadores públicos configuráveis, a menos que uma fonte oficial mais recente indique o contrário.
| Avaliador | Semântica |
|---|---|
Relevância |
Pontuação LLM de 1 a 5; limite padrão 3. |
Coerência |
Pontuação LLM de 1 a 5; limite padrão 3. |
Fundamentação |
Pontuação LLM de 1 a 5 em relação ao contexto/evidência esperada; limite padrão 3. |
Semelhança |
Pontuação LLM de 1 a 5 em relação à resposta esperada; limite padrão 3. |
Citações |
Verificação de citações com base no número; limite padrão 1. |
Correspondência exata |
Correspondência booleana exata de string. |
PartialMatch |
Semelhança de cadeia de caracteres de 0,0 a 1,0; limite padrão 0,5. |
Trate ToolCallAccuracy como legado/privado para criação de conteúdo. Não o adicione aos conjuntos de dados gerados, a menos que a documentação pública atual da CLI/esquema o reintroduza explicitamente.
Comandos comuns
# Verificações de versão/ajuda
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help
# Configuração inicial / EULA
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only
# Execução em lote com saída JSON explícita
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json
# HTML para revisão humana ou CSV compatível com planilhas
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
# Verificações rápidas
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts "Em que você pode me ajudar?" --expected "O agente descreve seu escopo de suporte."
# Ambiente não ATK ou com nome definido
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id --env dev
Use --concurrency apenas com valores entre 1 e 5. Comece com 1 para depuração e aumente somente depois que a configuração estiver estável.
Segurança de versão e PATH
Antes de diagnosticar o comportamento do agente, confirme qual executável está em execução:
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
Se o comando `runevals` sozinho exibir a mensagem “Esta versão da CLI do M365 Evals parou de funcionar e precisa ser atualizada”, considere-a uma instalação obsoleta no PATH ou global. Execute novamente com o comando npx --package ...@latest acima e, em seguida, confirme antes de remover os shims globais com npm uninstall -g @microsoft/m365-copilot-eval.
Convenções de arquivos
| Caminho | Finalidade |
|---|---|
.env.local |
Configuração ATK não confidencial, como M365_TITLE_ID. |
.env.local.user ou env\.env.local.user |
Segredos locais, como ID do locatário e chave do Azure OpenAI. |
env\.env. |
Configuração de ambiente nomeada para fluxos de trabalho que não sejam do ATK ou que utilizem a opção --env explicitamente. |
evals\evals.json |
Conjunto de dados de avaliação sob controle de versão, caso o usuário queira que ele seja submetido. |
.evals\ |
Saídas de execução local; geralmente ignoradas pelo Git. |
Nunca exiba ou faça commit de segredos, prompts contendo dados confidenciais, conteúdo recuperado, logs de depuração ou arquivos de resultados brutos, a menos que o usuário solicite explicitamente e confirme que os dados podem ser compartilhados com segurança.
Orientação para geração
Use o PRA como uma estrutura de projeto de cenários:
- Percepção: recuperação, fundamentação e cobertura da fonte.
- Raciocinar: adesão às instruções, síntese, tratamento de ambiguidades e comportamento de recusa.
- Aja: capacidade declarada/comportamento de ação. Avalie com avaliadores públicos, como
Relevância,Coerência,Similaridade,Correspondência ExataouCorrespondência Parcial; não useo ToolCallAccuracylegado.
Pergunte antes de sobrescrever um conjunto de dados existente. Ao gravar avaliações geradas, grave primeiro em um arquivo temporário e renomeie-o caso seja bem-sucedido.
Orientações para a análise de resultados
Analise apenas as chaves de avaliação que estiverem presentes. A ausência de chaves de pontuação geralmente significa que o avaliador não foi configurado para aquele item, e não que tenha falhado.
Use as chaves de pontuação atuais quando estiverem presentes: relevância, coerência, fundamentação, similaridade, citações, correspondência exata e correspondência parcial. Agrupe as falhas em possíveis causas principais: problema de instrução, problema de fundamentação, problema de citação, incompatibilidade com a resposta esperada, lacuna de capacidade, problema de autenticação/ambiente ou problema de qualidade da avaliação.
Não execute avaliações reais dependentes de locatário, a menos que o usuário tenha fornecido ou aprovado a configuração necessária do locatário, do agente e do 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 os arquivos
17 arquivosInstalar m365-agent-evaluator
Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
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





Lar
