news 2026/9/13 13:27:09

AI Agent治理新范式:从模型安全到行动层的权限与审计落地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Agent治理新范式:从模型安全到行动层的权限与审计落地

如果把 AI Agent 只当成“会聊天的增强版机器人”,那么治理这个话题看起来确实离工程实践很远。但最近 Google DeepMind 团队在 Nature 上发表的工作,把 AI Agent 治理重新拉回到技术讨论的中心:不是伦理口号,不是政策文件,而是Agent 真正进入生产系统后必须面对的系统性工程问题。

一个真实场景就很能说明问题。传统大模型对话中,模型输出一段文字,就算说错了,最多是被用户吐槽,迭代模型或者加个拦截规则就能改善。但当模型变成一个 Agent,它能调用订单系统、能操作数据库、能发送邮件、能调用支付 API,情况就完全不同了。一次错误的工具调用,可能产生一笔真实退款、删除一条业务记录、向外部系统发送一封不该发送的消息。模型的输出从“一句话”变成了“一个动作”,风险性质发生了根本变化。

Google DeepMind 这次在 Nature 上的发文之所以值得关注,是因为它指向了一个核心判断:Agent 治理不能停留在“模型输出安全”层面,而必须覆盖 Agent 的权限边界、工具调用、行为审计、人工介入和生命周期管理。换句话说,治理对象正在从模型层延伸到行动层和系统层。

这篇文章不打算复述论文原文,而是从开发者视角回答两个问题:第一,这次“重新定义”对做 Agent 应用的人到底意味着什么;第二,在当前技术条件下,Agent 的权限控制、审计追踪、应急干预到底应该怎么落地。文中会给出一个最小可运行的治理层示例,可以直接作为工程参考。

1. 这篇文章真正要解决的问题

先说结论:AI Agent 治理目前最大的困难,不是模型本身不够聪明,而是 Agent 在真实系统里的行为和影响难以被有效约束。

1.1 从“能说”到“能做”:风险性质变了

传统 AI 应用,比如智能客服、内容生成、代码助手,模型的主要产出是文本。文本可以被过滤、被校验、被人工审核,即使出错,影响范围也相对可控。

Agent 应用则不同。Agent 的基本工作方式是“感知 - 规划 - 行动”:模型根据用户指令和上下文,制定一个计划,然后调用外部工具来执行。这个“执行”环节让 Agent 拥有了对真实系统的操作能力,同时也让错误产生了实际后果。

举几个常见的生产场景:

  • 客服 Agent 调用 CRM 系统查询订单、修改地址、发起退款。
  • 数据分析 Agent 连接数据库执行 SQL,甚至把结果写入临时表。
  • 办公 Agent 代写邮件、创建日程、发送通知。
  • 研发 Agent 直接操作代码仓库,合并分支、修改配置。

在这些场景里,如果 Agent 调用了一个本不该调用的工具,或者虽然调用了正确工具但参数是危险的,比如删表、批量发消息、提高退款金额,系统并没有办法依赖“模型判断”来兜底。

1.2 传统 AI 治理为什么失效

过去几年,AI 治理讨论的重点基本集中在模型层:数据隐私、模型偏见、内容安全、模型对齐。这些工作非常重要,但放在 Agent 场景里有一个明显的盲区:模型对齐保证的是“模型在训练和评测中表现良好”,而不是“Agent 在真实环境中不会越权”。

举个例子,一个模型可能通过安全评测,任何直接询问危险操作的问题它都会拒绝回答。但在 Agent 场景里,用户不需要让模型直接回答“怎么删掉数据库所有表”,只需要说“帮我把测试环境的数据清理一下”,模型就可能调用一个数据库工具并生成DROP TABLE语句。如果没有工具层的权限拦截,这一步就真的执行了。

更深一层的问题是上下文注入。Agent 在运行过程中会读取大量外部内容,包括网页、文档、邮件、API 返回值。这些内容里可能夹杂恶意指令,诱导模型调用危险工具。模型很难在所有情况下都识别出这种隐藏指令,但治理层可以通过工具白名单、参数校验和人工审批来兜住底线。

1.3 谁最应该读这篇文章

