Hermes Skill Context Pruning 与 Cron Script-only 收口复盘
这次没有机械套用“删掉 95% skills”,而是把外部文章里的有效原则转成本机 Hermes 治理动作:默认上下文更小、skill 正文更瘦、cron 尽量 deterministic script-only、验证以真实 output 和产物为准。
后续继续按“gotchas-first、evidence-first、default surface minimal”治理 skill 和 cron;先观察已改任务自然运行,不继续扩大改动面。
已完成 memory 新增分流规则、skill context-drag 审计指标、6 条 cron 的 script-only 收口与 run-now 验证;所有关键任务保留原 schedule / deliver / workdir / repeat=forever。
先把已验证方案当成稳定基线:保留当前 schedule / deliver / workdir,不急着继续扩面;新增候选先读源码、看 output、做 run-now 验证,再决定是否转 script-only。
证据摘要
- 已完成 memory 新增分流规则、skill context-drag 审计指标、6 条 cron 的 script-only 收口与 run-now 验证;所有关键任务保留原 schedule / deliver / workdir / repeat=forever。
行动清单
hermes-official-docs-sync、daily-backup-notify、hermes-morning-brief-prefetch/send;若继续优化,也先读脚本和 output,再判断是否 script-only 或只做定义层审计。边界 / 风险
weekly-digest 会追加 digest log;memory-archive 会追加 memory log 并可能移动过期日记。这是任务预期行为,但 run-now 验收前必须显式意识到副作用。
script-only 只是减少模型参与。验收仍要看: output 是否生成。 output 是否显示 Mode: no_agent (script)。 wrapper 是否输出真实摘要。 副产物是否存在且大小合理。 API / JSON / report 是否可读。
daily-backup-notify、hermes-morning-brief 这类任务有外部消息副作用。后续应先做定义层审计和脚本检查,不直接 run-now 打扰。
完整记录
Hermes Skill Context Pruning 与 Cron Script-only 收口复盘
背景
本轮起点是一篇关于 Agent Skills 剪枝的文章:WorkOS/Nick Nisi 案例中,把约 10,000 行 Agent Skills 缩到 553 行 gotchas,公开材料声称 eval 时间从 68 分钟降到 6 分钟,成功率从 77% 提升到 97%。
该案例已被整理到长期概念页:[[agent-skill-context-pruning]]。
本机吸收时采用了保守口径:
- 不把单一案例泛化成通用 benchmark。
- 不机械执行“删 95% skill”。
- 不删除现有知识库和 references。
- 只吸收可迁移工程原则:少塞泛知识,多写约束点;少信自报,多看证据;默认暴露面越小越稳。
吸收后的治理原则
1. Gotchas-first
Skill 正文不应该复刻官方文档或长教程。默认只保留:
- 触发条件。
- 边界判断。
- 最短执行链。
- 真实踩坑。
- 验证命令。
- 回滚路径。
背景、案例、矩阵、长解释优先下沉到:
~/llm-wikis- skill
references/ - Hindsight retain pointer
- session history
2. Evidence-first
cron 和 skill 的“成功”不再看 agent 自报,而看:
~/.hermes/cron/output/<job_id>/最新输出jobs.json:last_run_at / last_status / last_error / next_run_at- 真实副产物文件大小、内容、JSON 可解析性
- HTTP API status / stats
- card payload / send receipt
3. Default surface minimal
默认注入上下文越少越好。能用固定脚本完成的 cron,不继续加载 agent、skill、toolsets 和主模型。
最适合 script-only 的任务:
- 固定 HTTP API trigger。
- 固定审计脚本。
- 固定文件生成并可回读验证。
- 固定治理巡检和摘要生成。
不急着 script-only 的任务:
- 仍需开放式分析的任务。
- Feishu interactive card 型任务,尤其有外部推送副作用。
- 晨报 send 这类联动链路。
已完成调整
Memory governance:新增 L0 分流审计
更新位置:
/home/ht/.hermes/skills/integration/hermes-memory-governance/SKILL.md
新增口径:新增 USER.md / MEMORY.md 前先判断是否必须常驻注入。方案、矩阵、路线图、迁移清单、能力分层、选型结论默认优先写 wiki/reference,而不是继续堆 L0 memory。
当前意义:
- 把 L0 memory 定位成索引层。
- 避免把一次性过程和长说明塞进每轮上下文。
- 与
~/llm-wikis的长期知识治理形成分层。
Skill audit:加入 context-drag 只读指标
更新位置:
/home/ht/.hermes/scripts/monthly_skill_exit_audit.py
新增指标:
skill_charsbody_charsline_countcodeblock_countreference_countcontext_dragtop_oversizedlong_without_references
已验证事实:
- non-archive total chars: 2,234,826
- skills > 12k chars: 60
- skills > 20k chars: 23
- skills > 40k chars: 5
- >12k 且无 references: 9
意义:
- 不自动删 skill。
- 只暴露瘦身候选。
- 后续按 active/compat/deprecated/archive 与 references 下沉处理。
Cron:script-only 收口清单
本轮和前置相关收口后,下列任务已处于 script-only 形态并完成 run-now 或自然运行验证。
| 任务 | job_id | script | deliver | schedule | 验证状态 |
|---|---|---|---|---|---|
| monthly-skill-exit-audit | 60350e570c0b | monthly_skill_exit_audit.py | feishu | 0 4 1 * * | 已验证 |
| skill-frontmatter-weekly-audit | c07e89032631 | skill_frontmatter_weekly_audit.py | origin | 0 10 * * 1 | 已验证 |
| weekly-digest | 76f315cf1fcd | weekly_digest_cron.py | local | 0 23 * * 0 | 已验证 |
| memory-archive | 3d14b2fb2167 | memory_archive_cron.py | local | 0 3 1 * * | 已验证 |
| hindsight-consolidate | 23938fe15e8b | hindsight_consolidate_cron.py | local | 0 */3 * * * | 已验证 |
| llm-wikis-governance-daily | 60647a2de803 | llm_wikis_governance_daily_cron.py | local | 15 7 * * * | 已验证 |
共同效果:
no_agent=trueskills=[]- 不再继承主模型。
- 不再误打 CPA/Codex 池。
- 保留原 schedule / deliver / workdir。
- repeat 仍为 forever。
验证证据
skill-frontmatter-weekly-audit
最新验证 output:
/home/ht/.hermes/cron/output/c07e89032631/2026-06-02_09-17-59.md
结果:
- Mode: no_agent (script)
- skills_checked: 168
- baseline_loaded: True
- issue_count: 0
weekly-digest
最新验证 output:
/home/ht/.hermes/cron/output/76f315cf1fcd/2026-06-02_09-26-00.md
结果:
- Mode: no_agent (script)
- 周期:2026-W22
- 日记文件数:7
- weekly/index/log 均已回读校验
- verified: true
memory-archive
最新验证 output:
/home/ht/.hermes/cron/output/3d14b2fb2167/2026-06-02_09-26-00.md
结果:
- Mode: no_agent (script)
- 本次无需要归档的日记
- log.md 已变化
- verified: true
注意:本轮发现 ~/.hermes/bin/memory-archive --help 没有 help 分支,会直接执行归档。该坑已写入 hermes-cronjob-safe-update,后续检查本地脚本前先读源码确认是否有 argparse / dry-run。
hindsight-consolidate
最新验证 output:
/home/ht/.hermes/cron/output/23938fe15e8b/2026-06-02_09-41-00.md
结果:
- Mode: no_agent (script)
- api_status: 200
- total_nodes: 5391
- total_documents: 299
- pending_consolidation: 0
- failed_consolidation: 0
llm-wikis-governance-daily
最新验证 output:
/home/ht/.hermes/cron/output/60647a2de803/2026-06-02_09-41-12.md
产物:
/home/ht/llm-wikis/_meta/wiki-governance-check-report.md:13,711 bytes/home/ht/llm-wikis/_meta/wiki-governance-check-latest-summary.md:537 bytes/home/ht/llm-wikis/_meta/wiki-governance-check-latest-summary.json:585 bytes
当前 verdict:
- action-needed
- broken_links: 2
- hard_orphans: 37
- stale_central_pages: 86
- missing_page_candidates: 1
备份
本轮关键备份:
/home/ht/.hermes/backups/skill-context-pruning-20260602_091018//home/ht/.hermes/backups/cron-script-only-next-20260602_092158//home/ht/.hermes/backups/cron-script-only-next2-20260602_094646/
备份覆盖:
~/.hermes/cron/jobs.jsonmonthly_skill_exit_audit.pyweekly_digest_generate.pymemory_archive_verify.pywiki_governance_check.pywiki_governance_summary.py- memory governance skill 原文件
本次严格没有做
- 没有批量删除 skill。
- 没有删除 wiki/reference/Hindsight 数据。
- 没有重启 gateway。
- 没有把 Feishu card 型任务全部 run-now。
- 没有改晨报 send 链路。
- 没有把文章数字当成通用 benchmark。
风险与边界
风险 1:script-only 任务仍可能有业务副作用
weekly-digest 会追加 digest log;memory-archive 会追加 memory log 并可能移动过期日记。这是任务预期行为,但 run-now 验收前必须显式意识到副作用。
风险 2:no-agent 不等于无需验收
script-only 只是减少模型参与。验收仍要看:
- output 是否生成。
- output 是否显示
Mode: no_agent (script)。 - wrapper 是否输出真实摘要。
- 副产物是否存在且大小合理。
- API / JSON / report 是否可读。
风险 3:Feishu card 型任务不能一把梭
daily-backup-notify、hermes-morning-brief 这类任务有外部消息副作用。后续应先做定义层审计和脚本检查,不直接 run-now 打扰。
下一步
观察优先
接下来先观察这些任务自然运行:
weekly-digest:下次自然运行是否仍生成 W22/W23 对应周报,log 是否继续一致。memory-archive:下次月初是否能在 no-op / 有归档两种情况下都给出正确 output。hindsight-consolidate:3 小时周期是否持续不再调用主模型。llm-wikis-governance-daily:次日 07:15 是否继续落三份 governance 文件。
候选优化
若继续优化,优先顺序:
hermes-official-docs-sync:固定同步脚本,适合先读源码和最新 output,再判断是否 script-only。daily-backup-notify:Feishu card 型,先做审计,不直接 run-now。hermes-morning-brief-prefetch:可考虑 script-only,但要确认和 send 阶段缓存契约。hermes-morning-brief:send 阶段保留更高谨慎级别,避免误发或卡片退化。
长期规则
这次吸收文章后的长期规则可以压成三句话:
- Skill 不做知识仓库,skill 做执行入口和坑点清单。
- Cron 能确定性执行就 script-only,别让 agent 和主模型参与固定任务。
- 成功只看证据,不看自报;证据包括 output、状态、文件、API、payload、receipt。