钩子参考
🔵 钩子拦截智能体的生命周期。它们是位于
config/agents/<agent>/hooks/ 中的 YAML 文件,通过 hook_files: 接入(或在
hooks: 中按名称接入)。字段 kind: 选择钩子。下面是所有钩子的汇总表,附有
各章节的链接。
钩子类型
| kind | 用途 | 章节 |
|---|---|---|
faq_cache |
DuckDB 中的缓存(问题 → 答案);返回重复项,跳过 LLM | 上下文与记忆 |
inject |
以声明方式注入系统/用户消息 | 上下文与记忆 |
escalate |
当智能体无法提供帮助时升级到人工 | 路由与可靠性 |
memory |
针对用户的长期记忆(事实 + 摘要) | 上下文与记忆 |
rag |
从归档中检索:将相关分块注入上下文(BM25,无嵌入) | 上下文与记忆 |
tool_cache |
按 (scope, tool, args) 缓存只读工具的结果;对重复项进行 short-circuit |
上下文与记忆 |
link_check |
输出护栏:检查最终答案中的链接是否有依据(依据归档)以及结构安全性;opt-in live HTTP |
安全与质量 |
condense |
根据历史将 follow-up 浓缩为独立请求;完整审计 | 上下文与记忆 |
compact_results |
压缩冗长的工具输出(head/tail + 保留链接) | 上下文与记忆 |
context_summary |
对上下文窗口中挤出的历史进行 LLM 摘要(替代粗暴拼接) | 上下文与记忆 |
format_guard |
确定性的答案格式化:裸 URL → 链接,去重,每行一个链接 | 安全与质量 |
schema_guard |
按 JSON Schema 验证答案或工具参数;notice / rework / deny |
安全与质量 |
language_guard |
答案语言:捕获用户语言,可选指令,不一致时 notice/rework |
安全与质量 |
guard |
无状态 DLP 膜:检测实体(email/电话/卡号/ИНН/СНИЛС/密钥……)并执行动作——在输入、输出和工具边界上 redact/deny/suppress/notice/rework |
安全与质量 |
pseudonymize |
可逆假名化:向模型提供 [EMAIL_1] 的替代物,本地 DuckDB-vault,对答案/工具参数进行去令牌化 |
安全与质量 |
loop_guard |
打破工具调用循环:超过阈值时 deny 重复 |
路由与可靠性 |
groundedness |
输出护栏:检查最终答案中的断言是否得到 RAG 归档的证实;notice/rework |
安全与质量 |
circuit_breaker |
原生 provider circuit breaker 配置(per-agent):跳过故障 provider,转向 failover | 路由与可靠性 |
model_router |
基于分类器的模型路由(ONNX/LLM/hybrid):为每条消息选择 model_config |
路由与可靠性 |
intent_router |
基于分类器的分诊:按意图进行 reply/inject/notice/escalate |
路由与可靠性 |
lexicon |
自学习查询规范化器:槽位 + gap + golden-gated 自动学习(YAML 包 + DuckDB 覆盖层) | 上下文与记忆 |
llm_cache |
原生推理缓存:精确提示的重复项从 DuckDB 返回,无需 provider(turn loop、llm(...)、ask-评判器) |
路由与可靠性 |
script_hook |
基于 Rhai/JavaScript 的脚本钩子(参见 07-scripts) |
扩展 |
agent_events |
原生智能体操作日志:在选定的生命周期点写入事件;路由 GET /v1/events 通过 long-poll 和 cursor drain 将其对外提供 |
扩展 |
dll_hook |
来自原生 Rust DLL 的钩子(C ABI,参见 20-native-plugins) |
扩展 |
章节
- 基础 — 生命周期点、组合、
HookContext、本地测试。 - 上下文与记忆 —
faq_cache、inject、memory、rag、tool_cache、condense、compact_results、context_summary、lexicon。 - 安全与质量 —
guard、pseudonymize、link_check、groundedness、language_guard、format_guard、schema_guard。 - 路由与可靠性 —
escalate、loop_guard、circuit_breaker、model_router、intent_router、llm_cache。 - 扩展 —
script_hook、dll_hook、原生agent_events(智能体操作日志)。