Agent 运行时架构
Agent 运行时架构
艾维斯Agent 可以使用模型输出、知识检索和已批准的 Actions。runtime 边界的设计目标是:Agent 执行不会独立获得对用户、文档、凭据或工具的权威控制。
该架构图展示了浏览器、艾维斯控制平面、Agent 运行时、Tool Gateway、知识检索、模型服务商和外部应用之间的安全交互。关键点是:运行时只接收最小上下文和凭据引用,真正的数据访问、工具调用、凭据注入和高影响 Action 审批仍由受控服务完成。
如需面向企业安全评审的策略说明,请参阅 Agent 安全策略。
Runtime 信任边界
Runtime 输入
一次 Agent run 可能包含:
- 当前用户和工作区上下文。
- 已选择 Agent 及其配置指令。
- 允许使用的模型和生成设置。
- 已由艾维斯限定范围的检索知识分块。
- 为该 Agent 启用的工具定义。
- request ID、conversation ID 和 trace context 等运行元数据。
Runtime 应把这些值视为执行输入,而不是全局授权。任何读取数据、写入状态、调用集成或访问连接器的行为,仍应经过服务端授权。
工具访问
Agent 工具应被视为部署能力,而不是提示词指令。管理员决定启用哪些 Actions、连接器和集成。运行时,艾维斯应将工具调用经过授权检查,并绑定到当前用户、工作区、Agent 和已配置工具集。
凭据处理
模型凭据、连接器凭据、API token 和集成密钥必须保留在艾维斯管理的配置中。不要把它们粘贴到提示词、Agent 指令、对话消息、示例或公开文档中。Runtime 服务只应在部署需要时接收有范围的服务凭据。
Prompt 与指令边界
Agent 指令可以塑造行为,但不是安全边界。不要依赖提示词文本来决定:
- 哪些用户可以读取某个文档。
- 哪些工具调用被允许。
- 哪些外部系统可被访问。
- 某个凭据是否可以被展示。
- 某个管理操作是否被允许。
这些决策应由产品配置和服务端检查完成。
输出处理
Agent 输出可能包含检索文本、生成内容、工具结果和错误消息。生产部署应避免把原始 stack trace、本地路径、服务主机名、带值的密钥名或无限制日志返回给最终用户。
需要测试的失败模式
运维检查
- 验证 runtime 服务只能由获准内部服务访问。
- 确认用户或 Agent 缺少权限时工具调用会被拒绝。
- 在 runtime、bridge 或模型访问变更时轮换服务凭据。
- 使用 request ID 记录 runtime 决策,并能与 AIvis API 日志关联。
- 在为大量 Agent 启用高影响工具前进行人工审查。
- 对每个可调用工具的生产 Agent,至少测试一个允许路径和一个拒绝路径。