car-agents
Built-in commodity agents for Common Agent Runtime.
What it does
The agents every workflow needs but nobody should have to build. They compose with car-multi's coordination patterns (swarm, pipeline, supervisor) and use car-inference for model calls.
| Agent | Role |
|---|---|
Researcher |
Search, read, gather → structured findings |
Planner |
Goal → ordered action steps |
Verifier |
Output + spec → pass / fail with reasons |
Summarizer |
Long context → compressed handoff |
Coordinator |
Goal → which agents + which coordination pattern |
Deterministic generation injection
Each agent keeps its normal with_config constructor for production inference
and also exposes with_generator(context, config, generator). The injected
AgentGenerator receives the fully assembled GenerateRequest and returns an
InferenceResult, making prompt assembly and multi-agent output threading
independently testable without provider credentials, network access, or model
weights. Injection is per agent instance; it does not mutate global inference
state or alter an existing AgentContext struct literal.
Where it fits
Drop-in AgentSpec instances for car-multi and car-workflow. If you need external code discovery (GitHub, repo crawl), reach for car-search instead — kept separate to keep these agents thin.
Injectable generation
AgentContext::new(engine) uses the production
InferenceEngine::generate_tracked path. Tests and embedding applications can
instead use AgentContext::with_generator(engine, callback) to inject the same
typed GenerateRequest -> InferenceResult boundary. This makes prompt assembly
and multi-agent output threading deterministic without pretending to measure
model quality; stochastic quality evaluation belongs in car-bench.