> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerone.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Query

> 选择流式 query() 或阻塞 prompt() 执行请求。

## 选择请求方式

| API                          | 返回类型                         | 适用场景                                   |
| ---------------------------- | ---------------------------- | -------------------------------------- |
| `query({ prompt, options })` | `AsyncGenerator<SDKMessage>` | 顶层一次性流式查询，无需管理 Agent 生命周期              |
| `agent.query(prompt)`        | `AsyncGenerator<SDKMessage>` | Agent 上的流式查询，适合实时显示 token、Tool 调用和执行状态 |
| `agent.prompt(text)`         | `Promise<QueryResult>`       | 阻塞查询，等待任务完成后返回聚合结果，适合一次性后台任务           |

先[创建 Agent](/zh/sdk/agents)，再按应用需要选择请求方式。多轮请求可以复用同一个 Agent；使用完后调用 `close()` 释放连接并完成 Session 收尾。

## 聚合结果

`agent.prompt()` 返回的 `QueryResult` 汇总了最终结果文本与执行统计：

```typescript theme={null}
import { createAgent } from "@zerone-agent/agent-sdk";

const agent = createAgent({ model: "claude-sonnet-4-6" });
const result = await agent.prompt("这个项目里有哪些文件？");

console.log(result.text);
console.log(
  `轮次: ${result.num_turns}, Token: ${result.usage.input_tokens + result.usage.output_tokens}`,
);
await agent.close();
```

## 中断查询

调用 `agent.interrupt()` 中止当前查询，或在创建时传入 `abortController`（`AbortController`）统一控制取消。

事件消费方式见[流式响应](/zh/sdk/streaming)，全部方法签名与选项见 [API Reference](/zh/sdk/api-reference)。
