Agent catalog
Agents in Beakr are not class hierarchies -- they are stateless configs. Each one is a stateless config that names a model, a system prompt, a tool allowlist, and a handoff template. The same react graph compiles around any of them.
Each agent is a (model, prompt, tool allowlist, handoff template) tuple. The graph is identical -- only the config changes.
Reference
RESEARCHER
Searches across all connected sources -- knowledge base, Slack, Gmail, Drive, Jira -- and returns cited excerpts. Designed for breadth, not depth.
ANALYST
Deep reasoning, hypothesis generation, and REPL-driven exploration. Used when a question requires multi-step logic or cross-referencing several sources.
CODER
Computation, data pipelines, and plotting. Runs code in a sandboxed environment with full package access.
REVIEWER
Verification, fact-checking, and citation auditing. Cross-checks claims against source material and flags unsupported statements.
How agents work together
The parent agent decides whether a task should stay local, be delegated to one specialist, run through a sequential pipeline, or fan out to several agents in parallel. Parallel agents are useful when the work can be split cleanly, such as one researcher gathering sources while a reviewer checks citations. Pipeline agents are useful when each stage depends on the previous stage's output.
Why stateless configs
- Composable. Pipelines, war rooms, and debate ensembles can slot any config into any position.
- Swappable. Swapping researcher from haiku to sonnet is a config change, not a code change.
- Testable. Configs are plain data -- serialize, diff, snapshot-test.
- Versioned. Every config has a hash; checkpoints record which config produced them.