设计并关联子代理
智能体开发服务平台(AgentWorks)允许主智能体关联已有智能体实例,并在运行时按需委托任务。为了获得稳定、可核对的委托结果,先明确目标实例要处理的任务,再独立验证该实例,最后建立关联。
已有实例符合任务要求时可以直接复用;需要不同的模型、提示词、能力、权限或职责边界时,可以创建一个专门的智能体实例。两种方式都先得到一个可以独立运行的实例,再把它关联为子代理。
设计并验证目标实例
先明确专业任务和实例边界,再选择复用或创建实例,并确认目标实例可以独立完成预期任务。
明确要委托的专业任务
先把子代理当作一个可以独立完成专业任务的智能体来设计。至少明确以下内容:
| 设计内容 | 需要说明的问题 | 合同审查示例 |
|---|---|---|
| 职责 | 这个子代理处理什么任务 | 检查输入的合同条款 |
| 输入 | 主智能体需要提供哪些信息 | 合同条款正文和适用地区 |
| 结果 | 主智能体需要取得什么内容 | 风险条款、风险等级和判断依据 |
| 边界 | 哪些请求不应交给它 | 不修改合同,不执行审批,不回答合同之外的问题 |
| 能力 | 完成任务需要哪些模型、知识或工具 | 合同知识库和只读条款检索工具 |
职责越清楚,主智能体越容易选择正确的目标并使用返回结果。一个候选实例同时承担多个无关任务时,先拆清职责,再决定是否需要单独创建实例。
选择复用还是创建实例
选择标准是候选实例是否已经适合目标委托,而不是它是否已经出现在选择器中。
| 情况 | 建议做法 |
|---|---|
| 已有实例的职责、输入、输出、能力和权限都符合目标任务,并且已经通过独立测试 | 复用该实例,并用当前委托场景的固定输入重新验证 |
| 已有实例职责过宽,或者目标任务需要不同的模型、提示词、能力、凭证或权限 | 创建专门的智能体模板和实例 |
| 暂时无法判断已有实例是否适合 | 先直接测试该实例;测试结果稳定后再建立关联 |
创建专门实例是一种提高职责清晰度和验证可靠性的设计选择,不是 AgentWorks 对每个子代理的强制要求。
准备并独立验证目标实例
以下步骤由构建者在 AgentWorks 控制台中完成。通过渠道或 API 使用智能体的用户不需要参与这些配置。
- 根据上一节的选择,打开已有智能体模板,或者为专业任务创建一个智能体模板。
- 配置模型、系统提示词和完成任务所需的能力。系统提示词应说明输入、预期结果和不处理的情况。
- 创建目标智能体实例;复用已有实例时,先将来源智能体模板的最新配置更新到该实例。
- 直接运行目标实例,使用固定输入验证正常结果、边界输入和能力失败时的处理。
- 填写能够区分职责的实例名称和描述,让构建者可以在关联时识别正确目标,也让主智能体在运行时判断这个实例适合处理什么任务。具体写法参见让主智能体看懂每个子代理适合做什么。
需要配置模型和提示词时,参见配置模型、提示词与上下文压缩;需要知识、工具、记忆、Skill 或沙箱时,参见为智能体添加能力。
子代理需要在 AgentWorks 内执行关键工具时,为目标实例配置平台工具包、MCP 或沙箱。用户工具包由 Invoke API 或 WebSocket 接入的业务系统执行;主智能体不会代替该系统响应子代理运行中的用户工具中断。
决定是否让用户直接使用目标实例
专门接收主智能体委托的目标实例通常不需要绑定渠道。使用 Playground 验证它能够独立完成预期任务即可;不绑定渠道不会影响主智能体向它委托任务。
只有同时希望用户不经过主智能体,直接与这个实例对话时,才为它配置飞书、QQ 或 WebSocket 渠道。配置前确认:
- 用户直接向该实例提出的问题具有明确范围;
- 没有主智能体补充任务背景时,该实例仍能理解输入并给出合适结果;
- 该实例的工具、凭证和权限适合直接开放给目标用户;
- 用户能够分清什么时候使用主智能体,什么时候直接使用这个专业实例;
- 这条直接使用路径有明确的维护者和验证方式。
用户直接通过渠道访问目标实例时,不再经过主智能体负责的任务路由、上下文补充和结果汇总,也可能绕过只配置在主智能体上的安全约束。如果目标实例的系统提示词只适合接收结构化委托输入,或者它拥有不适合直接开放给用户的工具权限,绑定渠道反而容易产生混乱和操作风险。
如果没有独立的用户群、使用目标或权限设计,建议不为目标实例绑定渠道。需要把智能体作为独立入口提供给用户时,参见通过渠道提供智能体。
配置主智能体如何委托
目标实例准备完成后,在主智能体中说明何时选择它、怎样提供输入以及如何使用返回结果,再建立实例关联。
让主智能体看懂每个子代理适合做什么
AgentWorks 会在运行时向主智能体提供已关联子代理的名称和描述。主智能体根据这些信息、自身的系统提示词和当前请求判断是否委托。它不会自动读取子代理的完整系统提示词、模型、插件或权限,因此,使用具体职责、输入和结果要求,比“专业助手”或“处理复杂任务”等宽泛描述更容易得到稳定选择。
配置时需要分别处理以下三类信息:
| 配置内容 | 建议写法 | 作用 |
|---|---|---|
| 子代理名称 | 使用可以区分职责的名称,例如“合同条款审查”或“工单分类” | 帮助主智能体快速区分多个子代理 |
| 子代理描述 | 说明处理的任务、所需输入、返回结果和不处理的情况 | 限定委托范围,减少不必要的调用 |
| 主智能体系统提示词 | 说明何时直接回答、何时委托,以及取得多个结果后如何汇总 | 明确何时委托以及怎样使用返回结果 |
描述可以按照以下顺序组织:
处理 [任务];
需要 [输入];
返回 [结果或格式];
不处理 [边界]。例如,可以把合同审查子代理描述为:
检查输入的合同条款,返回风险条款、风险等级和判断依据。需要完整的待审查条款。不修改合同,不执行审批,也不回答合同之外的问题。
主智能体系统提示词可以进一步说明:合同条款问题交给“合同条款审查”,普通产品问答直接回答;收到审查结果后,先列出高风险条款,再概括其他发现。
名称和描述只帮助主智能体选择目标,不会授予或限制子代理权限。需要禁止写入、删除或其他高风险操作时,应在目标实例的工具、权限、凭证和沙箱配置中实施限制,不能只依赖描述。名称和描述会提供给模型,不要在其中填写凭证、Token、个人信息或其他敏感内容。
将实例关联到主智能体
目标实例通过独立测试后,再把它添加到主智能体模板。
- 创建或编辑主智能体模板。
- 打开 插件配置,单击 添加插件。
- 在 类型 中选择 子代理。
- 在 选择智能体实例 中选择已经验证的目标实例。
- 按需添加其他子代理。如果正在创建主智能体模板,选择 创建智能体模板;如果正在编辑主智能体模板,选择 保存修改。
- 在主智能体模板详情页打开 插件,确认每个子代理关联的实例名称和 ID。
- 创建主智能体实例,或者把模板的最新配置更新到已有主智能体实例。
子代理 选择的是已有智能体实例,不会从智能体模板自动创建新实例。修改目标实例来源的智能体模板后,先更新并重新测试目标实例,再验证主智能体的委托结果。
验证委托选择和汇总结果
配置完成后,使用固定输入覆盖以下情况:
- 主智能体可以直接完成:主智能体直接回答,没有发起子代理委托。
- 任务只属于一个子代理:主智能体选择预期实例,并在最终回答中使用返回结果。
- 多个任务彼此独立:主智能体选择预期的多个实例,并正确汇总所需结果。
- 多个子代理职责相近:使用容易混淆的边界输入,确认主智能体仍能根据名称和描述选择预期实例。
- 缺少必要输入:主智能体先补充信息或说明无法完成,不把缺少关键输入的任务直接交给子代理。
- 输入超出子代理边界:主智能体不把任务交给不适合的实例,或者明确说明无法完成。
- 子代理失败或等待审批:主智能体不把未完成结果当作成功结果。
模型可能对相似输入作出不同选择。不要只凭一次成功调用判断配置已经稳定;应保留一组固定输入,在修改主智能体或子代理后重新测试。
修改目标实例的模型、系统提示词、插件或权限后,还要检查名称和描述是否仍准确反映实际能力。更新相关实例后,重新执行直接回答、明确匹配、职责相近和范围外输入测试,避免主智能体继续依据已经过时的能力说明进行委托。
需要在实际渠道中验证、查看后台任务、处理确认审批或排查失败时,参见运行和管理子代理委托。