SuperAPI AI 工具集

audit-agent-history

智能体与模型

查看项目

更新于 10-15 14:51

技能介绍

用途

该技能用于审计用户自己的智能体会话日志,按模型和运行框架统计失败模式,并据此提出最多三条危险规则。其核心理念是:凭猜测写出的规则容易失效,而从用户自己日志中统计出的纠正记录写出的规则更有效。技能会先计数,然后为 bundles/workflow/rules/workflow-hazards.md 提出最多三行规则,并找出值得提升到中心规则的消费者 overlay 配对。

日志位置

使用前需先用 ls 验证每个路径,跳过不存在的路径并在报告中说明。

  • Claude Code:~/.claude/projects/<project-slug>/*.jsonl。每个会话一个文件,每行一条 JSON 消息;type 为 user 或 assistant;cwd 标明仓库;assistant 行携带 model(如 claude-fable-5、claude-opus-5)。
  • Codex:~/.codex/sessions/<yyyy>/<mm>/<dd>/rollout-*.jsonl。每个会话一个文件;首行 type: session_meta 含 cwd;后续行携带 model(如 gpt-5.6)。

项目 slug 是仓库路径将 / 替换为 - 后的结果:/Users/x/repo/skilly 变为 -Users-x-repo-skilly。

范围

需询问或采用默认值:

  • repos:哪些 cwd 值;默认全部
  • window:默认 30 天,按文件 mtime 或时间戳
  • models:默认所有出现过的模型

整个审计在一个子智能体中运行,因为这是对大量日志的深度推理。原始日志不进入主上下文,子智能体只返回报告。

方法

  1. 按模型和框架统计会话数与用户消息数,两者都是第 4 步的分母。
  2. 查找纠正:用户消息跟在助手操作之后并推翻该操作。匹配 no、don't、stop、I said、why did you、undo、revert、not what I asked、I didn't ask 等词。阅读每个命中前的两条消息以排除误报(回答问题的 no 不是纠正)。
  3. 将每条纠正归类到 references/failure-modes.md 中的一个模式,一条纠正只归一个模式,未匹配的归入 other 并附两词标签。
  4. 按模型按模式计数,归一化:纠正数 / 用户消息数 * 100。原始计数会偏向使用最多的模型。
  5. 为排名前三的模式各引用两个真实示例:助手操作和用户纠正。需脱敏处理密钥和主目录下的所有路径(~/...)。
  6. 追问一条最差会话:用相同模型在其自己的智能体中打开最差会话,询问:是什么让人以为这是对的、规则文件或 CLAUDE.md 中哪一行过时了、请求最早在哪里被误读。将答案记录在它所解释的模式下。
  7. 追问一条最慢会话:取每条用户消息对应工具调用最多的会话,将其工具调用分组(定位读取、重复读取、检查、编辑、验证),将未改变结果的分组标记为无用。
  8. 收集 overlay 配对:在范围内每个仓库中读取 .claude/rules/*.local.md。这些是消费者在同步规则下写的 bad/good 配对。若某配对出现在两个或更多仓库中,或匹配前三模式,则是其扩展规则的提升候选。

输出

报告表格,每个模型和模式一行,按每百条降序排列:

| mode | model | count | per 100 messages | example |

然后是 ## Proposed hazards 块,最多三条规则,格式参照 bundles/workflow/rules/workflow-hazards.md:一行编号,Never 加动作,然后是原因。每条规则携带日志中的一个 bad 和一个 good 示例。

示例:

  1. Never kill a process by port number alone. Two harness instances share a port range; the audit found four kills of the running session in two days. Bad: kill $(lsof -t -i:3000). Good: ps -o pid,command | grep <name>, then kill the one pid.

然后是 ## Hoist candidates 块:每个 overlay 配对一行,注明仓库、规则文件及其扩展的条目,以及配对原文。

然后交接:

  • 向用户展示报告和两个块,停止。
  • 经确认后,仅在中心仓库(timschoch/skilly)的 bundles/workflow/rules/ 下编辑规则文件。绝不在消费者仓库中编辑:规则从中心同步,下次同步会覆盖本地编辑。提升的配对放在其扩展的条目下;消费者随后从自己的 .local.md 中删除它们。

参考

references/failure-modes.md:模式、每个模式的日志信号、一个示例。