如果你正在做以下事情,这篇文章会比较有用:

  • 基于大模型开发 Agent 应用,但发现直接把工具调用权限交给模型有点不放心。
  • 团队里多个 Agent 协作,担心某个 Agent 的行为被另一个 Agent 带偏。
  • 想了解 Google DeepMind 这次 Nature 发文背后的技术判断,而不是停留在新闻标题。
  • 需要给 Agent 系统补权限、审计、熔断能力,但不知道从哪里入手。

读完你应该能建立起 Agent 治理的基本框架,并且有一个可以直接运行的最小代码示例作为起点。

2. 基础概念:AI Agent 治理到底在治理什么

在谈治理之前,先统一一下“AI Agent”的定义。这里说的 Agent 不是传统软件工程里的“智能体”概念,而是当前大模型语境下的语言模型驱动的自主系统:一个 Agent 通常由模型、提示词、工具集合、记忆模块和运行循环组成。

一个典型的 Agent 运行循环是:

  1. 接收用户目标。
  2. 模型根据目标和上下文规划步骤。
  3. 决定调用哪个工具,传入什么参数。
  4. 工具执行并返回结果。
  5. 模型根据结果决定下一步动作。
  6. 循环直到任务完成或达到终止条件。

在这个循环里,模型负责决策,工具负责行动。治理要管的,恰恰是“工具”和“行动”这一层。

2.1 三个容易混淆的概念

概念治理对象核心手段典型问题
模型安全模型输出内容对齐训练、内容过滤、红队测试模型输出有害内容
AI 治理模型全生命周期合规、数据治理、模型评测、发布流程数据泄露、偏见、滥用
Agent 治理Agent 的行为与影响权限控制、工具策略、审计、人工介入、熔断越权调用、级联故障、不可追溯

可以看出,模型安全是“让模型不输出坏内容”,AI 治理是“让模型从开发到上线都合规”,Agent 治理则是“让 Agent 在真实系统里不乱动手、动完能查、出事能停”。

2.2 Agent 治理的技术对象

具体落到工程上,Agent 治理至少包含以下几个对象:

  • 身份:Agent 以什么身份操作外部系统,是用户本人、一个服务账号,还是一个独立主体。
  • 权限:Agent 能调用哪些工具,每个工具能执行什么级别的操作,单次会话能做多少次。
  • 数据:Agent 能访问哪些数据,不能访问哪些数据。
  • 动作:Agent 每次工具调用的参数是否合法,是否在允许范围内。
  • 轨迹:Agent 的每次决策和工具调用是否有完整日志可以回溯。
  • 干预:当 Agent 行为异常时,系统能否暂停、拒绝或回滚。

这些对象都需要在代码层面落实。治理不是一个配置文件就能解决的,而是一组可校验、可审计、可干预的运行时机制。

2.3 为什么 Nature 级别的工作也在关心这个

从研究角度看,Agent 治理之所以成为前沿问题,是因为 Agent 系统的行为复杂度远高于单一模型。模型行为可以通过标注、评测、红队测试来近似度量,但 Agent 与环境长期交互后,行为会呈现出涌现性和不可预测性。

比如两个本来安全的 Agent 放在一起协作,可能产生某个单独 Agent 不会执行的高风险动作;一个 Agent 读取了外部文档中的隐藏指令,可能在后续步骤中悄悄调用危险工具。这些问题很难通过“把模型训练得更好”来彻底解决,因为问题并不完全在模型内部,而是发生在模型与环境的交界面上。

因此,Google DeepMind 在 Nature 上强调 Agent 治理,本质上是在说:治理机制必须成为 Agent 系统的一等公民,和模型能力同步设计,而不是事后补丁。

3. Google DeepMind 的 Nature 文章:重新定义了什么

从公开信息来看,这次工作的一大贡献是给 Agent 治理提供了更清晰的“分层”视角。治理不再被简单地等同于“内容过滤”或“规则列表”,而是贯穿 Agent 生命周期的一组机制。

3.1 从静态治理到动态治理

传统 AI 治理是静态的:模型上线前做评估,通过后发布,之后主要通过更新版本来控制行为。这种模式的问题是,Agent 上线后仍然会持续与环境交互,行为是动态变化的。静态评估只能证明“在测试集上表现良好”,不能证明“在真实环境里永远安全”。

