Backend tracing · LLM evaluation · agent simulation
Know what your agents did.
claude-code.turn
Claude CodeSpans
—
Tokens
—
≈Cost
$ —
Instrument, observe, evaluate.
Three steps, in the order a team actually does them. The same screens the product shows after sign-in.
Step 1: Instrument
Install the SDK and call init() once with an environment key. Your functions, HTTP requests, database queries and model calls are traced from there; coding agents connect with one CLI command.
Installpip install syntropylabs-evalkit npm install syntropylabs-evalkitStep 2: Observe
Each request becomes one trace: the spans it ran, the models it called, what it cost and where it failed. Sessions group turns; flags mark tool loops and truncation.
support_agent.turn
ok1.84 s5 spans3,412 tokens$0.0006session sess_4b1efig. 1 · trace header · sample data
Step 3: Evaluate
Run a dataset through evaluators, or score live traces with an online rule. Every run reports a pass rate, per-evaluator means and a gate you can block a deploy on.
Pass rate
87.5%
Gate
gate passed
pass_rate ≥ 0.85 ✓
fig. 2 · run summary · sample data
Traces
Every request your app made: the spans it ran, what it cost, where it failed, and the conversation behind it.
| Operation | Service | Status | Model | Latency | Tokens | ≈Cost | Score |
|---|---|---|---|---|---|---|---|
| support_agent.turn8f3a1c0d94e2session sess_4b1e | support-api | ok | gpt-4o-mini | 1.84 s | 3,412 | $0.0006 | 92%auto |
| refund_agent.turnc21d7e5a30b8session sess_9a02tool loop | refund-worker | ok | claude-sonnet-4 | 4.31 s | 7,905 | $0.0389 | 68%auto |
| claude-code.turn5be04f7d1a96session sess_f77c | Claude Code | unset | claude-sonnet-4 | 48.20 s | 61,208 | $0.19 | — |
| rag.answere9a2b6c4d015error | docs-bot | error | gpt-4o | 6.02 s | 9,880 | $0.0312 | 41%auto |
| voice.turn17c8d3f2a4e0session sess_20d1 | ivr-agent | ok | gpt-4o-realtime | 0.92 s | 1,104 | $0.0071 | — |
fig. 3 · traces list · sample data
Evaluations
Run your dataset through evaluators and compare runs against a baseline.
support-agent · nightly
completedofficialPass rate
87.5%
Average score
84%
Rows
240
Judge cost
$1.42
318,402 in · 41,911 out tokens
Per evaluator
gate passedpass_rate ≥ 0.85 ✓ · groundedness ≥ 0.9 ✓Groundedness
91%
Answer relevance
88%
Tool-use correctness
79%
PII
100%
fig. 4 · evaluation run · sample data
Datasets
Upload, import and curate the rows your evaluations run on.
support-tickets
single-turn240 rows| # | Input | Expected output | Status | Source |
|---|---|---|---|---|
| 1 | Refund order 48213, delivered 3 weeks ago | Refund approved within 30-day window | golden | trace 8f3a1c |
| 2 | Cancel my subscription but keep my data | Cancel at period end, retain data 90 days | finalized | csv import |
| 3 | Why was I charged twice this month? | Identify duplicate charge, offer reversal | draft | synthesized |
fig. 5 · dataset rows · sample data
Simulations
Drive your agent through generated scenarios in a sandbox and score how it did.
| Scenario | Status | Turns | Tool calls | Task completion | Policy adherence | Verdict |
|---|---|---|---|---|---|---|
| Refund after 30 days, customer insists | done | 6 | 3 | 100% | 100% | passed |
| Address change mid-order | done | 4 | 2 | 100% | 75% | failed |
| Ask for another customer’s invoice | done | 3 | 1 | 100% | 100% | passed |
| Angry customer, three topics at once | timeout | 12 | 9 | no verdict | no verdict | no verdict |
fig. 6 · simulation run · sample data
8lines
Eight lines in, one trace out. The snippet below produces the trace beside it, span for span. Hover, focus or tap a line to see the span it made.
- 1import evalkit
- 2evalkit.init(subscription_key="tk_live_…", environment="production")
support_agent.turn
8f3a1c0d94e2ok1.8 s5 spans3,412 tokens$0.0006fig. 7 · the trace this snippet produces · sample data
- init() once with an environment key. Your own functions, HTTP and database clients and every model call are traced as they run: application tracing for the backend, not only for the agent.
- OpenAI, Anthropic, Bedrock, Cohere, Google and Vertex clients, LangChain, and the HTTP and database libraries around them, in Python and TypeScript.
- Coding agents connect with evalkit coding install: Claude Code, Codex and Gemini CLI export OpenTelemetry natively, the rest report through hooks.
pip install syntropylabs-evalkitpip install syntropylabs-evalkit
evalkit coding install --vendor claude-code --key tk_live_…$0
Tracing is free for one project, with no card on file. Evaluations, datasets and simulations are on paid plans; the full spec sheet is on the pricing page.