Skip to main content

Evaluations

Evaluations require Solo or higher.
An evaluation is a saved test case with an expected result. You define what should happen, run the eval, and check whether your app still behaves correctly. When you make changes, run your eval suite to catch regressions before they reach users.
Evaluations dashboard with test cases and pass rates

The Evaluations dashboard showing a suite of test cases

What an Eval Case Contains

Creating an Eval Case

1

Define a test input

Write a prompt or tool invocation that represents the scenario you want to test. Be specific; vague prompts give inconsistent results.Example:
Show me all high-urgency support tickets from the last 24 hours.
Eval case creation form with test input field

Entering a test input for a new eval case

2

Set which tool should be called

Select the tool that this input should trigger. This is the core assertion: if ChatGPT picks a different tool, the eval fails.
Tool selector dropdown in eval case form

Selecting the expected tool

3

Define expected parameters and output

Specify what parameters should be passed to the tool and what the output should look like.Example:
  • Expected parameter: urgency = "high", time_range = "24h"
  • Expected output: A list of tickets with subject, sender, and urgency fields populated.
You can set exact matches for critical fields and leave others flexible.
4

Tag the case

Apply tags to organize your eval suite. Tags make it easy to run subsets of cases.Common tags:
  • core-flow: essential user journeys that must always work
  • edge-case: unusual inputs that test boundaries
  • negative: prompts that should NOT trigger any tool
  • regression: cases added after a bug was found
Tag input field on eval case form

Tagging an eval case for organization

Running Evaluations

1

Select cases to run

In the Evaluations dashboard, select the cases you want to include. You can select all, filter by tag, or pick individual cases.
Eval dashboard with cases selected via checkboxes

Selecting eval cases to run

2

Execute the eval run

Click Run Evaluations. Chippy executes each case against your current app and records the results.
Progress bar showing eval run execution

An eval run in progress

3

Review pass rates and failures

The results view shows your overall pass rate and highlights failures. Click on any failed case to see what went wrong: which tool was called, what parameters were passed, and how the output differed from the expected result.
Eval results showing pass rate and failed cases

Eval run results with pass/fail breakdown

4

Fix issues and rerun

For each failure:
  1. Open the failed case details.
  2. Identify whether the issue is in tool descriptions, parameter handling, or tool logic.
  3. Fix the problem in the builder.
  4. Rerun the failed cases to confirm the fix.
Failed eval case showing expected vs actual output

A failed eval case with comparison view

Types of Eval Cases

Build a balanced eval suite by including all three types.

Direct Cases

The input clearly maps to a specific tool. These are your “happy path” tests.

Indirect Cases

The input is ambiguous or phrased in an unexpected way. These test whether your tool descriptions are robust enough to handle natural language variation.

Negative Cases

The input should NOT trigger any tool. These test that your app doesn’t overreach.

When to Run Evaluations

Build the habit of running evals after every meaningful change. A passing eval suite is the strongest signal that your app is ready to ship.

Troubleshooting

What’s Next

Traces

Find real invocations to turn into eval cases.

Preview Testing

Test your app manually before running automated evals.