动态治理意味着治理机制必须伴随 Agent 运行:每次工具调用都要经过权限校验,每次决策都要有日志,每个高风险动作都要有审批或熔断。这更像传统网络安全里的“零信任”思路,而不是“一次审查、永久信任”。

3.2 从单 Agent 治理到多 Agent 系统治理

这次工作还有一个重要信号:多 Agent 协作已经成为 Agent 应用的主流形态,但多 Agent 系统的风险远大于单 Agent。一个 Agent 可能调用另一个 Agent 的工具,工具结果又回传给第一个 Agent,形成复杂的调用链。在调用链上,任何一个节点被绕过,整个治理体系就可能失效。

工程上这意味着:

  • 调用链上的每个环节都要保留原始身份上下文,不能“经过一次内部调用就丢失用户身份”。
  • 权限校验必须在每个 Agent 边界上执行,不能只看起始 Agent。
  • 审计日志需要支持链路追踪,能够还原一次任务从开始到结束的完整调用链。

3.3 从“输出审查”到“行动治理”

更根本的变化是治理视角的转变。过去大家关心“模型输出了什么”,现在要关心“Agent 执行了什么、产生了什么影响”。

输出审查的问题是它发生在“话已经说出口”之后。如果模型只是说了句错误的话,撤回成本低;但当模型已经调用工具完成了退款、删除了数据,再想撤回就非常困难。行动治理要求在动作发生之前就进行拦截:工具是否允许、参数是否合法、是否需要审批、是否有次数限制。

这也是这轮“重新定义”对开发者最直接的启发:不要指望模型在最后一刻“良心发现”,而是要在工具层加上硬边界。

3.4 对开发者意味着什么

往工程上翻译,Google DeepMind 这次工作其实是给 Agent 开发者提出了几个设计要求:

  • Agent 系统必须显式声明可以做什么、不可以做什么。
  • 每种工具都要有清晰的权限等级和参数校验规则。
  • 每个高影响动作都必须可追踪、可审批、可回滚。
  • Agent 上线前要像软件系统一样做安全测试和红队演练。
  • Agent 运行时要持续观测,出现异常行为能自动熔断。

这些要求并不复杂,难点在于很多人做 Agent 时只关注“模型能不能完成任务”,没有同步设计治理能力。等到 Agent 真的上线了,才发现权限、审计、审批全部缺位。

4. Agent 治理落地:四个核心工程维度

下面从工程角度拆解 Agent 治理落地时需要关注的四个维度。这四个维度不是可选的加分项,而是 Agent 系统进入生产环境的基本要求。

4.1 身份与权限:Agent 是一个新的“服务账号”

在传统系统里,每个进程、每个服务账号都有独立的权限。Agent 本质上也是一个执行者,应该有独立的身份标识,而不是直接复用用户身份或管理员身份。

推荐的做法是给每个 Agent 分配专属身份,并基于最小权限原则配置工具访问范围。比如客服 Agent 可以读订单、改地址,但不能删除用户;数据分析 Agent 可以执行只读 SQL,但不能写生产库。

权限模型可以用 RBAC(基于角色的访问控制)或更细粒度的 ABAC(基于属性的访问控制),但关键是权限必须落在代码和配置里,而不是写在提示词里。

4.2 工具策略:白名单、参数校验、调用次数

工具是 Agent 行动的出口,也是治理最容易生效的位置。每个工具都应该有明确的策略,包括:

  • 是否允许调用。
  • 允许哪些参数值范围。
  • 单次会话最多调用多少次。
  • 是否需要人工审批。
  • 调用结果是否记录详细输入输出。

一个典型的工具策略配置可以用 YAML 描述,下面第 5 节会给出完整示例。

4.3 审计与可观测性:Agent 的每一步都要有迹可循

Agent 系统必须记录完整的运行轨迹,至少包括:

  • 用户输入和最终输出。
  • 模型中间推理步骤(如果有)。
  • 每次工具调用的工具名、参数、返回值。
  • 权限校验结果、拒绝/批准原因。
  • 运行耗时、Token 消耗、调用成本。

审计日志不只是为了“出事以后查”,更是为了线上问题分析和安全事件溯源。可以用结构化的 JSON 日志输出,后续接入 Kafka、ClickHouse、ELK 都很方便。

4.4 人工介入与熔断:最后一道安全防线

