The pattern
Coordinator-plus-specialists pattern, with a researcher that fetches sources, a fact-checker that verifies claims, and a writer that produces the final output. Citations are inline, sources are de-duplicated across domains, and the synthesis runs on a premium model while the grunt work stays cheap.
What good looks like
- Every claim cites a source
- No domain repeated more than 3 times
- Synthesis under 600 words by default
- Sub-25 turns end-to-end
Common pitfalls
- Single-agent setup, can't verify itself
- Letting the researcher hallucinate URLs
- Premium model on exploration turns
- No cap on web.fetch payload size, context blows up
The minimum YAML to ship this
app.yaml
1modules:2 web: { config: { search_backend: duckduckgo } }3 memory: { config: { working_memory: true } }45agents:6 - id: coordinator7 brain: { model: claude-sonnet-4-6 }8 workers: [researcher, fact_checker]9 - id: researcher10 modules: [{web: [search, fetch]}, memory]11 brain: { model: deepseek-chat, temperature: 0.2 }12 - id: fact_checker13 modules: [{web: [search]}]14 brain: { model: deepseek-chat, temperature: 0 }Ship in 5 minutes
Install Digitorn and deploy this agent
# 1. install runtime
curl -sSL https://digitorn.ai/install | sh
# 2. save the YAML above to ~/.digitorn/apps/my-research-agent/app.yaml
mkdir -p ~/.digitorn/apps/my-research-agent
# paste the YAML into app.yaml
# 3. deploy
digitorn deploy my-research-agentRead the deep dive
How we cut our coding agent's bill by 60% with model routing
Read article
Newsletter
Get the next post in your inbox.
Engineering notes from the Digitorn team. No marketing, no launch announcements, no "10 prompts that will change your life". Just the things we write that we'd want to read.
Other things you can build
communicationSlack copilot/use-cases/slack-botdeveloperAutomated code reviewer/use-cases/code-reviewdeveloperDocumentation generator/use-cases/documentation-generatorcommunicationVoice assistant/use-cases/voice-assistantopsScheduled reporter/use-cases/cron-reporterdeveloperPR triager/use-cases/pr-triagerknowledgeMeeting note-taker/use-cases/meeting-notesopsEmail triager/use-cases/email-triagecreativeLive React app builder/use-cases/react-builder