Agent Hooks(钩子):在 Agent 生命周期的关键节点插入你自己的规则
Hooks 把「模型自决」换成「确定性规则」:在提示词提交前、工具调用前后的固定节点插入你的代码,命中规则就放行、拦截或改写。它是 Agent 时代权限控制与数据防泄漏的底座。
发布 2026-11-08更新 2026-11-08核实 2026-11-08什么是 Agent Hooks
Hooks(钩子)= 挂在 Agent 生命周期固定节点上的拦截器。 Agent 每走到一个关键节点——提示词提交、准备调用工具、工具返回、任务收尾——先停下来执行你注册的代码,由你的代码决定:放行、拦截、改写,还是补充上下文。
它解决的是 Agent 固有的一个结构性矛盾:模型的决策是概率性的,但工程系统需要确定性边界。Prompt 可以约束行为,但 prompt 是「请求」;Hook 是「规则」——LLM gateway 拦不住的内部数据外发、Agent 手滑执行的危险命令,靠 prompt 约束都只是软约束,靠 Hook 才是硬约束。
触发模型:节点在哪里
各家实现节点命名不同,但触发模型高度一致,以站内一手追踪过的 Claude Code 为代表:
| 节点 | 触发时机 | 典型用途 |
|---|---|---|
| 提示词提交前 | 用户输入发给模型之前 | 敏感信息打码、注入企业上下文 |
| 工具调用前(PreToolUse) | Agent 决定调用某工具、尚未执行 | 危险命令拦截、数据外发审计 |
| 工具调用后(PostToolUse) | 工具执行完毕、结果回传前 | 结果脱敏、格式规整 |
| 回合 / 任务结束 | 一轮或一个任务收尾 | 归档、通知、统计 |
Gemini CLI 也已支持 hooks 体系,且在 2026-11 的 v0.67.0 里专门修了从 Claude hook 迁移时超时单位从秒到毫秒的换算(见11-06 版本复核)——侧面说明跨 CLI 的 hook 生态正在互相兼容、开发者真的在迁移。
2026-11 的两件大事:从「个人配置」长成「企业管控」
① Anthropic 企业级 policy hooks 正式可用(GA)。 2026-11 第一周,Anthropic 宣布 Claude Enterprise 的 prompt hooks 与 pre-tool-call hooks 正式可用:企业可以把提示词和工具调用接入已有的 DLP(数据防泄漏)与安全工具,在交互发生前、Agent 动手前先做策略检查。配套的 Claude Enterprise 安全中心(security center) 进入 beta。关键变化是检查点的位置——从事后审计挪到了动作之前。
② Hooks 的「失败语义」被收紧。 本站持续追踪的 Claude Code 版本线里,hook 的容错行为在 2026-10~11 连续多版调整:v2.1.295 起 hook 失败按 fail-closed 处理(见证据)——安全护栏失效时宁可中断也不裸奔放行;v2.1.319 又加了 permissions.denyInsteadOfPrompting(本该弹提示的调用直接拒绝、回合继续)与自动模式在无法核查时的「询问或拒绝」(见证据)。两条线合起来是一个信号:无人值守的 Agent 需要护栏默认是关着的门,而不是默认开着的门。
与相邻概念怎么分
| 概念 | 谁决策 | 典型形态 |
|---|---|---|
| 权限提示 | 人 | Agent 停下来问你 yes/no |
| Hooks | 你的规则 | 节点拦截,自动放行 / 拒绝 / 改写 |
| 沙箱(见 Agent Sandbox) | 环境隔离 | 限制文件系统与网络可达范围 |
| Prompt 约束 | 模型(软约束) | 系统提示词里写「不要……」 |
四层不是替代关系,是纵深:沙箱限可达范围,Hooks 管确定性规则,权限提示兜剩余判断,Prompt 约束打底。 生产级 Agent 部署四层都要有。
实践要点
- Hook 要幂等、要快:每个工具调用都会过一遍,慢 hook 直接拖垮 Agent 吞吐。
- fail-closed 是默认正确答案:hook 进程挂了应该拦截而不是放行;反向配置必须显式声明理由。
- 先审计后拦截:新规则先以「只记录不拦截」模式跑一段时间,看误杀率再收紧——尤其针对 Bash 这类高频工具。
- 企业策略下沉到平台:个人 hook 在
~/.claude里各自为政是管不住团队的,policy hooks 的意义在于由管理员统一分发。
AI 之家 观点
Hooks 是 2026 年 Agent 工程里「最不性感但最值得投入」的一层。模型能力每半年上一个台阶,但数据外发、危险命令、合规审计这些问题的答案始终是确定性的 if/else。谁先把 hook 体系当一等公民来做,谁的 Agent 才敢在没人看着的时候跑长任务——这是从 demo 到生产的分水岭。
相关阅读
- 工具卡:Claude Code · Gemini CLI
- 相邻概念:Agent Sandbox · Agent Harness · Prompt Injection · MCP
- 同期动态:Claude Code 2.1.319:MCP 任务后台化与自动模式 fail-closed
来源
- Anthropic Claude Enterprise policy hooks GA 与安全中心 beta(2026-11,经 AI Native Engineering 周报转述核对)
- Claude Code v2.1.295 hook fail-closed、v2.1.319 denyInsteadOfPrompting(本站官方 CHANGELOG 一手核对,见对应见证页)
- Gemini CLI v0.67.0 hooks 超时单位换算(本站官方 Releases 一手核对,11-06 版本复核)
常见问题
Hooks 和权限提示(permission prompt)有什么区别?
权限提示把决定权交回给人——Agent 停下来问你;Hooks 把决定权交给规则——命中配置就自动放行、自动拒绝或改写,不需要人守着。2026-11 起 Claude Code 还支持 permissions.denyInsteadOfPrompting:本该弹提示的工具调用直接拒绝并让回合继续,专治无人值守场景。
写一个 Hook 大概是什么形态?
以 Claude Code 为例,Hook 就是一段你在设置里声明的命令:指定它在哪个节点触发(如 PreToolUse)、匹配哪个工具(如 Bash 或 WebFetch),Agent 跑到该节点时会把上下文以 JSON 喂给你的命令,命令的退出码决定放行还是拦截。
企业里 Hooks 怎么用?
2026-11 Anthropic 把企业级 policy hooks 做成正式可用:prompt hooks 与 pre-tool-call hooks 可以接入企业已有的数据防泄漏(DLP)与安全工具,在对话发生前、Agent 动手前先做策略检查——检查点在动作之前,而不是事后审计。
相关工具
Aider vs Claude Code:终端 AI 编程双雄怎么选
Aider vs Claude Code 2026 选型对比:开源 BYOK 多模型 vs Anthropic 订阅长任务 Agent,从编程能力、多模型支持、价格、Git 集成、国内可用性和适合人群判断,帮你选对终端 AI 编程工具。
Claude Code vs Cline:CLI AI Agent 怎么选?2026 对比
Claude Code vs Cline 2026 选型对比:Anthropic 官方闭源 CLI Agent vs Apache-2.0 开源 VS Code 插件。从模型绑定、工作流、MCP 支持、价格、隐私和适合人群 6 个维度帮你选对 CLI AI 编程工具。
Claude Code vs Codex CLI:终端 AI Agent 双雄对比
Claude Code vs Codex CLI 2026 选型对比:Anthropic 与 OpenAI 两大官方终端 Agent 的模型、长任务、MCP 生态、Windows 支持、订阅打包价格和国内可用性全方位对比,帮你判断该用哪个终端 AI Agent,以及能不能两个一起用。
Claude Code vs Crush:Anthropic 官方 vs 多模型 TUI(2026 实测选型)
Claude Code vs Crush 怎么选:Anthropic 官方 CLI(长任务最稳),对上 Charmbracelet 开源 TUI(多模型切换 + LSP)。按模型、长任务、价格对比。
Cursor vs Claude Code:什么时候用哪个?(2026 实测选型)
Cursor 和 Claude Code 到底怎么选?一句话结论 + 决策树 + 价格实测 + 国内可用性对比。GUI 派选 Cursor,终端长任务派选 Claude Code,最优解其实是共存。
Devin vs Claude Code:AI 编程 Agent 怎么选?异步自主 vs 终端同步对比
Devin vs Claude Code 2026 选型对比:Cognition 异步自主 Cloud Agent vs Anthropic 终端同步 CLI Agent,从形态、工作模式、长任务能力、并发、价格、中文支持和适合人群 8 个维度判断,帮你选对 AI 编程 Agent。