即使有权限校验和工具策略,仍然可能出现模型被绕过、策略被写错、新型攻击出现的情况。所以系统必须支持人工介入:

  • 高危操作进入审批队列,等待人工确认。
  • 事件达到阈值时自动熔断,暂停 Agent 的全部工具调用。
  • 批量回滚已经执行的破坏性操作(比如恢复被删除的数据)。
  • 管理员可以随时终止 Agent 会话并查看完整轨迹。

在工程实现上,审批和熔断最好放在 Agent 编排层,而不是模型调用层。因为编排层能看到完整的工具调用链,有能力决定是否继续。

5. 最小可运行示例:给客服 Agent 加上治理层

理论讲了一大堆,现在用一个实际例子演示如何给 Agent 加上最小的治理层。这个示例不依赖任何复杂的 Agent 框架,只用 Python 标准库风格代码,方便理解核心逻辑。

5.1 场景与文件结构

假设我们有一个客服 Agent,它可以用三个工具:

  • order.query:查询订单信息,只读。
  • shipping.address.update:修改收货地址,可写。
  • refund.create:创建退款,高危,需要人工审批。

文件结构如下:

agent-governance-demo/ ├── config/ │ └── tool_policy.yaml ├── src/ │ └── agent_governance/ │ ├── __init__.py │ ├── policy.py │ └── executor.py ├── examples/ │ └── run_demo.py └── tests/ └── test_governance.py

5.2 工具策略配置

config/tool_policy.yaml

agent: customer-service-agent-v1 version: 1.0.0 owner: team-crm policy: allowed_tools: - tool: order.query permissions: [read] max_calls_per_session: 30 require_human_approval: false - tool: shipping.address.update permissions: [write] max_calls_per_session: 5 require_human_approval: false - tool: refund.create permissions: [write] max_calls_per_session: 1 require_human_approval: true denied_scopes: - "db:prod:write" - "api:payment:execute" audit: level: all sink: stdout retention_days: 180 emergency: kill_switch: true max_consecutive_errors: 5

这个配置的核心是:工具白名单、调用次数上限、是否需要审批、全局禁用范围。实际项目中这个文件会被配置中心管理,并且参与 CI/CD 的权限审查。

5.3 权限校验与审计代码

src/agent_governance/policy.py

# 文件路径:src/agent_governance/policy.py from __future__ import annotations from dataclasses import dataclass, field @dataclass class ToolRule: tool: str permissions: list[str] = field(default_factory=list) max_calls_per_session: int = 100 require_human_approval: bool = False allowed: bool = True @dataclass class AgentSession: session_id: str agent_id: str user_id: str role: str tool_calls: dict[str, int] = field(default_factory=dict) approved_tools: set[str] = field(default_factory=set) def check_and_record(self, rule: ToolRule) -> bool: if not rule.allowed: return False if rule.require_human_approval and rule.tool not in self.approved_tools: return False current = self.tool_calls.get(rule.tool, 0) if current >= rule.max_calls_per_session: return False self.tool_calls[rule.tool] = current + 1 return True

src/agent_governance/executor.py

# 文件路径:src/agent_governance/executor.py import json import time import uuid from typing import Any from .policy import AgentSession, ToolRule class AuditLogger: def __init__(self, sink: str = "stdout"): self.sink = sink def record( self, event_type: str, session: AgentSession, tool: str, detail: Any = None, reason: str = "", ): event = { "event_id": str(uuid.uuid4()), "timestamp": int(time.time()), "event_type": event_type, "session_id": session.session_id, "agent_id": session.agent_id, "user_id": session.user_id, "role": session.role, "tool": tool, "reason": reason, "detail": detail, } if self.sink == "stdout": print(json.dumps(event, ensure_ascii=False, indent=2)) else: raise NotImplementedError(f"unsupported audit sink: {self.sink}") def save(self): # 实际项目中落地到 Kafka / ClickHouse / ELK,本文只演示接口 pass def execute_tool_call( session: AgentSession, rule: ToolRule, tool_input: dict[str, Any], audit: AuditLogger, ): if not rule.allowed: audit.record("tool_call_denied", session, rule.tool, tool_input, "tool not allowed") return {"status": "denied", "reason": "tool not allowed"} if rule.require_human_approval and rule.tool not in session.approved_tools: audit.record("tool_call_pending_approval", session, rule.tool, tool_input, "human approval required") return {"status": "pending_approval", "reason": "human approval required"} if not session.check_and_record(rule): audit.record("tool_call_denied", session, rule.tool, tool_input, "session limit exceeded") return {"status": "denied", "reason": "session limit exceeded"} audit.record("tool_call_started", session, rule.tool, tool_input) # 实际项目在这里做真实工具调用,例如 HTTP 请求、数据库操作、消息发送 result = {"ok": True, "message": f"mock execute {rule.tool}"} audit.record("tool_call_finished", session, rule.tool, result) return result

