After studying this material, students should be able to:
Imagine you built an AI assistant that can call external tools like:
How do you test if it works correctly?
Traditionally, you would:
Manual Approach:
Human expert → writes test scenarios → runs tests → evaluates results
| Problem | Explanation |
|---|---|
| Expertise Required | You need deep domain knowledge for every tool |
| Doesn't Scale | Thousands of tools exist across ecosystems |
| Static Benchmarks | APIs change; tests become outdated quickly |
| Expensive | Human curation is slow and costly |
Key Insight: We need a way to automatically generate realistic test scenarios
A tool specification is a structured description of what a tool does. Think of it like a job description for a function.
Example Tool Specification:
{
"name": "get_weather",
"description": "Retrieves current weather for a given location",
"parameters": {
"city": {
"type": "string",
"description": "Name of the city"
},
"units": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "Temperature unit"
}
}
}
Tool Specification Contains:
├── Function Name → WHAT the tool does
├── Natural Language Description → HOW it should be used
└── Parameter Schema → WHAT inputs it expects
Agent Seer's Core Insight:
This information is sufficient to synthesize realistic test scenarios — without running the tool, without examples, and without domain experts
Model Context Protocol (MCP) is a standardized format for describing tools that AI agents can use.
Think of it like:
MCP : AI Tools = USB Standard : Electronic Devices
Just as USB standardizes how devices connect, MCP standardizes how tools are described to AI agents.
INPUT: Single MCP Specification
↓
[Step 1] Schema Enrichment
↓
[Step 2] Scenario Generation
↓
[Step 3] Multi-Turn Dialogue Expansion
↓
OUTPUT: Realistic Evaluation Scenarios
What happens: Raw schemas are enhanced with additional semantic context
Why it's needed:
Raw Schema: → Enriched Schema:
"city: string" "city: string (e.g., 'London',
'New York') — required for
location-based queries"
The enrichment fills in implicit knowledge that humans understand but machines need explicitly stated.
What happens: The system creates test scenarios at different difficulty levels
Graded means:
| Grade | Description | Example |
|---|---|---|
| Simple | Single tool call | "What's the weather in Paris?" |
| Medium | Multiple tools, one turn | "Weather in Paris and book a hotel" |
| Complex | Tools depend on each other | "Find flights, then check weather at destination" |
Synthetic Tool Outputs are fake but realistic responses:
Real tool output: {"temp": 22, "condition": "sunny"}
Synthetic output: {"temp": 19, "condition": "cloudy"} ← Generated, not real
This allows testing without actually calling live APIs.
What happens: Single scenarios expand into realistic conversations
Why multi-turn matters:
Turn 1: User: "What's the weather in Rome?"
Turn 2: Agent: [calls weather tool] "It's 24°C and sunny"
Turn 3: User: "Should I bring an umbrella tomorrow?"
Turn 4: Agent: [calls forecast tool] "No rain expected"
Turn 5: User: "Great, book me a restaurant with outdoor seating"
Turn 6: Agent: [calls restaurant tool] ...
This tests whether the agent:
Evaluation Quality
├── Tool-Calling Correctness
│ ├── Correct tool selected? (name match)
│ └── Correct arguments passed? (argument accuracy)
└── Conversational Coherence
└── Does the dialogue flow naturally?
Coarse-grained metric (name match):
Expected: get_weather(city="Rome", units="celsius")
Actual: get_weather(city="Roma", units="fahrenheit")
Name Match Score: ✅ PASS (correct tool name)
Reality: ❌ FAIL (wrong arguments)
Critical Finding: Argument value accuracy is the dominant failure mode — but it's invisible to simple name-matching metrics
This is like grading a math test only on whether students wrote the right formula, ignoring whether they calculated the right answer.
Agent Seer was tested on 7 different tool specifications across diverse domains with varying numbers of tools.
Quality Variation Explained By:
Parameter Schema Complexity ████████████████ (STRONGEST factor)
Tool-Suite Size ████ (smaller, separate factor)
What this means:
Analogy: Teaching someone to use 20 simple tools is easier than teaching them to use 5 tools with complicated settings.
Small Specs: ✅ All tools covered
Medium Specs: ✅ All tools covered
Large Specs: ⚠️ Some gaps appear
PORTool addresses a related problem:
Problem: When an agent uses multiple tools to solve a task,
which step caused success or failure?
Solution: Importance-aware rewards that credit individual
tool-use decisions, not just final outcomes
Reinforced Agent addresses another gap:
Problem: Current evaluation happens AFTER execution
(post-hoc) — errors found too late
Solution: Real-time feedback DURING tool-calling execution
Agent Seer → Generates test scenarios automatically
PORTool → Trains agents better using those scenarios
Reinforced → Evaluates agents in real-time during execution
Agent
THE BIG PICTURE:
PROBLEM: Testing AI tool-using agents is expensive and doesn't scale
INSIGHT: Tool specifications already contain enough information
to generate tests automatically
SOLUTION (Agent Seer):
Input: MCP Specification (just the description)
Pipeline:
1. Enrich schemas with semantic context
2. Generate graded scenarios + fake-but-realistic outputs
3. Expand into multi-turn conversations
Output: Realistic evaluation scenarios
KEY FINDINGS:
✦ Parameter complexity = biggest quality predictor
✦ Tool count = secondary factor
✦ Argument accuracy = hardest to get right
✦ Name-match metrics alone are insufficient