Getting Started
Design, compose, and evaluate micro-agents
A lightweight playbook for building reliable agent meshes.
What is a micro-agent?
A micro-agent is a single-purpose agent with typed inputs/outputs, explicit tools, and measurable behavior. It behaves like a microservice.
How to design contracts
Define inputs, outputs, tools, guardrails, and known failure modes before writing prompts.
{
"name": "ClassifierAgent",
"purpose": "Route intent to the right workflow.",
"inputs": { "query": "string" },
"outputs": { "intent": "string" },
"allowed_tools": ["none"],
"guardrails": ["no external calls"],
"eval_rubric": ["intent matches taxonomy"],
"failure_modes": ["ambiguous intent"],
"fallback": "SupervisorAgent"
}
How to compose
Start with a router and planner, then fan out to small, typed agents. Validate at the edges.
{
"flow": [
"RouterAgent",
"PlannerAgent",
["ExtractorAgent", "WriterAgent", "PolicyAgent"],
"ValidatorAgent"
]
}
How to evaluate
Run evals per agent with fixtures and rubrics. Aggregate metrics for the mesh.
{
"agent": "ExtractorAgent",
"fixtures": ["invoice_001", "invoice_002"],
"rubric": ["schema valid", "totals match source"],
"threshold": 0.9
}
Common pitfalls
Overloaded prompts
Split responsibilities and keep I/O typed.
Missing guardrails
Define tool boundaries and policy checks early.
Skipping evals
Test each agent in isolation before orchestration.