Autonomous research agents
Teams building agents that investigate a topic across many sources.
The problem
- The naive research loop — search, read, identify gaps, search again — spends most of its budget on intermediate results the agent reads once and discards.
- It also fails in a characteristic way: the agent invents follow-up queries from its own vocabulary rather than the corpus's, and drifts away from the material.
- And it frequently does not stop, because nothing tells it when a line of enquiry is exhausted.
The approach
- authorities triages an unfamiliar field by graph centrality, so the agent starts from what the field treats as foundational rather than what matched its first query.
- dossier returns an entity brief — mentions, sources ranked by authority, co-mentioned entities — replacing roughly ten searches and a manual merge.
- related follows edges the corpus already contains, so the next step comes from the material rather than from the agent's guess.
- limit=0 with facets is a cheap coverage probe: totals and distribution with no results, enough to decide whether an angle is worth pursuing.
The parameters that matter
| Parameter | Value | Why |
|---|---|---|
authorities?topic= | the field | Start from canonical sources rather than keyword matches. |
dossier?entity= | each key entity | One call per entity instead of ten searches. |
related?hops= | 2 | Follow the thread without unbounded traversal. |
limit | 0 | Probe coverage before committing to a line of enquiry. |
# Triage, then traverse
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/authorities?topic=science&limit=10"
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/dossier?entity=Common+Crawl"
curl -H "x-api-key: $UNLOB_API_KEY" "https://api.unlob.com/related?id=p:8f2c9a&hops=2"Where this is not the right tool
- Research agents multiply calls quickly. Monitor /account against your quota, and give the agent an explicit traversal budget.
- Entity resolution is imperfect. Ambiguous names may merge distinct entities or split one.
Frequently asked questions
How do I stop a research agent looping forever?
Give it a budget in traversals and tokens and a rule to assemble and answer when either is exhausted. Use limit=0 probes so it can check coverage cheaply before opening a new line.
How many calls does a research task take?
With graph traversal, typically a triage call, two or three traversals, a corroboration check per claim, and one context assembly — against twenty or more searches in a naive loop.
Build it on the free tier
10,000 requests a month, no card. Every parameter above works on every plan.