Skip to main content
Veval wraps your agent runs and LLM calls to record traces: inputs, outputs, step timing, token counts, and cost. You run scenarios and assertions against those traces in CI to catch regressions before they reach production.

Why use Veval

  • Every step, recorded. Each agent run becomes a trace with its steps, inputs, outputs, timing, tokens, and cost.
  • Production traces as regression tests. Replay a recorded trace with mocked LLM responses for deterministic, free tests, or live, where the model runs with your current prompt and tools return their recorded output, to catch prompt regressions.
  • Strict by default. If your agent makes a call the recording doesn’t have, replay throws instead of calling the live LLM.
  • Regressions you can read. Snapshots compare a run against a known-good baseline and report changed prompts, tool arguments, and added, removed, or moved steps, with a line diff.
  • Built-in checks. Assert on errors, step count, cost, duration, outputs, and tool calls, or grade outputs with an LLM judge.
  • Three SDKs, one model. C#, Python, and Node share the same concepts and method names.

Get started

Quickstart

Install the SDK and send your first trace.

Concepts

Traces, steps, scenarios, assertions, replay, and snapshots.

SDK reference

Every API in all three languages, on one page.

Explore

How Veval works

How traces are recorded, and how replay turns them into tests.

Test with replay

Run your agent against recorded traces with no live LLM calls.

Catch regressions

Compare runs against a stored known-good baseline.

Build with AI

Ready-made context for building with AI coding agents.