AI真的按你声明的流程做了吗CANNBot-Sentry Skill执行遵循性审计实战教程【免费下载链接】cannbot-sentryCANN 生态中面向 Agent 工作流的“哨兵”观测 · 审计 · 评测三位一体的质量基础设施项目地址: https://gitcode.com/cann/cannbot-sentryCANNBot-Sentry是 CANN 生态中面向 Agent 工作流的哨兵级质量基础设施集观测、审计、评测三位一体。本文手把手教你用它的Skill 执行遵循性审计Skill audit功能把 AI 会话里的真实执行过程与 SKILL.md 声明逐条对账——AI 是不是真的按你写的流程走了一验便知。为什么遵循性审计是 Agent 质量保障的必修课很多团队已经给 AI Agent 写了详细的 SkillSKILL.md 声明必须先读输入文件、禁止编造数据、按此模板输出……但上线后心里都没底AI嘴上说已按流程执行实际跳步、漏做输出结果碰巧对了过程却违反硬性规则——下次换个输入就可能翻车人工回看几十条 turn 的会话记录找违规根本审不过来。只盯着输出对不对是不够的。CANNBot-Sentry 的 Skill audit 子 tab 直接回答另一个问题过程是否照声明走了它不重跑任务而是拿已导入的真实会话与恢复出的 SKILL.md 声明逐条对账每条指令给出五态判决见下文让你一眼看清哪几条违规、哪几条没触发、哪几条判不准。审计引擎是仓库内的 sift CLIsift audit会自动从声明中提取 6 类指令步骤、禁令、工具要求、输出格式等再与 transcript 轨迹对账——能程序判定的走程序对账零 LLM、不可作弊需要语义理解的才交给 LLM 判定。三步跑通一次 Skill 执行遵循性审计第 1 步启动 CANNBot-Sentry 并导入会话有两种装法详见 安装使用手册# 方式 A源码启动功能最全首次自动 npm install 建库 git clone https://gitcode.com/cann/cannbot-sentry cd cannbot-sentry/packages/insight ./start.sh # 浏览器自动打开 http://localhost:21025 # 方式 Bnpm 一键安装 npm install -g cannbot-insight cannbot-insight然后把要审计的会话导进来用 cpx 捕获代理 在跑任务时实时捕获cpx claude/cpx opencode或直接导入 opencode 的.db、.jsonl记录。导入后每个 turn 的输入输出、工具调用、Skill 调用都会完整落库——这就是审计的证据面如上图中会话详情页可见的完整 turn 时间线与 Skill 调用记录。第 2 步打开 Audit → Skill audit 子 tab进入目标会话的详情页切到Audit主 tab再切到Skill audit子 tabtab 设计文档。界面分左右两栏左侧本会话所有可对账的声明单元——置顶的主 agent 编排审整个 workflow 的编排纪律 任务完成度以及每个被Skill调用过 / 被 dispatch 过的 skill 与子 agent附事件计数右侧选中某一项点对账系统后台自动完成从会话恢复该 skill 的 SKILL.md 原文 → 物化成临时 skill 目录 → 调sift audit对账 → 回传报告。你不需要手工去会话里翻 skill 正文、不需要手工导出 transcript全部一键完成。第 3 步读懂五态判决报告对账结果按判决严重程度排序FAIL 永远排在最前每条指令一个五态 verdict判决含义✅ PASS 通过执行轨迹里有证据表明照声明做了❌ FAIL 失败违规声明了但没做 / 做反了⊘ N/A 不适用规则存在但本次场景没触发○ UNRESOLVED 未判定LLM 调用或解析失败可重跑救回? INDETERMINATE 存疑证据真模糊重跑也无益需人工确认每条 finding 还带一个正交的method 标程序工具轨迹命中 / 子串匹配零 LLM、最可信或LLM语义判定。遵循度按pass / (pass fail)计算N/A、UNRESOLVED、INDETERMINATE 均不计入分母——这个口径定义在 verdictConfig.ts 里。新手看报告的 3 个技巧先看红色 FAIL 区真违规对带疑似工具噪声 / 疑似 skill 问题 / 待确认徽章的 FAIL 做二次判断可能是工具结果噪声导致的误判点 finding 里的#turn可直接跳转 Turns tab 对应回合亲眼核对证据。它是怎么做到的原理 60 秒速览整个对账链路很短核心是 audit-skillsift 路由恢复声明skill 的完整正文其实就藏在会话里那次Skill工具调用的resultJson中skill_content标签包裹sift-audit.ts 负责把它剥出来主 agent 编排则组合编排规程 任务计划STATE.md两层声明一次对账同时审怎么干与干什么物化临时 SKILL.md注入 frontmatter 后写成临时 skill 目录--kind skill保证只对账这个 skill 被调用期间的片段不误伤会话里其他 skill 的 turn执行对账调sift auditopencode 原生.db走--db直读jsonl 捕获的会话自动序列化成结构化 records 走--transcriptbuildStructuredRecords 会把子 agent 的 turn 归入独立作用域防止主/子 agent 噪声互相污染回传报告audit-report.json HTML 内嵌展示结果缓存到 sessionStorage切 tab 不丢重复点击不会堆叠请求。UI 侧的目标列表与状态机在 SkillAuditTab.tsx。常见问题排查提示需安装 sift Claude Code CLISkill audit 走 sift 自带的 LLM 后端需在 PATH 里装好 siftbash install.sh和 Claude Code CLI它与 Workflow audit 的 OpenAI 兼容 provider 配置互不相干。报 404 无 sourcePath该会话不是从.db导入的而 sift 对账需要原始数据文件请用 cpx 捕获或从 opencode.db/ jsonl 重新导入。恢复不到 skill 正文该 skill 在会话里没有invoke/use事件正文无载体自然不可对账——这类目标不会出现在左侧列表里。UNRESOLVED 较多多为 LLM 后端限流或解析失败点重跑通常能救回INDETERMINATE则说明证据本身矛盾或缺失建议人工复核对应 turn。小结给 Agent 写了流程声明就该像代码有测试一样对执行过程做质量检查。CANNBot-Sentry 的 Skill 执行遵循性审计把这件事压缩成三步导入会话 → 选声明单元 → 读五态判决配合 sift 使用手册 还能进一步用sift eval/sift gate把遵循性检查推进 CI。下次再怀疑AI 是不是走捷径了直接开一次对账答案自己会浮出水面。【免费下载链接】cannbot-sentryCANN 生态中面向 Agent 工作流的“哨兵”观测 · 审计 · 评测三位一体的质量基础设施项目地址: https://gitcode.com/cann/cannbot-sentry创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
