Back to all posts
    AI Agent Evaluation: How to Test Agent Skills

    AI Agent Evaluation: How to Test Agent Skills

    A practical guide to cases, controls, graders and release gates

    August 18, 2026
    8 min read
    60 views
    by Iwo Szapar

    AI agent evaluation checks whether an agent can complete one specific job reliably and safely before normal use. To evaluate agent skills, start with real tasks, test the decisions and side effects that matter, and use a release gate that matches the risk. A polished answer from one run is useful evidence, but it is not enough to trust an agent with customer messages, data changes, or money.

    TL;DR: Begin with 8 to 12 cases from real work. Compare the intended agent setup with a no-skill baseline. Use code to check facts such as files, recipients, permissions, and tool arguments. Use a calibrated judge only for the parts that need human judgment. Block release when a critical boundary is crossed.

    DecisionWhat to testEvidence to keep
    Should the agent act?Positive, negative, paraphrase and collision casesSelection, abstention and false-activation rate
    Did it complete the job?Required facts, files, tool calls and final stateAssertions and output artifacts
    Did it take a safe path?Permissions, approvals, retries and side effectsTool trace and boundary violations
    Can a team rely on it?Repeated runs, cost and latencyPass rate, cost per success and p95 latency

    The useful question is simple: can this agent do this job under the conditions it will actually face? The Agent Skill Evals Manual contains a copyable version of the process below.

    An AI agent evaluation should support a release decision

    Every evaluation starts with a decision. Name the job, the person affected by a bad result, the evidence required for a release, and the boundary that ends the run. That prevents a team from collecting generic prompts that never settle an argument.

    An agent that drafts a reply to a customer request needs more than fluent prose. It may need to identify the right customer, cite approved source material, create a draft in the correct thread, and stop before sending. Each requirement needs its own check.

    This is where the YC Paper Club discussion on self-improving agent systems is useful. More tools and context can make an agent more capable. Evaluation tells a team whether those additions improve the work or add a new failure path.

    Build an agent evaluation framework from real work

    Start with the cases that have a visible cost when they go wrong. For each important decision, include an obvious positive, a paraphrase, a hard negative, and a collision where another workflow looks plausible. Add failure injection when the agent can call a tool or change state.

    CaseWhat it provesExample
    PositiveThe correct workflow activatesA request that directly matches the documented job
    ParaphraseNormal wording variation does not break routingThe same request expressed with different vocabulary
    Hard negativeThe workflow stays out of unrelated workA similar request that belongs to another owner
    CollisionCompeting instructions are resolved wellTwo agent skills could apply, but one should lead
    Failure injectionThe agent recovers without crossing a boundaryA missing file, denied permission, timeout, or invalid payload

    Keep a release set separate from examples used to tune the instructions or judge. A case can still find regressions after it has informed implementation, but it no longer tells you much about new work.

    Run the same important task with the intended setup, with no skill, and with a plausible but wrong skill when that control is available. Compare outcome, tool path, cost, latency, and critical violations. The SWE-Skills-Bench paper is a useful reminder that extra instructions can help some tasks and hurt others. Paired controls make the effect visible in your own environment.

    Test output, trajectory and permissions separately

    The final answer is only one part of the result. For tool-using agents, record the sequence of tool calls, arguments, approvals, retries, and state changes. A correct-looking response can still have a wrong recipient, an unsupported claim, an approval bypass, or an unnecessary destructive action behind it.

    Use code for facts a machine can verify:

    1. A required file exists and validates against its schema.
    2. A recipient belongs to an allowlist and a reply targets the correct human message.
    3. A database change was staged, reviewed, or rejected as required.
    4. The expected tool received the intended arguments.
    5. A forbidden side effect did not happen.

    Then use a semantic grader for the remaining questions, such as factual faithfulness, completeness, or whether the response answered the task. Give the grader a narrow rubric, a reference answer or source material where possible, and an abstain option. Sample its decisions against human labels and inspect the disagreements. Anthropic's guide to agent evals makes the same practical point: make the environment observable and choose the simplest evaluator that can assess the behavior.

    Permissions deserve their own cases. Test denied access, ambiguous authority, prompt injection in retrieved material, retries after a timeout, and requests that mix safe work with an unsafe action. The ToxicSkills analysis offers examples of why third-party instructions and tool access need explicit review.

    AI agent evaluation metrics that help a team decide

    One score rarely describes an agent well. Match the measurement to the release decision.

    If the risk isTrackA useful release question
    Wrong routingPrecision, recall and false activation rateDoes the agent act only when it should?
    Incorrect outputPaired pass rate and assertion failuresDoes it improve the actual work over the baseline?
    Unsafe actionCritical violations and approval bypassesDid any run cross a boundary that blocks release?
    Inconsistent behaviorRepeated-run pass rateDoes it work repeatedly under the same conditions?
    Unusable economicsCost per successful run and p95 latencyCan the team afford this reliability at normal volume?

    For a stochastic task, a single successful result is weak evidence. Repeat representative cases and report the conditions: model, tool versions, fixtures, grader version, and the number of runs. If every one of five runs must pass before a release, calculate and report that standard explicitly. It makes later comparisons possible when the model, tools, or instructions change.

    A worked example: a draft-only customer-reply agent

    Consider an agent that prepares a reply when a customer asks for help. The release decision is narrow: it may create a reviewable draft using approved material. It may not send a message, change customer records, or use an unverified source.

    The initial suite could include a real support request, a paraphrased request, a similar sales inquiry that should route elsewhere, a request with an untrusted link, and a simulated API failure. Deterministic checks confirm the correct thread, source links, draft status, and absence of a send event. A human or calibrated semantic grader checks whether the draft answers the question faithfully.

    That suite is small enough to run before every relevant change. When an incident occurs, investigate it first, then add the missing failure class to the evaluation set. The goal is a useful record of what the agent is allowed to do and how a team knows it did the work well.

    Put the suite in the delivery loop

    Run smoke tests before a small change lands. Run the paired suite before release. Review drift when you change models, tools, permissions, or source material. Production incidents are valuable input once the underlying behavior is understood.

    Durable context helps here because the cases, reference artifacts, decisions, and corrections can stay connected. How teams keep AI-agent memory current explains the shared-memory side of that work. The Codex tutorial shows how instructions, skills, and verification can live in a repository. A Second Brain AI setup can provide the durable files and review loops behind the workflow.

    Frequently asked questions

    What is AI agent evaluation?

    AI agent evaluation checks whether an agent can complete a defined task reliably and safely. It combines realistic cases, outcome checks, side-effect checks, repeated runs, and a release decision that matches the risk.

    How many cases should an agent evaluation include?

    Begin with 8 to 12 precise cases tied to decisions and failures that matter. Add cases when a release, incident, or user trace exposes a missing failure class. A smaller set with clear controls is more useful than a long list of generic prompts.

    Should every AI agent evaluation use an LLM judge?

    No. Use deterministic assertions for files, schemas, recipients, tool arguments, side effects, and approvals. Reserve model judges for semantic questions, then calibrate them against human labels.

    What is the best first metric for an AI agent?

    Use the metric that maps to the release decision. Routing may need precision and recall. A workflow with side effects may require zero critical violations. A variable task may need repeated-run pass rate, cost per success, and a latency budget.

    When can a team release an agent without a full benchmark?

    Release after a risk-appropriate suite shows the required behavior and protects critical boundaries. Low-risk internal helpers can begin with fewer cases. Agents that send messages, change data, handle money, or access secrets need stronger controls before routine use.

    Start with one workflow

    Pick a workflow with a visible failure cost. Write the release decision, create the initial case families, add a no-skill baseline, and make the important facts deterministic. Then use the Agent Skill Evals Manual to extend the suite with trajectory checks, judge calibration, reliability, cost, and security.