核心概念

本页介绍 AgentGuard 使用过程中最常见的几个概念。重点不在内部实现,而在于帮助用户理解系统如何接入、如何配置,以及规则最终作用于什么对象。

智能体

这里的“智能体”是指你已经在使用的 Agent 应用或运行单元,例如由 LangChain、AutoGen、Dify、OpenAI Agents SDK 等框架构建出的应用,或你自行实现的工具调用流程。

AgentGuard 不替代智能体本身的任务执行逻辑。智能体仍负责理解任务、组织步骤并发起工具调用,AgentGuard 负责对这些调用进行运行时检查。

访问控制客户端

访问控制客户端位于智能体一侧,用于把工具调用接入 AgentGuard。在实际使用中,用户通常直接接触的是 Guard

它的主要职责包括:

  • 负责与中控服务进行通信,传递当前智能体执行状态 RuntimeEvent
  • 拦截智能体的工具调用请求
  • 通过 HTTP 请求将当前操作提交给中控服务判定
  • 根据判定结果决定工具的执行策略

对于用户而言,可以将其理解为 AgentGuard 在智能体侧的探针。

身份 (Principal)

身份用于描述“当前执行这次操作的智能体具有哪些属性”。在策略判断中,身份信息通常用于区分不同智能体的权限范围和信任等级。

常见身份信息包括:

  • 智能体 ID
  • 会话 ID
  • 角色
  • 信任级别

这些信息的价值在于使策略能够表达差异化约束。例如,可以要求低信任智能体禁止执行某类操作,或仅允许特定角色访问高风险工具。

会话

会话表示智能体当前这一轮任务的上下文范围。

一次完整任务往往会包含多次工具调用,而很多安全判断并不能只依据单次操作完成。例如,前面读取了敏感数据,后面又准备向外部发送内容,这种情况通常需要结合整轮任务过程来判断。

因此,会话的作用主要在于:

  • 关联同一轮任务中的多次工具调用
  • 保留必要的上下文信息
  • 为跨步骤规则提供判断基础

工具

工具是智能体实际执行操作的能力单元,例如发送邮件、访问 HTTP 接口、执行命令、读写文件或查询数据库。

在 AgentGuard 中,工具是最核心的治理对象。原因很简单:真正带来安全影响的,往往不是模型生成的文本,而是工具所触发的实际动作。

你应当重点关注以下几类工具的访问控制:

  • 外发类工具
  • 系统操作类工具
  • 数据写入类工具
  • 敏感数据读取类工具

策略

策略是用户为 AgentGuard 定义的控制规则。它用于说明在什么条件下,某类工具调用应被允许、拒绝或转入人工处理。

从使用角度看,策略通常围绕以下两类目标展开:

禁止

用于处理明确不允许发生的操作,例如:

  • 危险命令执行
  • 敏感数据外发
  • 对关键资源的未授权修改

审批

用于处理风险较高但不适合直接拒绝的操作,例如:

  • 向外部联系人发送内容
  • 访问未事先批准的目标地址
  • 执行影响范围较大的操作

对于大多数项目,建议先从禁止项开始,再逐步引入更细的审批策略。

中控服务

中控服务是 AgentGuard 的服务端组件,用于集中处理规则判断和管理操作。

中控服务通常承担以下职责:

  • 接收智能体发起的判定请求
  • 访问控制策略的制定、决策
  • 统一处理人工审批
  • 提供审计和管理接口

审计

审计用于记录智能体执行过的关键操作及其处理结果。

审计信息的主要用途包括:

  • 回溯智能体的实际行为
  • 分析某次操作被拒绝或被限制的原因
  • 验证规则是否按预期生效
  • 为问题排查和合规记录提供依据

因此,审计不仅是事后追踪手段,也是规则调优过程中的重要参考。

数据来源 (Provenance)

在实际使用中,用户经常需要判断一项外发操作是否涉及此前读取到的敏感数据。

这就是“数据来源”概念的重要性所在。对 AgentGuard 而言,只有系统能够识别哪些数据属于敏感数据,相关规则才能在后续外发、共享或处理过程中生效。

如果希望系统限制敏感数据外发,就需要在接入过程中明确标记哪些数据为敏感数据,以便于编写针对性的访问控制策略。

results matching ""

    No results matching ""