zed-industries/zed
eval_cli
Active contributors: rtfeldman, benbrandt
Purpose
crates/eval_cli is a headless CLI for evaluating AI-driven features (the agent and edit prediction). It replays scripted scenarios against language models and reports outcomes, used both in CI and ad-hoc for prompt tuning.
Directory layout
crates/eval_cli/
├── Cargo.toml
└── src/
└── main.rs # Single-file entry pointcrates/eval_utils carries shared helpers for setting up project fixtures, running the agent in eval mode, and scoring results.
How it works
graph LR
fixtures[(Fixtures)] --> CLI[eval_cli]
CLI -->|start| HP[Headless agent]
HP -->|tool calls| FS[FakeFs / repo clones]
HP -->|completion| LLM[LLM provider]
LLM --> HP
HP -->|results| Scorer[Scorer]
Scorer --> Out[stdout / JSON]The CLI usually:
- Loads a fixture (a small repo + a task description).
- Spins up the agent in headless mode (no GPUI window).
- Runs the agent against a target LLM.
- Compares produced edits or answers against expectations.
- Emits scores.
Integration points
- Drives
crates/agentandcrates/edit_predictionfrom the outside. - Talks to the language-model providers via
crates/language_models. - Used by CI workflows to detect regressions in AI behaviour.
Entry points for modification
- New evaluation scenario — drop a fixture in the eval data path the CLI scans.
- New scoring metric — implement in
crates/eval_utilsand surface via the CLI flags.
Related pages
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.