能力模板与实例的选择、关联与复用
在智能体开发服务平台(AgentWorks)的智能体模板中添加 MCP、知识库、记忆、Skill 或沙箱时,先决定以后创建的智能体怎样获得这项能力:
- 使用能力模板:复用同一套设置。每次创建智能体实例时,AgentWorks 按这些设置准备一个能力实例。
- 关联已有实例:复用同一个现成对象。AgentWorks 不再创建能力实例,多个智能体实例可能共同使用它。
智能体运行时使用的始终是具体的能力实例。能力模板只保存准备方式,本身不会参与运行。
按模板生成能力实例,或复用已有实例
如果每个智能体需要各自的 MCP 连接、知识库组、记忆、技能组或工作区,选择能力模板。如果多个智能体确实需要使用同一个现成对象,选择已有实例。
| 你希望得到的结果 | 在智能体模板中选择 | 创建智能体实例时会发生什么 | 适合的情况 |
|---|---|---|---|
| 每个智能体分别使用这项能力 | 能力模板 | AgentWorks 根据同一套设置,分别准备能力实例 | 每个智能体需要自己的凭证、记忆、文件、状态或资源生命周期 |
| 多个智能体共用同一个现成对象 | 已有能力实例 | AgentWorks 不创建新的能力实例,所有智能体都指向所选对象 | 所有智能体有意共享相同数据、配置、账号或工作区,并由团队集中维护 |
需要分别运行时,选择能力模板
智能体模板保存对能力模板的引用。以后通过控制台或渠道 /init 创建智能体实例时,AgentWorks 读取这份能力模板,并为新智能体准备对应的能力实例。
能力模板中的固定值会直接沿用。只有明确设为可配置并映射到智能体模板的参数,才可以在创建智能体实例时填写。创建完成后,智能体使用的是新生成的能力实例,不是能力模板。
需要为不同智能体填写不同 MCP 地址或凭证时,参见使用 MCP 模板为智能体实例按需生成连接。知识库和沙箱的选择方法分别参见选择知识库 RAG 模板或实例和选择沙箱模板或实例。
确实需要共享时,选择已有实例
已有实例是在关联智能体模板之前就已存在的 MCP 实例、知识库组、记忆库、技能组或沙箱。智能体模板保存该实例的引用;以后创建的智能体实例直接使用它,AgentWorks 不会为每个智能体复制一份。
这种方式适合集中维护公共资料、统一工具连接或共享工作区。修改或删除共享实例可能同时影响所有引用它的智能体,因此不要用它承载本应按用户、团队或环境隔离的数据和凭证。
各类能力的模板与实例差异
“分别准备能力实例”和“共用已有实例”在不同能力中对应不同对象。选择前,请确认实际要隔离或共享的内容。
| 能力 | 选择能力模板后,每个智能体得到什么 | 选择已有实例后,多个智能体共用什么 | 最容易误解的地方 |
|---|---|---|---|
| MCP | 一个新的 MCP 实例;模板开放的地址片段或 Header 等参数可为每个实例填写不同值 | 同一个 MCP 实例,以及其中的 Server 地址、Header、TLS 和工具范围 | 不同 MCP 实例仍可能使用同一个外部账号;是否隔离取决于实际填写的地址和凭证 |
| 知识库 RAG | 一个新的知识库组实例;初始 Collection 和 top_k 来自知识库组模板 | 同一个知识库组及其检索配置 | 不同知识库组仍可能查询同一个 Collection;当前 /init 不收集 Collection 和 top_k |
| 记忆 | 环境提供可用记忆模板时,一个单独的记忆库 | 同一个现有记忆库 | 分开记忆库不等于同一智能体中的渠道用户或 API 调用方已经自动隔离 |
| 技能组 | 一个新的技能组实例,初始 Skill 组合和版本来自技能组模板 | 同一个技能组及其 Skill 组合和版本 | 当前没有 MCP 那样的实例参数;模板后续变化不会自动改写已经生成的技能组 |
| 沙箱 | 一个单独的沙箱实例 | 同一个工作区、文件、环境变量、凭证和运行状态 | 需要不同 Skill 集合时,不支持复用现有沙箱实例;启动、回收和文件保留仍取决于所选规格及环境 |
“每个智能体有一个能力实例”只说明 AgentWorks 中的对象分别创建,不代表底层数据、外部账号或权限已经隔离。例如,两个知识库组可以查询同一个 Collection,两个 MCP 实例也可以填写同一套外部凭证。
创建智能体实例时,AgentWorks 会做什么
无论智能体实例由用户在控制台创建,还是由渠道用户通过 /init 开通,平台都按以下顺序处理:
- 读取智能体模板中每项能力的来源选择。
- 对能力模板引用,使用固定值和本次填写的实例参数创建能力实例;对已有实例引用,直接保留原引用。
- 将最终的能力实例交给新建的智能体实例使用。
创建后,请打开智能体实例,确认每项能力实际指向哪个实例,以及该实例最终连接哪个 Collection、外部账号、凭证或工作区。
Skill 版本会怎样进入智能体
选择技能组模板时,新技能组实例会沿用模板当时选择的 Skill 和版本。以后发布新的 Skill 版本或修改技能组模板,不会自动改写已经生成的技能组实例;请先在测试技能组和测试智能体中验证,再逐个更新生产资源。
选择已有技能组实例时,多个智能体使用同一个 Skill 组合。修改该技能组会影响之后使用它的所有智能体。有关创建、验证和更新方法,参见使用技能组为智能体提供一组 Skill。
多个智能体应该共用记忆吗?
- 如果每个智能体应保存自己的记忆,选择记忆模板;仅在列表中已有可用模板时使用。
- 如果多个智能体需要读取和写入同一份记忆,选择已有记忆库,并把它视为共享数据资源。
同一个现有记忆库不会根据渠道用户、API 调用方或 session_id 自动拆分。即使每个智能体分别使用一个记忆库,同一智能体内的最终用户也不一定已经隔离。保存用户数据前,请用不同调用方验证写入和检索范围。有关完整选择和测试方法,参见选择记忆库的使用范围。
渠道用户通过 /init 创建实例时会发生什么
渠道账号采用模板绑定时,渠道用户第一次发送 /init,AgentWorks 会基于所绑定的智能体模板为该用户创建一个智能体实例,并保存用户与实例的绑定关系。
专属智能体实例不会改变智能体模板中已有的插件引用。智能体模板已经决定每项能力是分别准备还是共同使用:
- 引用能力模板时,平台为这个新智能体准备对应的能力实例。
- 引用已有能力实例时,这个新智能体仍会与其他智能体共用所选实例。
/init中提供的KEY=VALUE只会填入智能体模板已经开放并映射的实例参数。固定值不会变成可填写参数。例如,MCP 模板可以开放 Header 参数,而知识库组模板中的 Collection 和top_k当前直接沿用,不通过/init收集。
因此,“每个渠道用户有自己的智能体实例”不等于“每个用户自动拥有独立的数据和外部账号”。需要用户分别提供 MCP 参数时,参见让模板绑定渠道的用户通过 /init 填写。有关渠道绑定方式,参见了解绑定模式:使用已有实例还是按用户创建。
模板修改后,已有实例会自动变化吗?
通常不会。模板用于创建或更新资源,不是持续覆盖所有实例的实时配置。
- 修改智能体模板后,相关智能体实例可能显示需要手动更新。请逐个编辑并保存目标实例,再验证回复、工具和能力。
- 修改能力模板后,已经从它生成的能力实例不会自动获得新配置。请更新实际实例,或重新创建智能体实例并验证新生成的能力实例。
- 修改一个被多个智能体引用的已有能力实例后,这些智能体后续使用同一对象时都会受到影响。
- 删除能力模板不会自动删除已经生成的能力实例;删除渠道用户绑定后,也请单独检查对应的智能体实例。
- 删除知识库组实例不会删除 Collection;请在 知识库管理 中单独管理 Collection。
上线前记录谁在使用哪些资源
对每个生产智能体实例记录:
- 它来自哪个智能体模板。
- 每项能力是由模板生成,还是引用已有实例。
- 实际能力实例的名称或 ID,以及它最终使用的 Collection、外部账号、凭证或工作区。
- 哪些智能体或最终用户会共享这些数据和状态。
- 渠道账号、绑定方式和 Agent API Token 负责人。
- 变更负责人、验证方法和手动回退步骤。
生产变更或删除前,请先用这份记录确认影响范围。控制台不会在一个页面中汇总智能体模板、智能体实例、能力实例和渠道绑定之间的全部依赖关系。