New: every message picks a fast or a slow model

Agents can now search the web and read pages

Two new tools, web search and web fetch, with numbered sources on every answer that used them.

Definable team·2 min read

An agent that only knows what's in its prompt and your apps runs out of answers the moment a question is about the world: a competitor's pricing page, a library's changelog, this morning's news. Agents can now look things up themselves, with two new tools: web search and web fetch.

Both are on by default for every agent, including ones published before the tools existed. You can turn them off under Settings → Web, or by asking Definable to do it.

Two tools

web_search takes a query and returns ten ranked results: each one's title, site, link and a snippet. It can also read the top one to three pages in the same call, so a question that needs a page's actual text takes one step instead of two.

Text
web_search(query="SOC 2 Type II renewal checklist", read=2)
→ 10 results, plus the text of the top 2 pages

Web fetch

web_fetch reads up to ten pages at once, in parallel, and returns each one as clean markdown. When a page fails, it says why: not found, blocked, behind a login or timed out. The other pages still come back, so one bad link never costs the agent the rest.

A page web_fetch reads comes back whole. Pages read with a search are cut at 10,000 characters, so three fit in one result without crowding the rest of the conversation out of the model's context.

Sources on every answer

An answer is only as useful as your ability to check it. Every source an agent reads gets a number that holds for the whole chat, and a page keeps its number however many times it comes up.

  • In the Definable chat, answers cite their sources as chips like [1] and [2]. Each chip previews its page, and a Sources strip under the answer lists them all.
  • On Slack, WhatsApp, the client app and the Chrome extension, the agent names the site in words instead, because numbered chips don't render there.

While the agent works, the chat shows what it's doing: Searching the web, then Reading 3 pages, with the sites' icons as it goes.

Pages don't give orders

A web page can say anything, including "ignore your instructions and…". Every result reaches the model framed as what its site says, never as instructions for the agent. The agent reads pages the way you would: as material to weigh, not commands to follow.

Try it

Ask any agent something it can only answer from the web, like "What changed in the latest release of the library we use?" Then open the run's trace to see each search and fetch, the pages it read and how long each one took.