To evaluate an enterprise AI agent, measure both the decisions it makes along the way and the outcome it achieves for the user. A reliable evaluation keeps the full trace, checks planning, tool use, permissions, handoffs, state, and final-task quality separately, then combines those signals into a release or monitoring decision. A successful final answer does not prove that the agent used the right tool, respected the user's permissions, or followed the required workflow.
For enterprise teams, the evaluation record should connect each result to the system version, reviewer or owner, release decision, and production follow-up. Regulated use adds requirements around oversight, traceability, and retention, but the operating problem is broader: keeping quality consistent across teams, environments, models, and releases.
The final answer is only one part of an agent evaluation
An agent evaluation asks whether the system did the right work, in the right order, within the right boundaries, and produced an acceptable result.
An agent can fail while producing a plausible answer. It can choose the wrong tool or pass an invalid argument, skip a required verification step, reveal information without permission, hand off to the wrong specialist, lose important state, recover poorly from a tool error, or complete intermediate steps while missing the user's actual goal.
The evaluation should preserve evidence for each step, not just the final response. A useful trace includes the user input, agent decisions, tool calls and arguments, tool results, handoffs, retrieved context where relevant, state changes, errors, timing, cost signals, and final output. Galtea's tracing documentation describes capturing tool calls, retrieval operations, model invocations, inputs, outputs, timing, errors, and parent-child relationships.
Start with the task contract
Before choosing metrics, write down what the agent is supposed to do and what it must not do. This contract is the reference against which each trace is evaluated.
For an enterprise customer-support agent that can look up an order and start a return, the contract might say:
- The agent can identify an order from information the customer provides.
- It must verify the customer's authority before exposing order details.
- It may start a return only when the return policy and eligibility checks pass.
- It must not approve an exception that requires human review.
- It must explain the next step when a tool fails or the request is out of scope.
The contract should separate capabilities, inabilities, and policies. Galtea's specification-driven evaluation workflow uses those categories to turn behavioral expectations into metrics and datasets. The important design choice is independent of the platform: state the expected behavior before looking at a score.
For each requirement, define the scenario, expected behavior, evidence, evaluator, and decision that follows a failure. This turns “the agent should be reliable” into a testable statement such as “the agent must verify account ownership before calling get_order_details.” For a high-stakes workflow, keep the requirement, scenario, trace, evaluation result, reviewer decision, and release action connected.
Evaluate the dimensions that can fail independently
Use the dimensions that apply to the architecture, and keep their results separate until the team understands how they interact.
These dimensions should not treat every failure as equal. A wrong greeting and an unauthorized payment are both failures, but they should not have the same release threshold. Set severity and thresholds according to the consequences of the behavior.
Task understanding must be checked before execution
Evaluate whether the agent identified the user's intent, entities, constraints, and desired outcome before judging downstream steps. Check whether it distinguished a question from an action, preserved dates and identifiers, asked for clarification under genuine ambiguity, and recognized requests outside the product's scope.
Planning should be evaluated against required behavior
There is often more than one valid way to complete a task. Evaluate invariants rather than one ideal path: required checks happened before protected actions, the agent stayed within tool scope, dependencies were satisfied, the workflow stopped or escalated when a blocking condition appeared, and the final result was supported by available evidence.
Tool calls need structural and semantic checks
A valid JSON payload is not necessarily a safe or correct tool call. Test structural validity, then test whether the tool was appropriate, the arguments referred to the right entity and scope, and the call was allowed in the current state. A call such as get_order_details(order_id="1842") can be structurally valid and still be wrong if authority was not established.
Tool errors reveal the recovery path
Include timeouts, empty results, malformed responses, permission failures, and conflicting data. Check whether the agent recognized incomplete results, avoided inventing success, retried only when appropriate, used a permitted fallback, and explained the limitation or escalated.
Permissions and safety require negative tests
Add cases for access to another person's data, attempts to bypass approval, tool output that conflicts with policy, actions outside the user's role, prompt injection in retrieved content, and requests that require a human decision. Keep policy checks separate from general helpfulness.
Handoffs should be tested as information transfers
Check routing, context and constraint preservation, sensitive-information minimization, output validation, ownership return, and safe recovery. Galtea's multi-agent evaluation page describes evaluating individual agents, handoffs, tool calls, and complete trajectories.
State and memory need scope and freshness checks
Test whether the agent reads only relevant state, distinguishes current from stale information, updates memory only when permitted, avoids unnecessary persistence of secrets, carries required context across turns, and handles missing or conflicting state explicitly.
Final-task quality is the outcome gate
Evaluate correctness, completeness, requested format, grounding in tool or retrieval results, required disclosures, whether the promised action occurred, and whether the agent states what it could not do. Use deterministic checks for structured outcomes and calibrated rubrics or human review for open-ended text.
A worked trace shows where the failure began
Consider a support agent handling this request: “I received this laptop as a gift. Can you return it for me?” The contract says the original purchaser must initiate the return. The gift recipient should receive a safe explanation, but the agent must not expose order details or start the return.
The first causal failure is the missing authority check. The unsafe tool call then exposed data, and the final response compounded the problem by claiming a side effect that did not occur.
The fix is specific: require authorization before get_order_details, enforce permission at the tool or orchestration layer, test sensitive fields in tool results, assert that a return claim requires a recorded mutation, and keep the failed trace in the regression set.
Use different evaluation loops for different decisions
Development checks catch local breakage
Run deterministic checks for tool schemas, allowed tools and models, output formats, permissions, required handoffs, side-effect recording, timeouts, and retry limits. These checks filter obvious failures before expensive model-based evaluation.
Pre-release evaluations test scenarios and risk
Before releasing a prompt, model, tool, policy, retrieval, or orchestration change, run a versioned suite covering successful tasks, known failures, ambiguity, tool errors, privacy violations, prompt injection, multilingual cases, handoffs, state recovery, and irreversible actions. Compare the same scenarios across versions, and preserve case-level failures rather than only an aggregate score.
Galtea's AI evaluation platform describes generating datasets, defining custom metrics and thresholds, comparing versions, combining automated evaluation with human review, and running checks in CI/CD.
Production monitoring finds new failures
Offline tests cover known scenarios. Production monitoring reveals new inputs, changed tool behavior, provider changes, and unexpected combinations of state. Retain enough trace evidence to investigate task type, workflow version, tool calls and results, handoffs, state changes, outcome, evaluator results, latency, retries, and cost.
Galtea's production monitoring documentation describes logging real interactions, attaching them to sessions, evaluating them, and using Monitors to score closed production sessions automatically. When monitoring finds a failure, inspect the first incorrect decision, classify it, fix the responsible layer, add a privacy-safe reproduction, and rerun the version comparison.
Metrics should produce a next action
Avoid one opaque “agent quality” number. Track task success, required-step compliance, valid tool calls, correct-tool selection, argument accuracy, unauthorized actions, unsupported claims, handoff and context preservation, state errors, human-review agreement, latency, retries, and cost per completed task.
A low valid-tool-call rate points to schema handling or argument construction. A high valid-tool-call rate with low correct-tool selection points to planning or routing. Good task success with unauthorized actions indicates a safety failure hidden by the outcome score. Stable quality with rising retries and latency indicates an efficiency regression.
Use deterministic checks where the requirement is deterministic, model-based evaluation for semantic judgments, and human review when the requirement depends on domain expertise or a high-consequence decision. Galtea's human evaluation workflow describes routing evaluations to reviewers for manual scoring.
Calibrate judges against reviewed traces
An LLM judge is a measurement proxy, not ground truth. Sample successful, borderline, and failed traces. Ask domain reviewers for pass or fail decisions and short reasons. Write the rubric around the distinctions reviewers actually use, compare false passes and false failures, keep a held-out sample, and route high-risk disagreements to human review.
Ask the judge to return the failed dimension, relevant trace step, expected behavior, observed behavior, and reason for the verdict. Do the arithmetic outside the judge. A diagnosed failure is more useful than an unexplained score.
An evaluation framework is useful when it changes a release decision
For each requirement, the team should be able to answer: what behavior was expected, what evidence was inspected, which version and scenario produced the result, whether the agent passed or failed, how severe the failure was, whether the release proceeds, and what will be tested or monitored next.
A good framework keeps the full trace, separates failure surfaces, and connects every meaningful failure to a fix or an explicit risk decision. That is the difference between testing whether an agent can produce a convincing answer and evaluating whether it can be trusted to perform the work.
Frequently asked questions
What is the most important metric for an AI agent?
Start with task success, then add the step-level metrics needed to explain failure. For a tool-using or high-stakes agent, task success alone is not sufficient because an unauthorized action can be hidden by a successful final response.
Should I evaluate the plan or only the final answer?
Evaluate both when the plan affects safety, cost, latency, permissions, or reliability. A final answer evaluator cannot reliably detect a skipped verification step or incorrect tool argument unless the trace includes that evidence.
How do I evaluate an agent that does not expose internal reasoning?
You do not need hidden chain-of-thought. Inspect observable events such as tool calls, arguments, tool results, handoffs, state changes, policy decisions, timing, and the final outcome.
Can an evaluator block an unsafe action before it happens?
An evaluator that runs after the trace is produced detects and monitors. A control that must prevent an action belongs in the synchronous authorization, tool, or orchestration path. Evaluate that control separately.
How does Galtea support AI agent evaluation?
Galtea's public materials describe evaluating individual agent steps, handoffs, tool calls, and complete trajectories, then comparing versions before release and monitoring real workflows after deployment. The right setup depends on the agent architecture, the evidence it can expose, and the team's risk requirements.