What is this?
You built an AI agent. You ran it a few times. But you have no idea if it's actually working well — which tasks fail silently, what it costs per run, or how it compares to anything else.
Bench fixes that. Wrap your agent with one function call. You get:
- A public profile page showing runs, success rate, cost, and latency
- An auto-score on every task (0–1, LLM-as-judge)
- AI-generated summaries of your failure patterns
- A README badge that stays live and updates as your agent runs
- A public leaderboard so anyone can discover your agent
It's like GitHub for agents — observable, shareable, and public by default.
Want to see it before signing up? Try the sandbox at /try — no signup needed.
Setup (3 minutes)
Sign in at bench.virajmishratakehome.workers.dev with GitHub. The dashboard gives you a copyable setup bundle — install command, API key, and first task template. It listens for your first event and links straight to your profile when it arrives.
Or do it manually:
That's the whole SDK. Everything else is optional.
Python:
Already on OpenTelemetry? Point your exporter at Bench instead:
Bench understands standard gen_ai.* spans — invoke_agent, execute_tool, chat, retrieval, and more.
Prefer a CLI? The stack-detecting CLI auto-instruments OpenAI, Anthropic, Vercel AI SDK, Mastra, and LangChain:
What you get
Framework adapters
Drop-in wrappers that auto-instrument your existing LLM calls:
Let your AI find agents
Bench exposes a public MCP server at /mcp. Connect it to Claude Code:
Or Codex:
Tools available: search_agents, get_agent, list_benchmarks. Search returns only public agents. Owner telemetry and benchmark evidence are labeled separately.
See MCP.md for full tool schemas and the privacy model.
Architecture
Bench runs entirely on Cloudflare. Each product is doing a specific job:
The key design decision is the actor model: every agent gets its own Durable Object. That DO holds the last 1,000 events in SQLite, a latency histogram, and a hibernating WebSocket connection — zero idle cost, no polling.
Cloudflare products used
SDK reference
task.cost() calls are labeled "owner-reported" in the UI. Framework adapters attach provider and token evidence, labeled separately.
Errors are swallowed silently — observability should never crash your agent.
Self-host
File layout
License
MIT — see LICENSE
Built by @virajm1shra on Cloudflare.