3.1 只用 Skill——代码审查清单方案
小王用同一个任务(安全代码审查)试三种方案——第一种:只写审查清单 Skill。
Skill 方案
小王写了一个安全代码审查的 Skill:
📄 .claude/skills/security-review/SKILL.md
检查项
SQL 注入 — 检查所有 SQL 查询是否使用参数化
XSS — 检查所有用户输入是否转义
CSRF — 检查所有 POST 请求是否有 token
认证 — 检查所有 API 是否有认证中间件
授权 — 检查所有操作是否检查权限
流程
先检查安全项,再检查性能,最后检查风格输出格式
对每个发现的问题:- 严重程度:🔴高危 / 🟡中危 / 🟢低危
- 位置:文件名:行号
- 描述:问题说明
- 建议:修复方案
执行流程
1小王手动触发
/review,Skill 注入到 AI 上下文 ✅2AI 按审查清单逐项检查,输出格式统一 ✅
3每次都先安全后性能,流程一致 ✅
4AI 跳过了 ORM 注入检查——因为清单没写 ⚠️ 软失效
5小王想查历史漏洞模式,但 AI 访问不了数据库 ❌
6下个 PR,小王又要手动触发
/review ❌优势与局限
优势
✓ 可预测——每次都按清单执行
✓ 低成本——~500 token/次注入
✓ 确定性——清单写什么就查什么
✓ 输出格式统一——每次都一样
✓ 零开发成本——写 Markdown 就能用
局限
✗ 软失效——AI 可能跳过检查项但不会报错
✗ 无法覆盖未写入的场景(如 ORM 注入)
✗ 无法查询外部数据库
✗ 每次需要人工触发
✗ 无法持续自动运行
软失效实例
清单执行情况(5 项中 4 项通过,1 项被跳过,2 项不在清单范围)
SQL 注入检查✓ 通过
XSS 检查✓ 通过
CSRF 检查✓ 通过
认证检查✓ 通过
授权检查✗ 跳过(AI 忽略了此检查项)
ORM 注入检查— 不在清单中
历史漏洞对比— 不在清单中(无法访问数据库)
⚠ 注意:授权检查被跳过不会报错——AI 无声无息地忽略了它。清单外的项目(ORM 注入、历史漏洞)更是无从检查。这就是"软失效"。
Token 成本分析
Skill 方案 Token 消耗(每天 10 个 PR)
Skill 指令(输入)~5,000 token/天
PR 代码(输入)~30,000 token/天
AI 输出(审查意见)~15,000 token/天
每日总 token~50,000
每日费用($3/M input + $15/M output)~$0.34
成本特点:可预测——每轮对话固定消耗,无走偏风险。注意:AI 输出 token 按输出价格计费(约输入价格的 5 倍),实际成本高于纯按 token 数量估算。
小王的评价
适合
• 小团队偶尔审查
• 只需要标准化输出
• 没有开发资源做 Agent
• 审查频率低(1-2 个/天)
不适合
• 需要自动化(不想手动触发)
• 审查频率高(5+ 个/天)
• 需要查询历史数据
• 需要覆盖未预见的漏洞模式
本节核心要点
- 只用 Skill:审查标准和输出格式好,但需要人工触发和手动中转
- 最大痛点:软失效——AI 跳过检查项不会报错,对未覆盖场景(如 ORM 注入)无能为力
- Token 成本可预测——每天约 $0.34(含输出 token 价格差异),无走偏风险
- 适合低频、标准化场景,不适合需要适应性和自动化的场景