Use AFK incrementally. Start with one narrow agent, add tools only when the task needs action, and add production controls before real users depend on the system.Documentation Index
Fetch the complete documentation index at: https://afk.arpan.sh/llms.txt
Use this file to discover all available pages before exploring further.
Phase 1: narrow agent
Build one agent that solves one task without tools.Phase 2: tools and safety
Add typed tools and hard limits.Phase 3: production controls
Before shipping, add the controls that make failures diagnosable:- evals for expected behavior;
- telemetry for latency, usage, errors, and tool calls;
- persistent memory or queues if runs must survive process restarts;
- security controls for sandboxing, secret scope, and tool output limits;
- troubleshooting docs for on-call and operators.
Evals
Test agent behavior and enforce budgets.
Observability
Export metrics, traces, and run records.
Security Model
Understand policy gates, sandboxing, and secret isolation.
Task Queues
Run agents through distributed workers.
Phase 4: release discipline
Once the agent is in production:- run evals in CI before prompt, tool, or model changes;
- compare behavior across releases with golden traces where appropriate;
- monitor cost per run and failure rate;
- version system prompts in files;
- document operator actions for approval, resume, and rollback flows.
Common mistakes
| Mistake | Better approach |
|---|---|
| Starting with a multi-agent system | Start with one narrow agent and split only when roles are genuinely different |
| Writing untyped tools | Use Pydantic argument models for every tool |
| Treating prompts as the only safety layer | Add FailSafeConfig, policy gates, sandboxing, and evals |
| Hiding internals in public docs | Keep builder docs behavior-first and maintainer docs internals-first |
| Shipping without run records | Export telemetry and inspect AgentResult fields |