Hermes Self-Audit Skill
用途
审计 Hermes Agent 的自改进行为,防止它在用户不知情的情况下悄悄创建/修改/归档 skill。定期报告让用户真正掌握 Agent 的学习轨迹。
适用人群
- 使用 Hermes Agent 的运维/SRE 工程师
- 关注 AI 自成长行为安全的团队
- 需要定期审计 Agent skill 变更的运维管理者
审计维度
1. Curator 状态
- curator 是否在运行
- 当前启用的策略(enabled, interval, stale_days 等)
- 最近是否有 skill 被归档
2. Skill 变更检测
- 最近创建的 skill(created_by: agent)
- 最近修改的 skill
- 被归档的 skill
- 异常高频修改的 skill(可能存在震荡)
3. Skill 使用统计
- use_count 最高的 skill
- 长时间未使用的 skill(可能已过时)
4. Memory Provider 健康度
- 当前 memory provider(内置 / honcho / mem0 等)
- honcho 状态(如果启用):peer 数、session 数
- 是否有异常
5. 配置变更检测
- config.yaml 最近的变更(如果可访问)
- memory.provider 是否被意外修改
报告格式
🛡️ Hermes 自改进审计报告
━━━━━━━━━━━━━━━━━━
📅 审计时间:2026-05-07 10:00
⏰ 上次审计:N 天前
【Curator 状态】
运行状态:启用 / 暂停
自动归档:开启 / 关闭
归档阈值:N 天未使用
【Skill 变更 (近 N 天)】
🆕 新建:2 个
- 调研报告模板(2026-05-06)
- 故障排查清单(2026-05-05)
✏️ 修改:1 个
- react-expert(2026-05-04, 3次调用)
📦 归档:0 个
【高频使用 Top 5】
1. react-expert — 23 次
2. shell-script — 18 次
3. python-debugpy — 12 次
【长期未使用 (90天+)】
- finnhub (最后使用: 2026-02-01)
- listenhub (最后使用: 2026-03-15)
【Memory Provider】
当前:honcho
状态:正常
Peers:2 个
【配置检查】
memory.provider: honcho ✅ 未变更
curator.enabled: true ✅
━━━━━━━━━━━━━━━━━━
⚠️ 如有异常,请登录服务器检查
实施步骤
步骤 1:安装 Skill
clawhub install hermes-self-audit
# 或手动复制 SKILL.md 到 ~/.hermes/skills/hermes-self-audit/
步骤 2:创建 Cronjob
hermes cron create "0 10 * * 1" \
--name "Hermes Self-Audit" \
--deliver "feishu:<你的飞书ChatID>" \
--skills "hermes-self-audit"
提示:将
--deliver替换为你实际使用的聊天平台和目标 ID。 支持平台:feishu、discord、telegram 等。
步骤 3:手动触发测试
hermes self-audit
# 或通过 cronjob 手动运行
hermes cron run <job_id>
安全说明
- 此审计不改变任何配置,只读取状态
- 所有操作都是只读的安全检查
- 报告推送到聊天平台后,用户自行判断是否有异常
- 如需回滚任何变更,参考:
hermes curator rollback <skill-name>
依赖
- hermes cli
- curator 已启用(检查
~/.hermes/config.yaml里的curator.enabled) - 可选:honcho(如果用作 memory provider)
示例:真实场景
以下示例为通用场景,帮助理解报告各项含义:
示例 1:Curator 发现高频修改的 skill
【Skill 变更 (近 7 天)】
⚠️ 高频修改:调研报告模板
- 2026-05-06 10:00(创建)
- 2026-05-06 14:30(修改:添加「成本」维度)
- 2026-05-06 16:45(修改:添加「运维复杂度」维度)
- 24h内修改 3 次 → 建议:检查是否存在 prompt 震荡
含义:高频修改可能表示 Agent 在自我适应过程中出现了不稳定调整。
示例 2:Agent 自创 skill 被发现
【Skill 变更 (近 7 天)】
🆕 Agent 创建:cso(2026-05-05 15:20)
- created_by: agent
- 来源:根据用户多次提到某场景自动生成
- 内容:跨服数据聚合操作手册
📦 归档:0 个
含义:部分 Agent 支持根据工作流自动创建 skill。审计可发现这些「隐藏的学习」,确保它们符合用户预期。
示例 3:长期未使用的 skill
【长期未使用 (90天+)】
⚠️ stock-monitor (最后使用: 2026-02-01, 95天未用)
- 用途:股票数据查询
- 建议:归档或删除
⚠️ podcast-generator (最后使用: 2026-03-15, 52天未用)
- 用途:播客内容生成
- 建议:确认是否仍需要
✅ 正常(高频使用):
- shell-script(最后使用: 2026-05-06)
- python-debugpy(最后使用: 2026-05-07)
含义:与当前工作无关的 skill 长期未用是正常的,可归档处理。
示例 4:Curator 异常 — 意外归档
【Curator 状态】
⚠️ 异常:调研报告模板 已被归档
- 归档时间:2026-05-07 02:00
- 最后使用:2026-04-10(87天前)
- 触发条件:archive_after_days=90,但 curator 提前归档
- 可能原因:curator 误判 / 时间计算 bug
→ 建议:用 `hermes curator rollback 调研报告模板` 恢复
【配置检查】
curator.archive_after_days: 90 ✅
curator.stale_after_days: 30 ✅
⚠️ 实际行为与配置不符,需检查 curator 日志
含义:配置值与实际行为不符时,可能存在 curator bug 或配置被意外修改。
示例 5:Memory Provider 被意外切换
【Memory Provider】
⚠️ 警告:provider 从「honcho」变更为「mem0」
- 检测时间:2026-05-07 10:00
- 可能原因:用户执行了 `hermes memory setup` 或配置被修改
- 影响:用户画像、历史记忆可能丢失或格式不兼容
→ 建议:确认是否为预期操作
【配置检查】
memory.provider: mem0 ⚠️ 与上次不同(上次:honcho)
memory.memory_enabled: true ✅
含义:memory provider 变更会影响 Agent 对用户的理解连续性(偏好、习惯等)。
示例 6:正常状态的审计报告
🛡️ Hermes 自改进审计报告
━━━━━━━━━━━━━━━━━━
📅 审计时间:2026-05-07 10:00
⏰ 上次审计:7 天前
【Curator 状态】
运行状态:✅ 启用
自动归档:开启
归档阈值:90 天未使用
上次运行:2 小时前
【Skill 变更 (近 7 天)】
🆕 新建:1 个
- hermes-self-audit(2026-05-06,人工创建)
✏️ 修改:0 个
📦 归档:0 个
✅ Agent 自创 skill:0 个
【高频使用 Top 5】
1. shell-script — 18 次
2. python-debugpy — 12 次
3. systematic-debugging — 8 次
4. kanban-orchestrator — 5 次
5. writing-plans — 4 次
【长期未使用 (90天+)】
- finnhub(最后使用: 2026-02-01)
【Memory Provider】
当前:honcho ✅
状态:正常
Peers:1 个
【配置检查】
curator.enabled: true ✅
memory.provider: honcho ✅ 未变更
━━━━━━━━━━━━━━━━━━
✅ 无异常项目,下次审计:2026-05-14 10:00
常见问题
Q: 报告里发现异常的 skill 怎么办?
A: 用 hermes skills inspect <skill-name> 查看详情,用 hermes curator status 查看 curator 是否有策略自动处理。
Q: 能关掉自动归档吗?
A: 可以,hermes config set curator.enabled false,但建议保持开启以防止 skill 无限膨胀。
Q: 90 天未使用是怎么算的?
A: Curator 会追踪每个 skill 的 last_activity_at 时间戳,90 天内有调用则不算未使用。
Q: Agent 自创的 skill 安全吗?
A: Agent 自创的 skill 会被标记 created_by: agent。审计可以发现这些「隐藏学习」,确保它们符合用户预期。如有非预期的 skill,建议检查并决定是否保留。
Q: 什么情况下需要人工介入? A: 以下情况建议人工检查:
- Agent 自创了非预期的 skill
- memory.provider 被意外切换
- 大量 skill 在短时间内被归档
- 配置值与预期不符
Q: 支持哪些平台推送报告?
A: 支持 Hermes 支持的所有平台:飞书(feishu)、Discord、Telegram、Slack 等。使用 --deliver 参数指定目标,格式为 平台:chat_id。