钩子

Hook

又称: Lifecycle hook

在智能体生命周期的特定节点(如工具调用前后、会话开始 / 结束)自动执行的用户自定义逻辑,常用于审计、拦截和改写。

beforetool callHOOK(audit / block)toolrunsdeterministic, not model-mediated
示意图(简化)

工作方式

运行时在预定义的事件点回调你注册的代码 / 命令。以“工具调用前”为例,钩子可以:记录这次调用(审计)、检查参数是否越界并阻止执行(拦截)、或修改参数后放行(改写)。钩子由运行时确定性地执行,不经过模型判断,因此适合承载“无论如何都必须做 / 必须禁止”的规则。

典型用途

  • 把每次工具调用写进日志,供事后追溯。
  • 命中危险命令(删库、外发数据)时直接拦下。
  • 在文件保存后自动跑格式化 / lint。
  • 会话结束时收集用量统计。

这类需求如果交给提示词“请记得……”并不可靠,用钩子才有保证。

常见误解

  • 钩子是运行时机制,不是让模型“记得做某事”——后者不可靠。
  • 钩子能改写 / 拦截工具调用,但它不理解语义,规则要自己写严谨。

相关术语

参考来源

  1. Anthropic — Claude Docs: Claude Code hooks

整理于 2026-08-29 · 本术语表基于公开论文、官方规范和行业通用定义整理,随领域发展会更新。发现问题欢迎反馈。