这个代码的核心逻辑是:每次工具调用都必须经过“工具是否允许、是否需要审批、会话次数是否超限”三重检查,并且每次通过或拒绝都写入审计日志。

examples/run_demo.py

# 文件路径:examples/run_demo.py from agent_governance.policy import AgentSession, ToolRule from agent_governance.executor import AuditLogger, execute_tool_call rules = { "order.query": ToolRule( tool="order.query", permissions=["read"], max_calls_per_session=30, ), "shipping.address.update": ToolRule( tool="shipping.address.update", permissions=["write"], max_calls_per_session=5, ), "refund.create": ToolRule( tool="refund.create", permissions=["write"], max_calls_per_session=1, require_human_approval=True, ), } session = AgentSession( session_id="session-001", agent_id="customer-service-agent-v1", user_id="user-1001", role="support", ) audit = AuditLogger(sink="stdout") if __name__ == "__main__": # 1. 查询订单:在权限范围内 execute_tool_call(session, rules["order.query"], {"order_id": "A100"}, audit) # 2. 修改地址:允许执行 execute_tool_call( session, rules["shipping.address.update"], {"order_id": "A100", "address": "new address"}, audit, ) # 3. 创建退款:需要人工审批,第一次调用应被拦截 execute_tool_call(session, rules["refund.create"], {"order_id": "A100", "amount": 99.0}, audit) # 4. 模拟审批通过后执行,用完唯一一次额度 session.approved_tools.add("refund.create") execute_tool_call(session, rules["refund.create"], {"order_id": "A100", "amount": 99.0}, audit) # 5. 再次执行,会话上限已满,应被拒绝 execute_tool_call(session, rules["refund.create"], {"order_id": "A100", "amount": 99.0}, audit)

运行方式:

cd agent-governance-demo python -m venv .venv source .venv/bin/activate # Windows 使用 .venv\Scripts\activate pip install pyyaml pytest python examples/run_demo.py

注意:这个 demo 没有真正接大模型,也没有接真实工具,而是把治理层单独拎出来演示。实际接入时,只需要把 Agent 模型“决定调用工具”的那一步,改成调用execute_tool_call即可。这样模型就失去了直接执行危险操作的路径。

6. 治理效果验证与测试用例

写完治理层之后,不能只看代码“能跑”,还要验证治理规则真的生效。可以用单元测试覆盖关键行为。

tests/test_governance.py

# 文件路径:tests/test_governance.py from agent_governance.policy import AgentSession, ToolRule from agent_governance.executor import AuditLogger, execute_tool_call def test_query_within_limit(): rule = ToolRule( tool="order.query", permissions=["read"], max_calls_per_session=30, ) session = AgentSession("s1", "agent-v1", "u1", "support") audit = AuditLogger() result = execute_tool_call(session, rule, {"order_id": "A100"}, audit) assert result["status"] != "denied" assert result.get("ok") is True def test_refund_requires_approval_and_limit(): rule = ToolRule( tool="refund.create", permissions=["write"], max_calls_per_session=1, require_human_approval=True, ) session = AgentSession("s2", "agent-v1", "u1", "support") audit = AuditLogger() r1 = execute_tool_call(session, rule, {"amount": 10}, audit) assert r1["status"] == "pending_approval" session.approved_tools.add("refund.create") r2 = execute_tool_call(session, rule, {"amount": 10}, audit) assert r2.get("ok") is True r3 = execute_tool_call(session, rule, {"amount": 10}, audit) assert r3["status"] == "denied"

运行测试:

pytest tests/test_governance.py -v

预期输出中的关键点是:未审批时返回pending_approval,审批后第一次调用成功,第二次达到会话上限被拒绝。

运行python examples/run_demo.py时,审计日志里应该能看到:

