> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/gong-neng/native-tools/agent-coordination.md).

# 代理协调

代理用来规划、委派和请求帮助的工具。

除了执行工作之外，代理还有用于组织工作的工具：规划多步骤任务、生成子代理，以及在有不清楚的地方时暂停并向你提问。

## 这一类工具

| 工具                       | 功能                                                               |
| ------------------------ | ---------------------------------------------------------------- |
| `待办`                     | 在整个长任务过程中重写会话待办列表。聊天中会将其显示为一个清单，随着工作的推进逐项勾选。                     |
| `spawn_subagent`         | 启动一个由以下项选定的异步子代理 `agent_id`；使用 `task_key` 以恢复一个兼容的子代理，包括已暂停的子代理。 |
| `use_skill`              | 加载一个内联技能的作业手册和工具（编程、web3、系统、调度、文档、mcp），以便代理可以调用它们。               |
| `ask_user_clarification` | 暂停并向你提出一个明确的问题，而不是猜测。                                            |
| `plan_exit`              | 离开规划阶段并开始执行。                                                     |

`spawn_subagent` 接受一个 `agent_id` 用于选择一个专家，另有一个可选的 `model` 用于在一次调用中将该子代理固定到某个模型，并且还有一个可选的 `task_key` 用于复用一个兼容的子代理。如果 `model` 省略，则模型选择将使用已配置的固定设置或常规路由提示。调用会返回一个异步任务引用；它们不会等待子代理。重用相同的 `task_key` 会继续一个兼容的子代理，并在其检查点可用时恢复一个因澄清而暂停的子代理。设置 `fresh: true` 当任务需要一个新的子代理而不是复用匹配的会话时使用。即使没有聊天传递线程，子代理仍会异步运行，其完成情况会记录在父运行日志中。

返回的任务引用用于标识该异步子代理。在有传递线程可用时，其结果会发送到父聊天；无头运行会将结果保留在运行日志中。

## 为什么这些是工具

当代理试图把所有事情都记在一个脑子里时，长任务就会分崩离析。通过待办事项和子代理拆分工作有三方面好处：

* 每个子代理都会为同一项工作保留有用的本地上下文，而不是每一轮都重新生成。
* 主线程保持对进度的高层视图。
* 一个分支中的失败不会影响其他部分。

请求澄清是一个有意设计的工具。它让“我应该问用户”成为一个可见的决策，代理可以被引导做出这个决策，而不是只会偶然发生的事情。

## 另请参见

* [代码工具](/openhuman/zh/gong-neng/native-tools/coder.md)：编程工具，其中大多数是通过 `编程` 技能。
* [Cron 和调度](/openhuman/zh/gong-neng/native-tools/cron.md)：后台代理运行如何被调度。
