본문으로 건너뛰기
cccskills
무료GitHub에 공개

m365-agent-evaluator

Use this skill when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft/m365-copilot-eval CLI. Trigger on intents such as "evaluate my agent", "test my agent", "run my evals", "create eval prompts", "add multi-turn tests", "tune evaluator thresholds", "why is my agent failing", or "set up eval environment variables".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구AzureOpenAI
설치 방법 보기

포함된 파일(17)

  • SKILL.md7.9 KB
  • examples/analyze-failures.md1.5 KB
  • examples/basic-generation.md1.8 KB
  • examples/iterate-on-changes.md1.3 KB
  • examples/missing-instructions.md1.5 KB
  • examples/not-atk-project.md1.4 KB
  • examples/run-and-analyze.md1.6 KB
  • references/azure-setup.md5.8 KB
  • references/eval-templates.md5.1 KB
  • references/guardrails.md4.1 KB
  • references/output-schema.json4.0 KB
  • references/output-schema.md2.6 KB
  • references/pra-framework.md3.2 KB
  • references/prompts-schema.json15.4 KB
  • references/remediation-patterns.md3.6 KB
  • references/result-analysis.md4.4 KB
  • references/workflow.md6.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

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:

{
  "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.

EvaluatorSemantics
RelevanceLLM score from 1-5; default threshold 3.
CoherenceLLM score from 1-5; default threshold 3.
GroundednessLLM score from 1-5 against context/expected evidence; default threshold 3.
SimilarityLLM score from 1-5 against expected_response; default threshold 3.
CitationsCount-based citation check; default threshold 1.
ExactMatchBoolean exact string match.
PartialMatchString 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

# 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:

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

PathPurpose
.env.localNon-secret ATK config such as M365_TITLE_ID.
.env.local.user or env\.env.local.userLocal secrets such as tenant ID and Azure OpenAI key.
env\.env.<environment>Named environment config for non-ATK or explicit --env workflows.
evals\evals.jsonSource-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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming responses. Covers function tools, structured outputs, and multi-tool agents.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

Diagnose Day-2 AKS GPU and KAITO incidents using profile-aware, read-only evidence. WHEN: 'Insufficient nvidia.com/gpu', GPU pod Pending, model-load OOM, DCGM/VRAM, KAITO Workspace not ready, or GPU autoscaling. DO NOT USE FOR: setup (airunway-aks-setup), non-GPU incidents (aks-troubleshooting), standalone VM quota (azure-quotas), or generic cost (cost-analysis or cost-optimization from the optional azure-cost plugin).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

Lookup documented AKS fixes only when the prompt includes an exact catalog signature and all of its qualifiers: VMCannotFitEphemeralOSDisk; NodePoolMcVersionIncompatible; 'NodeImageVersion is not accepted'; AKS SkuNotAvailable with size, location, and zone; ZonalAllocationFailed with insufficient zone capacity; OverconstrainedAllocationRequest with listed constraints; nested AKS vmssCSE/CSE VMExtensionError_OutboundConnFail, VMExtensionError_K8SAPIServerConnFail, or VMExtensionError_K8SAPIServerDNSLookupFail; or AllocationFailed with the full cataloged internal-error or insufficient-regional-capacity message. Never use for quota errors, code-only or bare wrappers, generic symptoms, incomplete signatures, or failures outside AKS; use aks-troubleshooting or azure-diagnostics.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

Collects bounded packet captures from AKS nodes and Azure network configuration for wire-level evidence. WHEN: "capture packets on an AKS node", "take a pcap", "run tcpdump on AKS", "prove where packets drop". Use for explicit packet-capture intent after read-only diagnostics, not general AKS connectivity or ingress troubleshooting.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

Debug live Azure Kubernetes Service (AKS) incidents with a read-only, evidence-first investigation. WHEN: pod crashes or Pending, CrashLoopBackOff, OOMKilled, ImagePullBackOff, node NotReady, DNS or ingress failure, connectivity timeout, network policy, SNAT exhaustion, node-pool scaling blocked by QuotaExceeded or InsufficientVCPUQuota, upgrade stuck, spot or zone disruption, a bare VMExtensionProvisioningError or AllocationFailed wrapper, an uncataloged capacity symptom, or 'investigate my AKS cluster'. DO NOT USE FOR: packet capture (use aks-network-capture); GPU or model-serving issues (use aks-gpu-inference); cluster creation or provisioning (use azure-kubernetes); cost (use cost-analysis from the optional azure-cost plugin); pod rightsizing (use azure-kubernetes); a fully qualified documented AKS signature with every required nested qualifier (use aks-known-issues); standalone failures on non-AKS Azure resources (use azure-diagnostics). Unqualified errors and open-ended incidents stay here only for AKS.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

microsoft/skills3.1천2026년 10월 18일 업데이트

microsoft의 스킬 모두 보기

이 스킬의 문제 신고