{ "event_type": "tool_call_pending_approval", "session_id": "session-001", "agent_id": "customer-service-agent-v1", "user_id": "user-1001", "tool": "refund.create", "reason": "human approval required" }

如果日志里没有出现pending_approval或者没有出现第二次denied,说明治理逻辑没有被正确触发。排查方向是先确认规则对象是否被正确传入,再确认AgentSession是同一个实例,最后看check_and_record里的判断顺序是否符合预期。

7. 常见问题与排查思路

在把治理层接入实际 Agent 项目时,常见问题集中在配置、身份、审计和模型行为几个方面。下面这张表可以直接用来排查。

问题现象可能原因排查方式解决方案
工具始终被拒绝,无法执行工具未加入白名单,或规则中allowed: false检查策略配置,确认工具名严格一致allowed_tools中补充对应工具
明明审批通过,工具仍然返回未审批审批结果写入了错误的 Session 实例检查 Session 是否在不同模块中被重复创建使用一致的身份上下文,不要每次调用都新建 Session
会话还没有结束,工具调用次数就超限max_calls_per_session配置过小,或多次测试复用了同一个 Session查看审计日志中的累计调用次数合理设置额度,或按业务需求重置会话
审计日志缺失工具调用没有经过治理层,直接执行了真实工具检查 Agent 编排代码,确认工具执行入口唯一把工具调用统一收口到execute_tool_call这类函数
模型被提示注入诱导危险调用外部内容里隐藏了指令,模型无法识别检查输入来源,复现注入场景在治理层强化高危参数校验,必要时高危操作全量人工审批
多 Agent 协作时身份丢失内部调用没有透传原始 Session查看审计日志中的agent_iduser_id在调用链上透传上下文,不新建匿名 Session
线上出现异常,无法快速停住 Agent缺少熔断机制检查是否有应急开关增加kill_switch,达到错误阈值时自动暂停工具调用

需要特别注意最后两行:多 Agent 失去身份上下文和没有熔断,是生产事故里风险最高的两类问题。身份丢失会导致权限校验失效,熔断缺失则意味着只能眼睁睁看着 Agent 继续执行。

8. 最佳实践与工程建议

治理层写出来不难,真正难的是把它设计得适合生产环境。下面几个建议来自实践中的常见教训。

8.1 权限边界一定要显式化

不要依赖模型“自觉”遵守安全规则。提示词里写“不要执行危险操作”只是一个软约束,模型可能被绕过,也可能理解偏差。真正可靠的边界必须在代码里硬校验:工具白名单、权限等级、参数范围、调用次数。权限应该是可配置、可审查、可测试的。

8.2 工具定义要同时服务于模型和治理

工具的定义不能只写“工具名和参数”,还要让治理层理解这个工具的影响等级。建议给每个工具补充以下字段:

  • impact_level:只读、可写、高危、管理员级。
  • allowed_params:允许的参数范围。
  • denied_value_patterns:禁用参数模式,比如拒绝包含DROP TABLE的参数。
  • require_human_approval:是否需要审批。
  • timeout_ms:执行超时时间。

这些字段既可以帮助模型更好地选择工具,也可以让治理层在运行时精确拦截。

8.3 设计审计日志时,先想好怎么查

审计日志不是“有就行”,而是要能回答具体问题:

  • 这个 Agent 在某个时间段内调用了哪些工具?
  • 有没有工具被频繁拒绝?
  • 一次任务从用户输入到最终结果的完整调用链是什么?
  • 某个危险操作是谁触发的,当时的人工审批人是谁?

这要求在写日志时保留足够的关联字段:session_id、agent_id、user_id、parent_trace_id、tool、event_type、timestamp。建议从第一天就用结构化日志,不要等出事了再补。

8.4 先有熔断机制,再考虑上线

高危 Agent 应用上线前,至少要准备好三件事:

  1. 手动总开关:可以随时暂停全部工具有效动作。
  2. 自动熔断:连续错误次数超过阈值时自动停止。
  3. 回滚方案:危险操作执行后,如何恢复数据或撤销状态。

很多团队把 Agent 上线当作模型上线来管理,只关心回答质量和延迟,忽略了动作级的风险。这是一个需要纠正的工程习惯。

8.5 定期做红队测试和策略演练

