| name | intent-check |
| description | 意图校验。实现前做一次快速检查 — 我真的理解要做的事吗?防止"以为自己懂"的陷阱。 |
意图校验 (Intent Check)
为什么需要这个
Agent 最危险的错误不是"不会做",而是"以为自己会做"。
典型场景:用户说"加个 GEO 审计",Agent 以为 GEO = 地域分析,自信地实现了整套错误方案。
Stop Hook 的反思机制抓不住这种错误 — 因为 Agent 全程没有"不确定"的信号。
这个 Skill 就是在实现前加一道闸门:快速验证理解是否正确。
触发条件
- UserPromptSubmit Hook 注入提醒时 — Hook 检测到用户指令包含不在知识库中的概念
- Lead 调度前主动调用 — Dashboard 消息涉及新任务/新工具/新概念时
- Worker 执行前 — 当任务描述包含不熟悉的术语
- 用户说"先想想"/"确认一下" — 手动触发
什么时候不需要调用
- 日常运维操作(巡检、看日志、重启服务)— 已有 Skill 覆盖
- 知识库中已有且最近验证过的概念
- 用户给出了完整明确的步骤(只需执行,不需理解)
执行流程
Step 1: 提取意图和关键概念(10 秒)
从任务描述中提取:
- 动作:要做什么(创建/修改/分析/部署/...)
- 对象:对什么做(脚本/配置/服务/...)
- 概念:依赖哪些领域知识(术语/协议/工具/...)
输出格式(内部思考,不需要告诉用户):
动作: 创建 GEO 审计脚本
对象: scripts/geo-report.sh
概念: [GEO, Generative Engine Optimization, AI 搜索引擎可见性]
Step 2: 知识库比对(10 秒)
对每个关键概念:
Grep 搜索 memory/knowledge/ — 是否有已沉淀的知识?
Grep 搜索 skills/ 目录的 SKILL.md — 是否有相关 Skill?
- 判断分类:
- 已知 — 知识库有记录,且理解与记录一致
- 模糊 — 知识库有提及但不详细,或只有间接关联
- 未知 — 知识库无记录,首次出现
Step 3: 验证模糊和未知概念(30-60 秒)
对"模糊"和"未知"的概念:
- 先说出自己的理解(内部,1 句话)
- WebSearch 验证(1-2 次搜索,看前 3 条结果)
- 比对:
- 搜索结果与自己理解一致 → 标记为"已验证" ✅
- 搜索结果与自己理解矛盾 → 标记为"需修正" ⚠️
- 搜索结果模糊/无关 → 标记为"需深入" ❓
Step 4: 输出判断(立即)
全部已验证 → 一句话确认,继续执行:
✅ 概念验证通过:[概念列表]。继续执行。
有需修正项 → 停下来,向用户说明差异:
⚠️ 发现理解偏差:
- "GEO" — 我以为是地域(Geographic)分析,实际是 Generative Engine Optimization(AI 搜索引擎优化)
- 差异:完全不同的方向,需要重新设计
是否按修正后的理解继续?
有需深入项 → 建议先学习再实现:
❓ 以下概念我不够了解,建议先学习:
- "Content-Signal" — CF 新特性,搜索结果显示与 robots.txt 相关但细节不清
选项:
1. 我先快速研究 10 分钟再实现
2. 你给我解释一下
3. 跳过这个概念,先做其他部分
关键原则
- 快 — 整个过程 < 2 分钟。不是深度学习(那是 self-study 的事),只是快速验证
- 诚实 — 宁可说"我不确定"也不要假装懂。犯错的成本远大于确认的成本
- 聚焦 — 只验证影响实现方向的核心概念,不纠结细节
- 可跳过 — 用户说"不用查了直接做"就直接做,但记录到 learning-queue 事后验证
与其他机制的关系
UserPromptSubmit Hook (检测新概念)
↓ 注入提醒
Lead / Worker
↓ 调用
/intent-check (本 Skill)
├── ✅ 通过 → 继续执行对应 Skill
├── ⚠️ 修正 → 暂停,确认后继续
└── ❓ 未知 → 加入 learning-queue → 调用 /self-study 或问用户
反模式(不要这样做)
- 不要每个任务都调用 — 日常操作不需要。只在遇到新概念时调用
- 不要变成研究项目 — 超过 2 分钟说明应该交给 self-study
- 不要隐藏不确定性 — 如果 WebSearch 后还是不确定,直接说
- 不要修改任何文件 — 这个 Skill 只做验证和报告,不写代码