Georgia State University — J. Mack Robinson College of Business PATH — Pathways for AI Training & Hiring CIS 4394 Agentic AI  ·  Fall 2026  ·  Dr. Xinyu Fu
01 · Why demos lie

Evaluating an agent is harder than evaluating a model.

A model produces one output you can grade. An agent produces a path: a dozen decisions, each one able to poison everything downstream, none of them guaranteed to repeat. Before you can pick a metric, you have to understand what makes the measurement hard.

The four difficulties

What breaks the ordinary testing playbook

1 · Non-determinism

Ordinary software is a function: the same input gives the same output, so one passing test is proof. An agent samples from a distribution — same input, different path, sometimes a different answer. A single passing run proves the system can succeed, never that it will.

2 · Multi-step compounding

One wrong step doesn't cost you one step. It poisons every step after it: the agent reasons confidently on top of a bad observation, and the trace still looks coherent. Reliability multiplies down the chain — see the calculator below.

3 · No single right answer

“Summarize this ticket,” “draft a reply,” “research three vendors” have no unique correct string to diff against. Exact-match tests, the cheapest and most trustworthy kind, simply don't apply to most of what agents produce — so you need graders that are themselves fallible.

4 · Stateful and interactive

The agent changes the world as it goes: it writes files, sends messages, books things. You can't rerun step 7 in isolation, and a “correct” final answer reached by an unacceptable route (six needless paid API calls, a policy violation, a lucky guess) is not actually a pass.

Put plainly: unit tests ask “is this output right?” Agent evaluation has to ask “is this output right, how often, and did it get there acceptably?” Three questions, three kinds of measurement — and only the first one looks like software testing.
Interactive · same task, five runs

Run the identical task five times

Below is a fixed, scripted episode of the Week 2 Job Search Agent on one identical input — the same posting, the same prompt, the same tools. Press Run the task five times. Everyone in the class sees the same five outcomes, because the lesson shouldn't depend on your luck.

No runs yet. Press “Run the task” — run #1 is the one you would have demoed.
Read what just happened: nothing was misconfigured and nothing crashed. Runs 3 and 5 failed for reasons that live inside normal agent behavior — an empty tool result treated as an answer, and a loop that burned its step cap on pagination. Both failures returned confident-looking output. That is the failure mode evaluation exists to catch: agents rarely fail loudly.
Interactive · the compounding problem

Per-step reliability is not task reliability

Suppose every single step of your agent is independently reliable at some rate. Drag the number of steps and watch what happens to the probability that the whole task comes out clean. Two agents: one with 95% steps, one with 99% steps.

1 step10 steps20 steps
Agent A — each step 95% reliable
59.9%

Whole-task success = 0.9510

Agent B — each step 99% reliable
90.4%

Whole-task success = 0.9910

Worked example · a 5-step refund agent

Steps aren't all equally reliable. Say: read the ticket 0.99 → look up the order 0.97 → check the refund policy 0.95 → compute the amount 0.98 → issue the refund 0.96.

0.99 x 0.97 x 0.95 x 0.98 x 0.96 = 0.8583 whole-task success ~ 86% failure rate ~ 14% (about 1 in 7)

Every step looks fine in isolation. Nobody on the team would flag a 0.95. The product still fails roughly one refund in seven. (Illustrative per-step numbers — an original teaching example, not measured data.)

The MIS takeaway

Reliability is engineered per step and experienced per task. Two design consequences follow, and both are decisions you own rather than model choices:

Shorten the chain. Fewer steps means fewer multiplications. A deterministic tool or a plain workflow branch that replaces three agent steps buys more reliability than a bigger model usually does.

Verify inside the chain. A check after the fragile step (did the lookup return anything? does the amount match the policy?) stops the poison from propagating. That's the reflection pattern from Week 4 in its most boring, most valuable form.

Interactive · click each field

What you have to log, per step

You cannot evaluate what you did not record. This is the evidence standard from Week 2, and it is the minimum unit of an agent trace: six fields, every step, every run. Click each one for what it buys you.

Vocabulary: the full recording of one run is a trace; each nested unit inside it (one model call, one tool call) is a span, with its own inputs, outputs, tokens, latency, and cost. Observability is the practice of collecting traces from real production runs so you can debug, watch for drift, track spend, and answer an auditor. It is the difference between “the agent did something weird last Tuesday” and a replayable record of exactly what it did.
Watch

Observability and evals, in fifteen minutes

Observability and Evals for AI Agents (LangChain, 14m44s)

Why agent debugging needs traces and spans rather than classic metrics and log lines — and how an eval set gets wired to them. Watch this before page 02.

While you watch — three things to catch

1. What a span contains that an ordinary log line does not, and why nesting matters when one bad observation sits eight steps upstream of the wrong answer.

2. Where the dataset of test cases lives relative to the running agent — the harness anatomy you'll build on page 03: dataset → agent under test → evaluator → report.

3. How an eval turns into a regression test: the same dataset, rerun on every prompt or code change, so “I improved it” becomes a claim with evidence instead of a memory of one good run.

Tooling note: the mechanics are the same whichever platform you use. What transfers is the shape — cases, evaluator, repeat runs, a report you can hand someone.
Two things to grade

Outcome evaluation vs trajectory evaluation

Outcome (final-response) evalTrajectory (path) eval
Question askedIs the final answer right?Did it get there acceptably?
Typical checksExact match, numeric match, required fields present, rubric score on the replyWhich tools were called, in what order, with what arguments; steps used; whether a forbidden action was taken; whether the policy was followed
CatchesPlainly wrong outputRight answer for the wrong reason; wasted or duplicated calls; policy and safety violations; the lucky guess
MissesEverything about how — including a run that got lucky, and one that quietly cost 10× moreA beautiful, policy-perfect path to a wrong answer
Cost of runningCheap — you already have the answerNeeds the full trace stored and a way to assert over it
Also measure · latency

A correct answer that arrives after the customer left is a failure with good manners. Latency belongs in the eval report, not in a separate performance ticket.

Also measure · cost

Tokens and tool calls per run. An agent that is 2 points more accurate and 5× more expensive is a business decision, not an obvious upgrade — and you can only have that conversation with numbers.

Together

Four dimensions — final-response quality, trajectory and tool use, latency, cost (Agents Companion, Google/Kaggle). Right, efficient, and affordable. Reporting only the first is how teams ship something nobody can pay for.

Discussion
Discussion questionYour agent returned the correct final answer on all 20 test cases — but on 6 of them it called the paid enrichment API twice, and on 2 it read a customer record it had no business touching. Your outcome eval says 20/20. What should the report actually say, and what would you have needed to log to say it?
The report should say outcome 20/20, trajectory 12/20 — and treat the trajectory number as the one that governs deployment. Two distinct defects hide behind a perfect outcome score: a cost defect (duplicate paid calls, which scale linearly with volume and will show up as a bill, not as a bug report) and a policy defect (an access violation, which is a compliance incident regardless of whether the answer was right). Neither is visible from the final answer alone.

To assert either one you need the per-step record: selected action + arguments (to detect the duplicate call and the record it read), available actions (to show the agent had a compliant alternative), and state before/after (to prove what it actually touched). That's the six-field evidence standard above — and the reason it is worth the storage. The deeper lesson: an eval set that only grades outputs will happily certify an agent that is expensive and non-compliant.
Concept check

Three questions before you move on

← BackWeek 8 home