-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Mickl edited this page Jul 9, 2026
·
2 revisions
- Total Timeline: 15 Weeks
- Team Size: 1-2 Developers (Solo/Small Team)
- Methodology: Milestone-driven, one module at a time
- Quality Gate: Each milestone requires review before proceeding
Goal: Monorepo scaffolded, core package structure, database running, basic CI.
- pnpm workspace + Turborepo monorepo
-
@agentbench/corepackage scaffold (types, interfaces) - PostgreSQL + Redis via Docker Compose
- Prisma schema + initial migration
- Next.js app scaffold (Tailwind + shadcn/ui)
- CLI scaffold (commander.js)
- ESLint/Biome + Prettier + Husky
- GitHub Actions CI template
-
agentbench.config.tsspec -
.env.example+ documentation
-
pnpm installsucceeds -
docker compose upbrings up DB + Redis + App -
pnpm db:migrateruns successfully -
pnpm devstarts Next.js on :3000 - CLI binary prints help text
Goal: Agent Runner can execute, trace, and store runs.
-
Runnerclass — execute agent with config -
Tracer— intercept LLM calls, capture full trace -
ExecutionContext— build and manage execution context -
TimeoutManager— handle timeouts gracefully -
ConcurrencyManager— run multiple agents in parallel -
TokenCounter— tiktoken integration -
CostCalculator— per-model cost calculation - Storage adapter interface + PostgreSQL implementation
-
RunStorage— CRUD for runs, traces -
ProjectStorage— CRUD for projects - REST API: projects, runs CRUD
- Web UI: Run list page
- Web UI: Run detail page (basic)
- CLI:
agentbench runcommand - CLI:
agentbench initcommand
- Run an OpenAI agent → trace captured in DB
- Run an Anthropic agent → trace captured in DB
- Run listing shows all runs in Web UI
- Run detail shows trace steps
- CLI run command outputs summary
Goal: Rule-based and LLM-as-Judge evaluation, assertion engine.
-
RuleEvaluator— exact_match, contains, regex, json_schema, tool_called, etc. -
LLMJudge— OpenAI/Claude as judge - Judge prompt templates (correctness, faithfulness, safety, relevance, completeness, reasoning)
-
JudgePool— manage multiple judge models -
HybridJudge— rule-based + LLM combined - Score storage + retrieval
-
AssertionEngine— all matchers (tool, token, latency, output, score) - Assertion DSL (chained API:
expect(tool("x")).toBeCalled()) - TestCase model + CRUD API
- TestSuite model + CRUD API
- Web UI: Test case editor
- Web UI: Evaluation results on run detail
- CLI:
agentbench testcommand
- Rule evaluator correctly validates exact_match, contains, json_schema
- LLM Judge returns scores with reasoning
- Assertion DSL compiles and runs
- Test case runs produce assertion results
- Evaluation scores display on run detail page
Goal: Snapshot, replay, regression detection, diff engine.
-
SnapshotManager— create, list, restore snapshots - Snapshot data model (full context serialization)
-
ReplayEngine— replay from snapshot - Deterministic replay (same seed)
- Cross-model replay (different model, same input)
- Batch replay (N times, aggregate stats)
-
RegressionDetector— compare runs, detect regressions - Regression thresholds (score drop, token increase, latency increase)
-
DiffEngine— text diff (prompt, output) -
DiffEngine— metric diff (tokens, cost, latency) -
DiffEngine— trace diff (execution path comparison) - Web UI: Run comparison/diff view
- Web UI: Replay button on run detail
- CLI:
agentbench replay,agentbench compare
- Snapshot creates a restorable full context
- Replay reproduces execution (within tolerance)
- Cross-model replay works (GPT-4o → Claude)
- Regression detector flags score drops, token increases
- Diff view shows side-by-side output comparison
- Diff view shows metric comparison cards
Goal: A/B testing platform, coverage analysis.
-
ExperimentEngine— define variants, run experiment - Experiment configuration (prompt A vs B, model A vs B, etc.)
-
StatisticsEngine— t-test, bootstrap, effect size - Experiment results + conclusion generation
- Web UI: Experiment creation wizard
- Web UI: Experiment results page
-
PromptCoverage— variable combination coverage -
WorkflowCoverage— execution path coverage -
ToolCoverage— tool call coverage -
EdgeCoverage— boundary condition coverage - Coverage calculation + report generation
- Web UI: Coverage dashboard
- Web UI: Uncovered paths highlighting
- Experiment runs both variants N times
- Statistics show significant difference (or not)
- Coverage shows percentage per dimension
- Uncovered paths are identified and suggested
Goal: Multi-framework SDK support.
-
@agentbench/openai— OpenAI SDK wrapper -
@agentbench/anthropic— Anthropic SDK wrapper -
@agentbench/mcp— MCP client wrapper - SDK documentation
- Usage examples
-
@agentbench/langgraph— LangGraph adapter -
@agentbench/crewai— CrewAI adapter (placeholder) -
@agentbench/llamaindex— LlamaIndex adapter (placeholder) - Generic adapter for custom agents
- Python SDK scaffold (placeholder)
- OpenAI SDK wrapper captures all API calls
- Anthropic SDK wrapper captures all API calls
- MCP wrapper captures tool invocations
- LangGraph adapter traces workflow execution
- All SDKs have README with examples
Goal: Dataset management, CI/CD integration, API keys, team support.
- Dataset CRUD + import (CSV, JSON, JSONL)
- Dataset export
- Dataset split (train/test/validation)
- GitHub Actions integration
- GitLab CI integration
- Webhook triggers
- CI status badge
- API Key management (create, revoke, scopes)
- Authentication (NextAuth.js — full setup)
- Team/Organization management (Pro)
- Notification system (in-app + email)
- Report export (JSON, HTML, Markdown, JUnit XML)
- Report scheduling
- Dataset import works for CSV, JSON, JSONL
- GitHub Action runs agent tests and reports status
- API Key auth works for programmatic access
- Notifications appear on run completion
Goal: Production-ready quality, documentation, launch.
- Dashboard page (all charts, metrics, trends)
- Landing page (agentbench.dev)
- Dark mode audit
- Responsive audit
- Loading states (skeleton) all pages
- Empty states all pages
- Error states all pages
- 404 / 500 pages
- Command K (⌘K) menu
- Keyboard shortcuts
- Performance optimization
- SEO optimization
- README.md (comprehensive)
- Getting Started guide
- API Reference docs
- CLI Reference docs
- SDK guides (per framework)
- Deployment guide (Docker, Vercel, self-hosted)
- Contributing guide
- Example projects (3 real-world scenarios)
- Demo video / GIFs
- GitHub Release
- Product Hunt launch preparation
- Social media announcement
- Lighthouse: Performance ≥ 90, Accessibility ≥ 95, Best Practices ≥ 95
- README enables 5-minute setup
- All example projects run successfully
- Docker deployment works end-to-end
| Milestone | Version | Type |
|---|---|---|
| M0-M3 | v0.1.0 | Alpha — Core MVP |
| M4-M5 | v0.5.0 | Beta — Feature complete |
| M6 | v0.9.0 | RC — Platform ready |
| M7 | v1.0.0 | GA — Production release |
| Risk | Impact | Mitigation |
|---|---|---|
| LLM API instability | High | Abstract all LLM calls, support fallback judges |
| Streaming capture complexity | Medium | Start with non-streaming, add streaming later |
| Performance at scale (1000+ runs) | Medium | JSONB for traces, partition by project, use Redis cache |
| Multi-framework SDK maintenance | High | Focus on P0 (OpenAI, Anthropic, MCP), rest as community adapters |
| Competition (LangSmith, Braintrust) | Medium | Differentiate on regression testing + self-hosted + open source |
Next Step: Task List (actionable development tasks)
AgentBench v0.3.0 · GitHub · Report Issue · Changelog
- Core-Concepts
- Replay & Snapshots
- Assertions & Evaluation
- Coverage & Non-Determinism
- Guides
- Testing OpenAI / Anthropic
- CI/CD Integration
- Custom-Providers
- Migration-Guide
- Cookbook
- Prompt Regressions
- Model Migration
- Cost Budgets
- Safety Testing
- A/B Testing