Analyst agents scrape and summarize sources on a topic → Synthesis agent writes a structured report → Distribution agent emails it to a subscriber list on schedule.
A Paperclip company that produces weekly research reports on a defined topic area, accumulating knowledge in a company memory store over time.
Company: Deep Research Inc
Monthly budget: $80
Agents:
1. Horizon Scanner ($10) — weekly trend sweep across arXiv, GitHub, news
2. Deep Diver × 3 ($15×3) — parallel deep research on top 3 topics
3. Analyst ($12) — synthesises across all three deep-dive reports
4. Report Writer ($8) — produces the weekly PDF-ready report
5. Memory Keeper ($5) — updates the long-term knowledge store
The Memory Keeper agent maintains a company_memory table with accumulated knowledge:
CREATE TABLE company_memory (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
company_id uuid NOT NULL,
key text NOT NULL,
value jsonb NOT NULL,
updated_at timestamptz DEFAULT now(),
UNIQUE (company_id, key)
);
Memory Keeper system prompt:
You are a Memory Keeper. Given a new research report, update the knowledge base.
For each technology or organisation mentioned:
- Update its entry with new facts
- Note changes from prior week (if known)
- Flag emerging trends
Output JSON:
{
"memory_updates": [
{"key": "entity:OpenAI", "facts": ["released GPT-5 on X date", ...], "trend": "accelerating"},
{"key": "trend:multimodal", "summary": "...", "last_updated": "2024-01-15"}
]
}
When the Analyst runs, its task description includes the current memory store:
-- Inject memory context into analyst's issue description
UPDATE issues
SET description = description || E'\n\n## Knowledge Base (prior weeks)\n' ||
(SELECT string_agg(key || ': ' || (value->>'summary')::text, E'\n')
FROM company_memory
WHERE company_id = i.company_id
LIMIT 20)
WHERE title LIKE 'Synthesise research%'
AND status = 'open';
-- Every Monday 06:00 UTC: create Horizon Scanner issue
INSERT INTO issues (company_id, title, assigned_agent_id, due_at, priority, status)
SELECT
id,
'Horizon scan: week of ' || to_char(now(), 'YYYY-MM-DD'),
(SELECT id FROM agents WHERE name = 'Horizon Scanner' AND company_id = companies.id),
date_trunc('week', now() + interval '1 week') + interval '6 hours',
'high',
'open'
FROM companies WHERE slug = 'deep-research-inc';
The Analyst includes a confidence score in its output:
{
"synthesis": "...",
"confidence": 0.82,
"gaps": ["No data on Anthropic's Q4 training runs", "GPT-5 pricing not yet public"]
}
If confidence < 0.7, the Analyst creates additional Deep Diver issues to fill the gaps.
| Agent | Cost |
|---|---|
| Horizon Scanner | $0.30 |
| Deep Diver × 3 | $0.90 |
| Analyst | $0.25 |
| Report Writer | $0.20 |
| Memory Keeper | $0.10 |
| Total | ~$1.75/week |