AI 与工具执行架构
约 2759 字大约 9 分钟
2026-10-27
联犀的 AI 服务围绕当前人员、角色、会话和业务范围组织任务。模型可以使用获准知识、选择工具并消费实际返回;工具再按照 HTTP、Agent MCP、组脚本或包技能进入相应执行路径。
理解这套架构,需要分清“谁在参与任务”“使用哪些上下文”“工具在哪里执行”和“结果由谁确认”。模型、知识检索、设备接口和运行器分别承担这些职责。
放大查看 SVG ↗ · 下载 SVG · 下载高清 PNG
1. 角色、分身与组的分工
| 对象 | 主要职责 | 适合如何理解 |
|---|---|---|
| Agent | 定义可复用角色及模型、能力等配置 | 角色定义与能力组合 |
| Clone | 关联角色的业务实例,组织相应会话与分身上下文 | 面向具体交互对象的实例 |
| CloneGroup | 组织业务分身、已发布组工具和工作空间 | 围绕项目或业务范围组织协作能力 |
| 知识库与文档 | 为任务提供可检索资料与证据 | 可以被访问和引用的资料来源 |
| 会话 | 保存当前交互与任务上下文 | 需求、工具返回和回答发生的范围 |
| 场景记忆 | 按相应配置与会话条件提供持续上下文 | 需要单独确认适用范围的历史信息 |
| 工具与技能 | 声明可以调用的业务能力、参数或执行入口 | 模型与实际业务、运行器之间的合同 |
CloneGroup 中共享工具,表示组内按配置可使用相应能力;知识、长期记忆和全部业务数据并不会因此自动合并。项目型分组还需要结合业务关联和当前会话确定实际项目范围。
2. 上下文如何进入一次请求
AI 服务识别当前角色、实例、会话与业务身份,按场景装配指令、可用工具和所需资料。工具定义需要说明用途与参数,实际调用再由对应实现处理。
当前文本任务中的知识能力采用工具化方式:模型在需要证据时可以搜索知识,再读取全文或关联切片。一次简单会话可能直接生成响应,另一任务可能经过多次工具调用。图中的能力关系因此不应理解为每轮固定依次访问全部模块。
会话历史、知识与长期记忆
会话历史承接当前交互,知识库提供资料依据,长期记忆则提供按场景使用的持续信息。三者具有不同来源与范围,装配时需要分别判断。
当前显式携带项目范围的网页文本会话,会停用 Clone 长期记忆召回及对应注入,避免将缺少项目隔离字段的长期信息带入另一项目。这一规则有自己的会话与通道条件,不能直接推断全部语音和其他入口也采用同样策略。
3. 知识搜索、全文与关联证据
当前绑定知识库的 Agent 可使用以下内置工具:
| 工具 | 用途 | 对回答的支持 |
|---|---|---|
knowledge_search | 搜索命中文档与切片 | 获得与问题相关的证据和命中信息 |
knowledge_get_document_content | 读取对应文档全文 | 补充切片外的上下文与完整说明 |
knowledge_get_chunk_relations | 查询切片关联 | 根据已有命中补充相邻或关联证据 |
资料检索和现场数据查询解决不同问题。产品手册可以解释设备字段,实时数值和历史变化仍需调用设备业务接口。回答涉及现场事实时,应保留实际来源与可用查询依据。
4. 模型与工具如何形成执行循环
AI 调度将当前上下文和可用工具交给模型。模型返回普通回答时,服务组织结果;返回工具请求时,服务按契约解析参数、选择工具并处理返回,再将结果交回后续模型或会话步骤。
循环的实际次数、超时、取消和终止由相应运行时与工具实现控制。运行期间要区分模型生成失败、工具参数不满足、目标接口拒绝,以及执行器自身错误,不能统一解释为“模型没有回答”。
5. 四类执行路径
HTTP 工具:直接调用目标接口
HTTP 工具按配置组织地址、请求头、参数和请求体,由相应 HTTP 客户端发出请求,再处理状态及返回内容。平台业务接口继续执行自己的身份、项目和动作检查,外部接口则使用所配置服务的认证与权限机制。
这一分支不要求经过脚本 Sandbox。把所有 HTTP 调用都画成进入远端执行空间,会掩盖真正的连接配置、超时和接口授权边界。
Agent MCP:发现并调用已配置服务
Agent MCP 按配置建立服务连接,通过 tools/list 发现工具和参数,再通过 tools/call 发起实际调用。服务可见、工具可枚举和当前调用被允许是不同条件,错误应按实际连接和服务结果处理。
当前 Agent MCP 是已实现路径;CloneGroup 工具中的 mcp_proxy 分支仍返回未实现。两者需要在能力说明和配置中明确区分。
组脚本:进入对应脚本运行器
组脚本按照工具定义、脚本和参数进入配置的运行器,使用组对应的工作空间与文件。执行返回、输出内容和产物需要按该运行器的实际合同处理。
运行器能否访问某个目录或网络、具有多少资源及并发限制,取决于所用配置。执行空间用于管理代码运行条件,访问业务数据时仍需通过相应受保护接口。
包技能:以包和动作组织运行入口
包技能关联技能说明、文件和实际执行入口,可按配置由远端 Runtime 启动并返回输出、退出状态和产物。可暴露的动作及参数由实际技能合同和运行时处理决定。
部分包技能内部会使用命令行程序完成受控操作。这与开发者在自己的工具环境中使用 CLI 具有不同生命周期和身份来源,不能据此推断所有 AI 请求都必须经过同一命令行入口。
| 路径 | 重点配置 | 判断结果的依据 |
|---|---|---|
| HTTP | 连接、认证、参数与目标接口 | HTTP 与业务响应、明确错误 |
| Agent MCP | 服务连接、工具定义与服务权限 | 调用结果、内容与协议错误 |
| 组脚本 | 脚本、运行器和组工作空间 | 执行返回、输出与文件产物 |
| 包技能 | 技能包、动作与 Runtime 连接 | 输出、退出状态及实际产物 |
6. 开发端 Skills 与运行时技能
开发端 Skills 面向客户自己的 AI 开发工具,提供平台或应用开发方法、模板和验证指引。CLI 按操作者授权执行配置、查询、接入和调试。
运行时技能面向当前角色和会话,由平台加载相应说明或关联文件,并在需要时进入实际执行路径。开发阶段可以借助 Skills 准备一个业务工具;工具投入运行后,平台根据发布配置和当前业务身份使用它。
开发端接入路线见AI 开发与 Skills,平台配置入口见AI 中台。
7. 例子:AI 查询项目设备历史
人员提出查询需求后,平台先确认会话与当前项目。模型结合实际物模型和可用工具,组织目标设备、字段及时间范围。工具调用设备业务接口,接口核验对象归属与数据范围,再查询实际历史仓储。
| 实际返回 | 会话应如何表达 |
|---|---|
| 有可用记录 | 说明设备、字段、时间与可用来源,再组织业务解释 |
| 无记录 | 说明当前条件下没有返回记录,并指出需要核对的范围 |
| 无权 | 明确当前身份不能完成该访问,不扩大查询对象 |
| 超时或接口错误 | 说明查询未完成,保留可用错误信息供核对 |
| 产生文件或其他产物 | 关联实际产物与相应执行结果 |
若任务进一步涉及设备控制,还应沿设备命令与回执链路确认实际状态。语言回答、工具受理和设备执行是不同结果,应分别呈现。
8. 能力扩展时维护哪些合同
新增 AI 业务能力时,先确定所需业务接口与授权来源,再明确工具用途、参数、执行类型及结果结构。知识访问、模型上下文和工作空间也要沿其实际业务范围组织。
验证应覆盖正常结果、空数据、权限拒绝和执行失败,并对现场控制单独核对设备反馈。多角色自治协商、统一审批和全部工具自动共享等能力,需要各自的实现与验收依据,不能从一个角色或分组定义推导出来。
架构专题导航
平台总体架构 · 后端运行架构 · SaaS 与权限架构 · IoT 接入与数据架构 · 前端与客户端架构 · 云边协同架构 · 部署架构与组件选型
更新日志
2026/10/27 13:22
查看所有更新日志
c4a4b-docs(架构): 独立平台架构分组并更新架构文图于93dfc-docs(架构): 独立平台架构分组并更新架构文图于
