Agents
Agents & tools
How ashao agents reason, call tools like web search, and cite their work.
An ashao agent is more than a model that autocompletes. It can reason about a task, reach for tools when it doesn't know something, and show you where its answer came from. This page explains how that loop works and what it means for you as a user.
Plan, act, observe
Under the hood an agent runs a simple loop. Given your message and the conversation so far, it decides whether it can answer directly or whether it needs a tool. If it calls a tool, the result is fed back in as a new observation, and the agent decides again — repeating until it has enough to give you a final answer.
Plan
The agent breaks your request into what it knows and what it needs to find out before responding.
Act
When a step needs fresh or external information, the agent calls a tool — web search today, more over time.
Cite
Tool results are folded back into the answer, and the sources are surfaced as citation chips you can open.
The message roles
The agent loop is expressed entirely in the message list. Every turn is a typed message, and tool output is just another role the model reads before continuing.
export type ChatRole = "system" | "user" | "assistant" | "tool";
export type ChatMessage = {
role: ChatRole;
content: string;
};system— the agent's standing instructions and persona.user— your messages.assistant— the agent's replies and tool requests.tool— results returned from a tool call, fed back for the agent to read.
Tools
Web search
The first tool every agent ships with is web search. When a question depends on current events, niche facts, or anything past the model's training, the agent issues a query, reads the results, and grounds its answer in them. In the chat UI this shows up as a tool chip while the search runs and citation chips on the finished answer.
Ask it to check
If you want the agent to verify something rather than answer from memory, just say so — “search for the latest on X”. Grounded answers come back with sources you can click.More tools over time
The tool interface is intentionally small, so the catalogue can grow without changing the agent loop. Each tool is a named capability the agent can request and whose result is returned as a tool message. New tools become available to every agent the moment they're registered.
Citations
When an answer is built on tool output, ashao keeps the link between a claim and its source so the UI can render citation chips. This is the difference between an agent that sounds confident and one you can actually check.
Privacy still holds
Tool calls are part of the job, not a side channel to your identity. A web search the agent runs on your behalf carries the query, never your account. See Architecture for how identity is kept out of the inference path.Ready to try the agent loop yourself? Open the chat and ask it something that needs a search.