跳转至

代理工具

Agora 的模型可以自主使用工具——它们决定搜索什么、执行什么、读取什么或记住什么,无需你手动触发每个操作。工具在多轮循环中运作:模型可以调用一个工具、读取结果、然后决定调用另一个工具或回复。

工具调用机制

  1. 你发送消息
  2. 模型决定需要外部信息或操作
  3. 它发出工具调用——带有工具名称和参数的结构化请求
  4. Agora 在设备上或远程服务器上执行工具
  5. 结果反馈给模型
  6. 模型调用另一个工具或生成最终回复

此循环在单条消息回合中可以多次重复。

可用工具

网络搜索

搜索互联网并获取网页内容。模型可以查询最新信息、验证事实或获取文档。

  • 提供商:Brave、Serper、Tavily、SearXNG
  • 配置:设置 → 网络搜索
  • 指南网络搜索

代码执行

在沙盒环境中执行代码片段(取决于提供商)。适合计算、数据分析或内联测试逻辑。

  • 提供商:Google Gemini(内置代码执行)
  • 配置:无需设置——Gemini 模型自动启用

远程 Shell

通过 Conch 协议在远程机器上执行命令。模型可以检查服务器状态、管理文件或运行脚本。

  • 协议:端到端加密(ECDH + AES-256-GCM)
  • 配置:设置 → Shell
  • 指南远程 Shell

文件操作

通过 Conch 协议在远程设备上读取、写入、编辑、glob 搜索和 grep 搜索文件。模型可以直接操作远程文件系统。

Note

文件操作需要配置好的 Conch Shell 设备。详见 远程 Shell 的设置。

记忆

跨对话的持久知识存储:

  • 活跃记忆 — 始终包含在每次 API 调用中。用于模型应始终记住的事实、偏好或上下文。
  • 已保存记忆 — 一组命名记忆文件,模型可以通过工具调用搜索、读取、写入和编辑。

详见 记忆与缓存

对话搜索

模型可以使用关键词或语义(RAG)方法搜索你的聊天记录。这让它可以引用之前的讨论而无需你手动查找和分享。

详见 对话搜索 的设置。


聊天中的工具 UI

当工具被调用时,你会看到内联显示:

- **:material-progress-wrench: 工具调用横幅** --- 显示工具名称和简要状态(如 :material-magnify: "正在搜索 '最新 AI 资讯'")。 - **:material-check-circle: 工具结果** --- 执行后,显示格式化结果或摘要(如 "找到 5 个关于 '最新 AI 资讯' 的结果")。

展开详情

点按工具调用展开查看:

  • 参数 — 发送给工具的确切参数
  • 结果 — 工具执行的原始输出
  • 状态 — 成功、失败或部分结果

调用失败

如果工具调用失败,模型会收到错误通知,可以重试或调整。你会看到带有错误消息的红色横幅。


工具权限

你可以控制模型可以访问哪些工具:

设置 位置 默认值
网络搜索 设置 → 网络搜索 关闭
Shell 设置 → Shell 关闭
记忆(已保存) 设置 → 记忆 → 访问已保存记忆 关闭
记忆(活跃) 设置 → 记忆 → 访问活跃记忆 关闭
历史对话 设置 → 记忆 → 访问历史对话 关闭
对话搜索 设置 → 对话搜索 开启*

*模型搜索对话的能力取决于是否配置了嵌入模型。没有嵌入模型时,仅关键词搜索可用。


多轮工具循环

模型可以链式调用多个工具。例如:

  1. 用户:"最新的 Linux 内核版本是什么,我的服务器在运行它吗?"
  2. 模型调用 web_search("最新 Linux 内核版本")
  3. 模型调用 shell_execute("uname -r", device="my-server")
  4. 模型比较结果并回复

每个工具调用及其结果显示为对话中的独立内联项目,位于最终文本回复之前。