Agent 上线后,治理策略也需要持续更新。建议每隔一段时间做一次红队演练,测试以下场景:

  • 用户通过提示注入诱导 Agent 调危险工具。
  • 外部文档内容包含隐藏指令。
  • 多 Agent 协作时,某个 Agent 被另一个 Agent “利用”。
  • 工具调用参数中混入恶意值。

每次演练后更新工具策略和权限配置,把它当成一次安全评审来对待。

9. 总结与后续学习方向

Google DeepMind 在 Nature 上重新定义 AI Agent 治理,本质上是在提醒整个技术社区:当模型从“生成内容”走向“执行动作”,安全问题的重心也在迁移。Agent 治理不再是一句口号,而是身份、权限、审计、审批、熔断这些工程能力的具体组合。

从实践路径看,值得沿着几个方向继续深入:

  • 如果你想深挖模型层能力,可以研究 RLHF、RLVR(基于可验证奖励的强化学习)、模型安全评测、红队测试。
  • 如果你想深挖 Agent 工程层,可以研究工具调用规范、上下文构建、多 Agent 编排、向量记忆权限隔离。
  • 如果你想深挖基础设施层,可以研究可观测性工具链、策略引擎、审计日志系统、配置中心和灰度发布。

最后提醒一点:治理能力要和 Agent 能力同步开发,不要等项目上线后再补救。一个从第一天就带着权限边界、审计日志和熔断开关的 Agent 系统,比一个功能强大但无法约束的 Agent 系统,要可靠得多,也更容易在生产环境里长期运行。

建议把这个最小示例跑通后,再逐步把策略配置接入配置中心,把审计日志接入统一日志平台,把审批流程接入企业内部的工单系统。这样,Agent 治理就从示例代码变成了真正可用的生产能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 13:27:06

线程池面试八股全解析:七参数、阻塞队列与拒绝策略

最近帮一个学弟做模拟面试,我让他先讲讲线程池的七个参数,他背到第四个就卡住了。其实不怪他,线程池这块的八股文确实又多又杂,网上随便一搜就是几十篇文章,但大部分都是抄来抄去,没有一个能让人真正"…

作者头像 李华
网站建设 2026/9/4 20:36:00

上下文窗口并非越大越好:Context Window原理与工程实践

如果只看参数表和发布会,很多人会得出一个结论:上下文窗口越大,模型就越强,应用能做的事情就越多。128K、1M、10M,数字越拉越高,仿佛谁窗口大谁就赢了。但 Matt Pocock 在科普视频里提出了一个非常反直觉的…

作者头像 李华
网站建设 2026/9/12 7:29:22

AI应急响应落地实践:核心流程、批量运营与模型故障排查指南

AI 时代的应急响应,正在从“人翻日志、人拉时间线、人写报告”逐步变成“模型辅助人找证据、人做最终判断、系统自动记录过程”。最近聊 Incident Response 和 AI,很多安全团队都会问同一个问题:大模型到底能不能真正缩短排查时间。我的结论是…

作者头像 李华
网站建设 2026/9/1 5:45:32

第一次送评TPG,需要注意啥?

作为钱币收藏中公认的“明星品种”,奥运钞因其重大历史题材、限量发行和独特设计,在纪念钞板块一直拥有较高关注度。不过,随着时间推移,市场对奥运钞的行情早已不是“一刀切”——品相和号码成为决定价值的核心变量。一张无47、无…

作者头像 李华
网站建设 2026/9/1 10:20:31

大厂Java面试八股文破局:从原理到实战的复习路线

2023年的Java面试确实是硬仗,我从年初帮朋友做模拟面试,到后来陆续收到一些读者的反馈,发现大家收集的面试题资料其实一点都不少,GitHub上的八股文仓库、付费专栏、面经合集随便一搜都是几百上千条。但问题也随之而来:…

作者头像 李华
网站建设 2026/9/1 10:17:09

Python教程-提升编程效率的Python自动化技巧!

非常有名因简洁且易于使用, 格外适宜用以处理各类自动化问题。把控住几个关键的自动化本领, 不但能够提升工作效率, 而且还能够使你从繁杂琐碎的重复劳作当中脱离出来。接下来便是几个实用的自动化诀窍, 助力你将工作进程提高好数个层级。文件操作自动化处理文件是最常见的自动…

作者头像 李华