How it works

Researching an answer it does not have

Deep research — one question becomes several ordered searches, every claim carries the source it came from, and anything the search did not establish is refused rather than filled in from memory.

Some questions cannot be answered from your material because the answer is not in anyone's material yet — who else sells what we sell, what did this regulator publish this quarter, how does this supplier's offer compare to ours. They need someone to go and find out.

Deep research is that. It is not one search: it is a small ordered investigation, run inside a turn, where every claim in the answer carries the source it came from — and anything the search failed to establish is refused rather than written from memory.

What a turn looks like

1. Plan

The question is broken into ordered steps, each looking up one thing. Steps may depend on the ones before them — the second is allowed to say "the category the first step found".

2. Search

Each step becomes a real web search, and the most promising results are fetched. Pages are picked from actual results rather than recalled: a remembered URL that is one character wrong is nothing at all.

3. Extract

Sentences that answer the step are extracted from the fetched page, each one tied to the page it came from. This is quoting, not reasoning — the conclusions come later, from the collected facts.

4. Report a stage

When a step finishes, the agent says what that step found, in a sentence or two, while the investigation is still running.

5. Re-plan

Before continuing, the remaining steps are reconsidered against what has actually been found. The original plan was written when the agent knew nothing about the subject.

6. Answer

Only now is the answer written, from the collected facts and nothing else, with a numbered marker on each claim pointing at the page it came from.

Re-planning is the step that keeps a wrong first guess from costing the whole investigation.

A question like "who are my competitors" cannot be searched directly, and the reason is not that the search engine is weak. Until you know what this company actually sells and which category it trades in, there is no way to judge who counts as a competitor — the best you can do is put the company name into a search box and hope.

So the first step establishes the subject, and the second one uses what the first found. That second step is the one that has to exist: an investigation that only looks up the subject and never looks up the category it belongs to has finished half a table, and the conclusion it was asked for is not available from that half.

Steps are also written to ask for things a page states outright, not for the conclusion you want. "What features do X and Y each support" is answerable from a feature table; "which of X and Y is better" is a judgement, and no page contains it. The judgement is made at the end, from the facts — it is not something to search for.

Why it reports while it works

An investigation that runs six rounds and then produces one long answer is a minute of blank screen for the person waiting, even though conclusions were accumulating the whole time. So each step reports what it found as it finishes, and those staged notes stay in the conversation afterwards — they are part of the answer, not progress chrome that disappears.

Reaching pages that do not want to be read

A search result is useless if the page cannot be fetched, and a large share of the useful web is behind something — a bot check, a redirect chain, a page that only assembles itself in a browser. Fetching therefore escalates: a direct request first, then a proxied one, then a real browser. A page that fails all of them is dropped and recorded as found but not read, which is a different grade of evidence from a page that was actually read — and the two are drawn differently when you look at the sources.

Nothing is answered from memory, including the parts nobody asked about

This is the part worth reading twice, because it is where research assistants usually fail quietly.

Ask for a comparison between your company and a company that does not exist, and the obvious failure is not a refusal — it is an answer. The investigation finds plenty about the real company, finds nothing about the other one, and then writes both halves in the same paragraph in the same confident voice. The half that came from sources and the half that came from the model's memory are indistinguishable to the person reading.

So before the answer is written, the platform does two things in sequence:

  1. A model lists what the question names — the specific companies, products, regulations or markets that have to be established before the question can be answered at all. Only what the question actually names: asked "who are my competitors", the subject is your company, and the competitors are the result, not a premise.
  2. Software checks each one against the facts that were actually collected. Not the model — software. Asking a model to confirm it did the research is asking it a question it has every reason to answer yes to.

Then:

  • Everything established → an ordinary answer.
  • Some of it established → the answer is written, and the parts that were not established are named in it as not established. A comparison missing one side is reported as a comparison that could not be made, not as a description of the side that was found.
  • None of it established → no answer is written at all. You get told what was searched for and found nothing, and asked whether the name is spelled differently or you can point at a site.

The same principle runs through the product: a check a machine can perform is not left to a prompt. Asking a model to be careful is a wish; checking its output is a guarantee.

A model that has just read six pages will sometimes write a seventh URL that it has never seen — the plausible address of a company it just learned about. Every link in a finished answer is therefore checked against the pages the turn actually fetched, and anything else is caught before the answer is sent.

What happens then is not a re-run of the same model with a scolding attached. Being told it invented something changes very little; that turn is spent, and the person waiting has paid for it. Instead the turn is escalated to a stronger model, once per tier, until the answer comes back clean. It is a per-agent setting, because the agents that most need it are the ones running on a small self-hosted model where the first attempt is cheap.

What this means in practice

  • Every claim is attributable. A numbered marker on a sentence points at the page it came from, and you can open it.
  • A question it could not answer comes back as a question it could not answer, naming what was missing — rather than as a confident paragraph with nothing behind it.
  • The visitor can stop it. It is a minute of work, visible while it happens, interruptible.
  • Deep research is a capability on the agent's menu. If it is not enabled, a visitor asking for it gets an ordinary answer — see Deciding what a message wants.