子智能体
子智能体是智能体在自己的一轮中,借助提供商自身的子智能体或任务功能启动的助手:在代码库中搜索、审查某个文件、用另一个模型做一项附带工作。它处理任务的一部分,再把结果交还给智能体。OAR 会在对话记录中显示每个子智能体,并保留它所做的事情,让你能看到智能体是如何得出答案的。
这与智能体会话不同。子智能体存在于一个对话的一轮之中,没有自己的对话。智能体会话则是你列表中一个独立的对话,由智能体通过 relay_ 启动。
在对话记录中 #
一轮运行期间,每个子智能体在这一轮的实时气泡内都有一个自己的气泡。如果一个子智能体又启动了另一个,后者会嵌套显示在前者的气泡里。气泡的标题栏显示:
| 部分 | 含义 |
|---|---|
| 名称 | 子智能体的名称或描述,按提供商的报告显示 |
| 最新步骤 | 一行,在气泡折叠时显示:步骤数和最新的一步,例如 3 steps · 🛠️ Tool (Read): index.;如果它还没有执行任何步骤,则显示其文本的末尾。文件路径会截断为文件名 |
| 状态 | 工作时为 ● Running(运行中),之后显示它的结束方式:Completed(已完成)、Failed(失败),或者对于你停止的子智能体显示 Cancelled(已取消) |
| Stop(停止) | 停止这个子智能体。子智能体结束后它就会消失。参见停止子智能体 |
0.9.6 新增 气泡一开始折叠为这个标题栏,因此包含许多子智能体的一轮滚动起来也不会太长。点击或轻点标题栏的任意位置即可展开它,查看子智能体的思考、步骤和文本,再点击一次即可折叠。只要气泡还在,你手动做出的选择就会一直保留。
一轮结束后,气泡会让位于完成的回复。在回复下方,这一轮的子智能体按启动顺序以行的形式列出。由另一个子智能体启动的子智能体不会列在那里;你可以在其父级的记录中找到它们。一行显示:
- 子智能体的名称,点击可打开它的记录;
- 它的状态:Running、Starting(正在启动)、✓ Completed、✗ Failed 或 ■ Stopped(已停止),适用时还会显示 in the background(在后台)和 record cut(记录已截断);
- 它的模型、类型、使用的 token 数以及运行时长。类型例如
Explore,没有给出类型时为 Subagent(子智能体)。
只有 Claude 和 DeepSeek 会报告模型、类型和 token。在其他提供商上,这一行显示 Subagent,并省略模型和 token。对于实时气泡中显示为 Cancelled 的子智能体,这一行显示 ■ Stopped;两者含义相同。
子智能体查看器 #
0.9.10 新增 查看器显示一个子智能体的完整记录:它思考了什么、用什么输入调用了哪些工具、返回了什么、它写下的文本,以及它自己启动的子智能体,全部按发生的顺序排列。
打开方式 #
点击子智能体的名称:
- 在完成的回复下方的行中;
- 在输入区上方的任务面板中,适用于在后台工作的 Claude 或 DeepSeek 子智能体(参见后台任务);
- 在另一个子智能体记录中的子行上。
实时一轮中的子智能体气泡不会打开查看器。如果 Claude 或 DeepSeek 子智能体列在任务面板中,请使用任务面板,否则请等待完成的回复把它列出来。
0.9.11 新增 在只读分享视图中,子智能体的行同样会打开它的记录,但为只读,没有 Stop,并且中继主机的路径会像分享的其余部分一样被过滤。在 0.9.10 中,那里的名称只是纯文本。
显示内容 #
标题栏包含名称、子智能体运行时的 Stop 按钮,以及一行信息:它的模型、类型、状态、适用时的 background(后台)、token 数和时间。下方的记录从顶部开始依次排列:
| 条目 | 显示方式 |
|---|---|
| 💭 思考 | 它的第一行。仍在写入的思考会展开,并显示 Thinking…(正在思考…),直到出现文本 |
| 工具调用 | 一个图标、工具名称和一行摘要,例如命令或文件。如果内容不止摘要,点击它即可查看完整输入 |
| 结果 | Result(结果)或 Error(错误)、它的大小,以及被截断时的 cut from(截断自)和原始大小(参见限制)。点击它即可阅读文本 |
| 回复文本 | 子智能体自己的文本,以格式化的 Markdown 显示。文本到来时显示 Writing…(正在撰写…) |
| 子级智能体 | 与回复下方那些行一样的一行。点击其名称即可打开它 |
| 备注 | 中继自己添加的一行,例如说明记录已被截断的那一行 |
仍在运行的记录会实时增长,并跟随到末尾。如果你向上滚动,查看器会停留在你所在的位置,New entries ↓(新条目)按钮会带你回到下方。已完成的记录从顶部打开。你展开的折叠项在条目变化时保持展开。
只有打开了查看器的页面才会在记录增长时收到它。如果在慢速连接上漏掉了一批内容,或者连接断开,查看器会自行获取缺失的部分。
如果还没有任何记录,它会显示 Nothing recorded yet. Entries appear as the agent works.(尚无记录。智能体工作时会显示条目。)对于没有记录的已完成子智能体,它会显示 Nothing was recorded for this agent.(此智能体没有记录。)中继无法加载的记录会显示 This agent's record could not be loaded.(无法加载此智能体的记录。)
在子智能体之间切换与关闭 #
子行会在原处打开。左上角的按钮(例如 ‹ Review agent)显示父级的名称,并带你回到父级。无论用下面哪种方式关闭查看器,都会回到对话,而不是回到父级。
要关闭它,可以按 ×、按 Escape、点击窗口外部,或者使用浏览器或手机的返回功能。在手机上,它会占满屏幕。
限制 #
| 内容 | 限制 |
|---|---|
| 工具结果 | 保留前 4 KB。条目会说明原始内容有多大 |
| 一条记录中的条目 | 2000 条。之后记录以一条备注结束,标题栏显示 record cut at its limit(记录已在上限处截断) |
| 较旧的记录 | 查看器出现之前生成的记录会根据已保存的内容重建,并显示 recorded before the full record existed(在完整记录推出前记录)。它们更短 |
在你更新到 0.9.10 时已经在运行的 Claude 会话,在其 worker 重启之前不会记录完整的子智能体记录。对空闲会话使用 ☠️ Kill session(强制结束会话)就足够了;下一条消息会启动一个新的 worker。
工具输出保留多久 #
0.9.10 新增 子智能体的工具输入和结果可能很大,因此中继会把它们从旧记录中移除。记录本身永远不会被删除,子智能体也会继续列出。
Settings → General → Keep sub-agent tool output(设置 → 常规 → 保留子智能体的工具输出)决定输入和结果保留多久。可选项为 7 days(7 天)、14 days(14 天)、30 days(30 天)、90 days(90 天)和 Always(永久)。默认值为 90 days。另请参见设置。
中继启动后不久,以及之后每天一次,它会检查那些已不再运行的子智能体中、最后一次写入早于该天数的工具调用和工具结果:
- 工具调用保留其一行摘要,并显示 Input removed after 90 days(输入已在 90 天后删除),其中的数字是你选择的天数;它的完整输入已不复存在;
- 工具结果或错误保留其大小,并显示例如 Result · 3.2 KB · output removed after 90 days(结果 · 3.2 KB · 输出已在 90 天后删除);它的文本已不复存在;
- 思考、子智能体的文本、备注和子级智能体保持原样。
仍在运行的子智能体会保留所有内容,无论多旧。Always 会关闭清理。保存该设置后约五秒会开始一次清理。被移除的输入或结果不会因为你调大天数而恢复。
在后台 #
子智能体可以在后台运行,这样它会在智能体回答之后继续工作。此时它还会作为一行出现在输入区上方的任务面板中,并带有自己的 Stop 按钮。在 Claude 和 DeepSeek 上,点击面板中它的名称会打开查看器。Copilot SDK 引擎上的后台智能体只出现在面板中,没有记录。面板如何工作、什么会结束后台任务以及超时,见后台任务。Claude 或 DeepSeek 子智能体的行会显示 in the background,查看器的标题栏会显示 background。它的记录在两轮之间持续增长。0.9.12 新增 在 Claude、DeepSeek 和 Copilot 的 SDK 引擎上,任务面板中子智能体的行会像其折叠的气泡一样统计它的步数(工具调用),例如 22 steps。
停止子智能体 #
Stop 有两个位置:一轮运行期间子智能体的气泡上,以及查看器的标题栏中。对于任何正在运行的子智能体,在所有提供商上这两处都会显示它,无论那个子智能体实际能否停止。后台子智能体也可以从任务面板中停止。
可以单独停止的有:
- Claude 或 DeepSeek 上的后台子智能体,以及 Copilot SDK 引擎上的后台智能体(从任务面板中停止)。
- 其他都没有得到确认。在 Claude 或 DeepSeek 上于一轮之内运行的子智能体无法单独停止,Claude Cloud、Cursor 或 Grok 上的任何子智能体也都不行。
当子智能体无法停止时,这次点击会以拒绝告终。气泡上的按钮变为 Stop unavailable(无法停止),并且子智能体的步骤中会出现一行以 System note: Could not stop this subagent(系统提示:无法停止此子智能体)开头的内容。在查看器中,按钮会显示 Stopping…(正在停止…)最多 15 秒,然后变回 Stop;它不会变为 Stop unavailable。请改为对整轮使用 Stop;参见一轮运行期间。
停止成功后,子智能体在行和查看器中显示 Stopped,在实时气泡中显示 Cancelled。
按提供商 #
| 提供商 | 查看器包含什么 | 停止单个子智能体 |
|---|---|---|
| Claude | 全部内容:思考、每个工具调用及其输入和结果、文本、子级智能体、模型、类型和 token | 后台子智能体 |
| DeepSeek 0.9.17 新增 | 与 Claude 相同。显示的模型是子智能体运行所用的 DeepSeek 模型、对话的模型,或者对于以 haiku 请求的子智能体显示 DeepSeek Flash;参见 DeepSeek |
后台子智能体 |
| GitHub Copilot 和 OpenAI,SDK 引擎 | 在一轮之内运行的子智能体:思考、步骤和文本,仅一层(没有子级智能体),没有模型或 token。后台智能体没有记录,只有任务面板中的一行 | 后台智能体,从任务面板中停止 |
| GitHub Copilot 和 OpenAI,扩展引擎 | 扩展所报告的内容;记录可能有缺漏 | 未确认 |
| Claude Cloud | 思考和步骤,包括子级智能体。子智能体自己的文本不会公开 | 否 |
| Cursor | 思考、步骤和文本,仅一层(没有子级智能体)。不报告工具结果 | 否 |
| Grok | 只有子智能体已启动以及它如何结束。查看器没有属于它自己的内容可显示 | 否 |
| OpenAI Image | 不适用 | 不适用 |
完整的功能对照表见提供商一览。