ARTICLE · 人工智能

Agent 治理:用 Hook 堵住 LLM 的偷懒、越权与失忆

作者:腾讯技术工程 来源:腾讯技术工程 2026-07-16 17:52 40 分钟 322 阅读 9838 字
人工智能Agent 框架LLMHook 机制大模型安全
一语总结

本文通过 Agent 框架的 Hook 机制、读写离线离载以及 HITL 与上下文闭环,系统性地防止 LLM 在处理长文本时的偷懒、越权与失忆问题。

AI 总结

文章以腾讯 DECO 数仓 Agent 为例,详细拆解了三类 LLM 失误——长文本偷懒(截断、占位略写)、越权操作(未确认发布/回刷)以及上下文失忆(不主动查下游影响或产出物)。提出在框架层使用 Hook 链(Before/After Tool、Before/After Model 等)实现读写两侧 offload:长脚本全文写入沙箱只读快照,LLM 仅看到引用句柄,写回时通过文件路径入参实现小步增量改写并强制校验;在 beforeTool 挂载危险工具守卫(HITL),通过配置驱动的授权标记在工具真正执行前进行人工确保确认,防止未授权的写生产操作;利用 Hook 收集事实 → 写入 state → Attachment 注入下一轮 prompt 的闭环机制,自动将表结构变更的下游风险或脚本生成的图片等信息在下一轮对话中呈现给用户,消除模型的主动查询健忘。文章进一步对比了 ADK、LangGraph 等现成框架的 offload 能力,指出 DECO 因需要写长 SQL 回写等数仓场景而需在框架层额外实现写侧 onload、脚本文件路径协议、只读快照/工作副本分离以及列级离载等自研扩展。通过大量表格、时序图和代码示例,说明该方案在减少 token 消耗、防止残缺脚本、确保危险操作可控以及实现上下文感知方面的显著效果。

核心要点
  1. 通过读写两侧 offload 让 LLM 只看到引用句柄,避免长文本截断和占位略写。

    把长 SQL 或脚本全文写入沙箱只读快照,LLM 上下文仅保留指向文件的句柄,写回时通过文件路径入参实现小步增量改写并强制校验,从根本上消除因 token 限制导致的偷懒行为。

  2. 在 beforeTool 切面挂载危险工具守卫(HITL),实现对发布、回刷等不可逆操作的代码级确认。

    危险工具清单通过配置驱动,框架在工具真正执行前判断用户是否已授权,未授权则阻断则阻断调用,确保模型不能绕过 prompt 直接执行写生产操作。

  3. 利用 Hook 收集事实 → 写入 state → Attachment 注入下一轮 prompt 的闭环,解决 LLM 主动查询下游影响或产出物的健忘问题。

    例如 RiskAnalysisHook 在 afterTool 检测到表结构变更并把下游影响写入 state,下一轮 LLM 通过 Attachment 自动得到风险提示;同理 PythonImageHook 自动捕获生成的图片并以预签名 URL 注入会话。

  4. 框架层的离线离载与 HITL 设计实现了读写对称的离线离载以及读降级/写阻断的失败语义,保障长文本完整性与操作安全。

    读侧落盘失败时降级透传原内容,写侧落盘失败时直接阻断工具调用,防止残缺脚本或未确认的写操作进入生产。

  5. 与现有框架(ADK、LangGraph)相比,DECO 的方案在写侧 onload、脚本文件路径协议、只读快照/工作副本分离以及列级离载等方面进行了必要的自研扩展。

    现成框架的 offload 多仅做读侧,而数仓场景需要长产物原样回写,因而需要在框架层额外实现对称的写侧保护和更细粒度的离载机制。

Agent 治理:用 Hook 堵住 LLM 的偷懒、越权与失忆

文章以腾讯 DECO 数仓 Agent 为例,详细拆解了三类 LLM 失误——长文本偷懒(截断、占位略写)、越权操作(未确认发布/回刷)以及上下文失忆(不主动查下游影响或产出物)。提出在框架层使用 Hook 链(Before/After Tool、Before/After Model 等)实现读写两侧 offload:长脚本全文写入沙箱只读快照,LLM 仅看到引用句柄,写回时通过文件路径入参实现小步增量改写并强制校验;在 beforeTool 挂载危险工具守卫(HITL),通过配置驱动的授权标记在工具真正执行前进行人工确保确认,防止未授权的写生产操作;利用 Hook 收集事实 → 写入 state → Attachment 注入下一轮 prompt 的闭环机制,自动将表结构变更的下游风险或脚本生成的图片等信息在下一轮对话中呈现给用户,消除模型的主动查询健忘。文章进一步对比了 ADK、LangGraph 等现成框架的 offload 能力,指出 DECO 因需要写长 SQL 回写等数仓场景而需在框架层额外实现写侧 onload、脚本文件路径协议、只读快照/工作副本分离以及列级离载等自研扩展。通过大量表格、时序图和代码示例,说明该方案在减少 token 消耗、防止残缺脚本、确保危险操作可控以及实现上下文感知方面的显著效果。

文章金句

"

“prompt 管不住的,框架来堵。”

"

“把 LLM 必须接触的长内容降到最少、每次接触的窗口压到最小、所有写入路径都做成'小步增量改 + 强制校验'。”

"

“唯一的解法是在 Agent 框架层,让偷懒和越权的路径代码级强制走不通,让失忆的已知盲区确定性补齐。”

"

“HITL 本质是一个特殊的 beforeTool Hook:工具真正执行前,判断'是不是危险操作、用户授权了没',没授权就阻断。”

"

“Hook 采集事实 → 写 state → Attachment 注入下一轮 prompt。”