deep-research
Deep Research
Deep Research takes one question and produces a cited report. It decides for itself what to look for, searches, picks which sources are worth reading, reads a dozen or more of them, extracts evidence against each sub-question, notices what it still does not know, and goes back out for it — then writes the report with numbered citations you can check.
It is not "the agent with a search tool". A chat can already search. The difference is that a research run has a fixed shape: plan, search, select, read, extract, find the gap, search again, write. Sources are read once each, in isolation, so a fifteen-source run costs a fraction of what the same work costs in a conversation, and the run cannot wander.
Accessing Deep Research
Click Tools → Deep Research in the navigation, or go to /research. The Desktop app has the same
page under its own Deep Research nav item.
Running Research
In the left-hand panel:
- Question — be specific. The plan is built from this, and a vague question produces a vague plan.
- Depth — how much work the run is allowed to do (see below).
- Agent — which agent's model configuration to use. Every stage runs with no tools at all; the model only ever sees fetched text.
- Review the plan before it starts searching — optional, and worth using for anything important.
- Click Start research.
Progress appears at the top of the main pane: the current stage, which round it is on, how many sources have been read and how many findings extracted. A run is minutes long, and the page survives being closed and reopened — every step is saved before it is reported, so you can come back to it.
Depth
| Quick | Standard | Exhaustive | |
|---|---|---|---|
| Search rounds | 1 | 3 | 5 |
| Sources | 5 | 12 | 25 |
| Sub-questions | 3 | 5 | 8 |
| Time cap | 5 min | 15 min | 40 min |
Quick is a fast sweep. Standard is the sensible default. Exhaustive is for something you are going to act on.
If several runs are already working, a new one queues and says so rather than being refused.
Reviewing the plan
With Review the plan ticked, the run stops after planning and shows you its objective and its sub-questions. You can edit them, add one, remove one, then click Start searching — or discard the run entirely.
This is worth the extra step because the expensive part of a research run is everything that happens after a misread question. The plan is the cheapest possible place to correct one.
A plan left unanswered is abandoned after an hour rather than sitting there for ever.
Grounding: Naming Your Own Sources
If you name a source in your question, it is read first, before anything is searched for.
Write www.fizl.co.uk, or "check my notes on the Kano rollout", and that becomes an anchor: it holds
citations [1] onwards in the report, it skips the source-selection step entirely, and it is exempt from
the per-site cap. A URL you typed is not a hint about where to look — it is your answer to what is
authoritative here.
Three kinds of anchor are recognised:
| You write | What happens |
|---|---|
A URL or a bare host (www.example.com) |
Fetched and read before any search |
| "my notes on X", "the notes about Y" | Matching notes are read as sources |
| A conversation id | Recognised but not readable. The run says so in its report rather than quietly ignoring you. |
When a question has anchors, the run writes itself a short factual description of the subject from those anchors alone, and carries it through selection, extraction and writing. This is what stops a page about something that merely shares the name producing confident evidence about the wrong thing. Sources judged to be about a different subject are kept and shown as discarded rather than used.
The caution banner
If a run could not ground itself — anchors it could not read, or too many sources about something else — the report opens with a Caution block and the page shows a warning above it:
This report may not be about what you meant.
That check is arithmetic, not a judgement call, so it cannot be quietly talked out of firing. A report that could not be grounded must not look identical to one that was.
Reading a Report
A finished run shows:
- The report itself, in markdown, with
[n]citations. - Sub-questions, each ticked when the run considers it covered.
- Sources considered — every URL the run saw, whether it was read, skipped or failed, why it was selected, and its citation number. Sources you named are badged yours.
- Evidence — every finding, grouped by sub-question: the claim, the supporting quote from the source, the citation, and whether it supports, contradicts or gives context. Contradictions get their own section in the report rather than being smoothed over.
- Token usage for the run.
Citation numbers are allocated only once a source has actually produced text, so the numbered list has no gaps where a dead link used to be.
After the Report
Two buttons at the foot of a finished run:
Save as a document turns the report into a canvas document — a note with tracked revisions and attribution that you and the agent can both edit. This is not the same as a flat copy: "now tighten the conclusion" becomes an edit you watch land, rather than a fresh report pasted into a chat.
Ask a question about this report moves the report into a new conversation with full tool access. If you saved it as a document first, that document is docked in the new conversation's canvas panel, so the agent can edit the report in place while you talk about it.
Correcting a report
A report that is wrong stays on this page for you — and anyone you showed it to — to read again, so it
can be corrected rather than merely apologised for. Ask the agent to fix it: it uses
find_research_reports, read_research_report and update_research_report. The body is replaced, the
revision number goes up, and the page records who changed it and why.
Two guards: a correction is refused while the run is still working (the writing stage produces the whole report in one go and would overwrite the edit), and clearing a caution banner is a separate, deliberate step — it does not happen as a side effect of editing.
What It Deliberately Does Not Do
| Not done | Why |
|---|---|
| Audio, video and YouTube sources | Transcription is minutes per source and would eat the whole time budget. Use Summarisation for a specific video. |
| Following links found inside pages | That is the Web Spider's job. An unbounded frontier is what the round structure exists to prevent. |
| Reading conversations | Named conversations are recognised and reported as unreadable, not silently dropped. |
| Scheduled or recurring runs | Not yet. |
| Starting a run from a chat | Research is started from this page, not by the agent mid-conversation. |
Why Every Stage Is Toolless
Research reads arbitrary web pages, which means it reads text written by people who would like to give your agent instructions. The rule that makes that safe is that any model call which can see fetched content is given no tools at all — nothing it "decides" to do can turn into an action, because there is nowhere in the pipeline for a tool call to appear. Fetched content is data, never instruction.
This is also why the citations are trustworthy in a way that "please cite your sources" is not: the orchestrator holds the source list, every finding is attached to a source row it was actually handed, and a citation that does not resolve to a held source is dropped rather than shown.
Use Cases
- Competitive and market analysis – anchor it on your own site so it knows what you are
- Technical evaluation – "which of these three approaches, and what are the known failure modes"
- Due diligence – Exhaustive depth, plan reviewed, contradictions section read first
- Background for a decision – run it, save it as a document, then argue with it in chat