大模型应用
当 agent harness 行为异常时…
通过读取 .vigiles/runs.jsonl 飞行记录器日志,基于证据诊断 harness 的技能触发、hook 决策、子代理工具契约与指标漂移问题。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
当 agent harness 行为异常特定
解决思路
- 读取 .vigiles/runs.jsonl(JSONL 格式,每行一条记录,容忍最后一行不完整);若文件缺失或为空,如实说明尚无记录,建议先运行 harness(或 vigiles audit),不要编造记录。
- 理解账本中每类记录的结构:hook 记录编译后 hook 的门控决策 {event, decision: allow|deny|ask, mode: enforce|observe, rule, cmd, reason};agent 记录子代理工具契约决策 {name, tool, allowed, reason}(allowed 为 false 表示代理越界);skill 记录技能激活 {name, fired};eval 记录度量指标 {name, metric, value}(如 trigger-rate 的 recall/precision);capability-diff 记录爆炸半径变化 {pr, added, removed, widened}。
- 针对“技能 X 为何不再触发 / 为何运行了错误的技能”:按名称统计 skill 触发次数随时间的变化;若 X 的触发率下降,查找在同一类提示上触发的同类技能(选择冲突),检查二者描述是否重叠,建议区分或合并描述。
- 针对“hook 为何没有拦截”:查找该事件的 hook 记录;若本应拒绝却出现 decision: allow、或 mode: observe(影子模式,从不拦截)、或完全没有记录,即可定位原因;建议将 observe 改为 enforce 或修复门控逻辑。
- 针对“子代理是否行为不当”:列出 allowed: false 的 agent 记录,即代理调用了其声明契约之外的工具;指出应收紧或放宽的契约。
- 针对“是否在变差”:跨运行比较 eval 指标值(recall/precision),下降趋势即为漂移(常在 harness/模型升级后出现)。
- 优先推荐将“被忽视但可判定”的规则从散文提升为确定性门控:反复出现的 agent 违规或代理屡次违反的规则 → 编译为 hook 或更严格的工具契约(可借助 strengthen 技能)。
- 描述冲突 → 区分技能描述。
- 始终引用诊断所依据的具体记录。
- 若修复属于规格变更,交接给 edit-spec;若属于将指导提升为 linter 规则,交接给 strengthen;若需要度量行为断言(技能现在是否触发?),交接给 test-harness(measureTriggerRate)。
适用边界 · 注意事项
- 不适用于编写新规则(应使用 strengthen)或编辑规格(应使用 edit-spec)。
- 当 .vigiles/runs.jsonl 缺失或为空时无法诊断,需先运行 harness 或 vigiles audit。