开发与工程 skill-managementself-improvingsession-learninglifecycle-managementprompt-engineering

AutoHarness:Claude Code 自学习技能层

从真实会话中自动提炼、合并、更新和淘汰技能,让 Claude Code 的技能库自我维护,无需守护进程或基准测试。

FollowAgents 评估 · FARS-2.1
谨慎使用
61/ 100 五分制 3.1 / 5
1 2 3 4 5 6
1信任安全17 / 29 · 2.9/5

证据显示:插件仅操作自身生成的技能,不触碰用户或第三方技能;写入通过原子重命名,避免半状态;有快照机制支持回滚;捕获窗口在出口处进行脱敏,测试验证了密钥和邮箱被替换;依赖为零,降低了供应链风险。扣分点:用户确认机制薄弱,仅提供/learn命令,后台反射自动触发,无明确用户批准步骤;发布者身份未验证,来源归属仅依赖仓库元数据。

2可靠稳定9 / 14 · 3.2/5

证据显示:配置默认值一致,测试覆盖了原子写入、捕获窗口、脱敏等关键路径;依赖仅Python标准库,可用性高;失败消息在README中提及(如拒绝原因记录在runs/),但具体错误处理细节有限。扣分点:未提供运行时故障恢复的详细说明。

3适用触发12 / 18 · 3.3/5

证据显示:明确面向Claude Code用户,场景包括学习技能、合并、更新、修剪;能力边界清晰(仅操作自身技能);触发条件明确(工具调用计数);环境要求明确(Python 3.11+,Linux/macOS)。扣分点:未提及Windows支持,环境适配有限。

4规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,包含安装、配置、工作原理、对比等;安装步骤详细;命名稳定(autoharness);示例和FAQ部分有walkthrough;许可证为MIT;版本信息通过plugin.json管理,但无CHANGELOG;维护责任由Tigerless Labs承担,但发布者未验证。扣分点:已知限制未明确列出,版本变更日志缺失。

5有效结果9 / 13 · 3.5/5

证据显示:输出为原生技能文件,可直接被宿主使用;边际价值高,提供自学习技能层,减少重复工作;成本效益合理,零依赖,无守护进程,节省token。扣分点:无基准测试,实际效果依赖使用场景。

6证据核验4 / 8 · 2.5/5

证据显示:README中的声明(如42%→78%提升)引用了外部论文,但未提供内部验证数据;测试覆盖了核心功能,但未验证端到端学习效果;事实与推断区分清晰,如明确标注默认值为占位符。扣分点:跨来源验证不足,仅依赖单一仓库。

证据充分度: 评估于 2026年9月7日 审查版本 11d7b3791870
使用前请注意
  • 发布者身份未验证,安装前应审查代码。
  • 后台自动反射可能在没有明确用户确认的情况下修改技能,建议在敏感环境中禁用或调整触发阈值。
  • 脱敏规则可能不全面,测试仅覆盖了AWS密钥和邮箱,其他敏感数据可能泄露。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

AutoHarness 是为 Claude Code 设计的插件,它通过监听正常会话,自动将经验提炼为结构化技能(SKILL.md),存入 .claude/skills/ 目录。系统包含捕获(CAP)、反思(REF)、验证存储(promoter)、索引(IDX)、生命周期管理(MNG)和整合(curator)等组件,以及一个记录每次变更的账本(LED)。技能以原生文件形式保存,由 Claude Code 自身的机制调用,同时 AutoHarness 在会话开始时注入一个索引,确保自身技能库可见。该插件的核心维护逻辑包括:基于工具调用次数触发的反思、定期整合相似技能、按使用率(加载、查看、修补)自动淘汰不常用技能,并且只管理自己创建的技能,不触碰用户手动编写或安装的技能。安装和卸载无需额外配置,所有参数均可通过环境变量调整。

AutoHarness 作为 Claude Code 的插件运行,通过钩子捕获每次交互(用户输入、代理输出、工具 I/O),并在达到触发阈值(默认每 50 次工具调用)时启动后台反思。反思过程会读取会话上下文,与现有技能索引比较,决定是新增、合并、修补还是删除技能,并生成提案(意图)。提案经 promoter 组件验证(安全性、结构、账本一致性等)后,以原子重命名方式写入 .claude/skills/(项目级)或 ~/.claude/skills/(全局级)。MNG 组件在每次会话开始时计算技能存活率,依据加载次数与请求次数之比,将长期未使用且无任何查看的技能移至 .claude/skills/.archive/。curator 组件定期(默认每 250 次工具调用)整合重复技能,并生成快照以便回滚。每个技能目录包含 SKILL.md、.ledger.jsonl(账本)、.sidecar.json(生命周期计数)和 references/ 子目录中的证据文件。用户可通过 /learn 命令手动触发提炼当前会话。

  1. 开发者在使用 Claude Code 处理项目时,希望自动沉淀常用工作流程(如部署、调试模式),无需手动编写技能文件。
  2. 团队希望统一项目内 Claude Code 的技能库,避免成员各自积累重复或过时的指令,AutoHarness 可自动合并和更新。
  3. 频繁使用 Claude Code 的用户希望技能库自动维护,随着工作模式变化淘汰不再适用的技能,保持库的精简和相关性。
  4. 需要审计技能来源和演进的用户,可通过 .ledger.jsonl 和 evidence 文件追溯每次技能创建或修改的原因和证据。
  5. 习惯于手动管理技能的用户,希望在不影响自有技能的前提下,让 AutoHarness 接管其自身生成技能的生命周期。
  6. 研究人员希望从真实使用中构建技能基准测试,可依靠账本和证据文件作为原始材料。

这个 Agent 有哪些优点和局限?

优点
  • 自学习且无需守护进程或基准测试,学习信号来自真实会话的工具调用,不消耗额外 token 用于评估。
  • 技能合并机制避免重复积累,并能处理新旧矛盾(必须重写旧技能)。
  • 只管理自己生成的技能,对用户自制或安装的技能完全不动,安全性高。
  • 每个技能都有账本和证据文件,提供完整的审计追踪,便于回溯和构建基准。
  • 退役采用归档而非删除,可随时恢复,且有快照保护合并操作。
局限
  • 仅支持 Claude Code 环境,不可移植到其他 AI 编码工具。
  • 要求 Python 3.11+ 且位于 PATH,否则插件功能无法运行。
  • 默认触发阈值(50 次工具调用)可能对短会话不够敏感,学习频率需手动调优。
  • 索引注入和后台反思会占用上下文和 token,即使不学习也会产生开销。
  • 毕业审查默认只归档从未加载且从未查看的技能,可能无法有效淘汰那些虽被查看但从未遵循的技能。
  • 项目处于早期,默认参数未经实证校准,可能需要用户实验调整。

如何安装或部署这个 Agent?

  1. 确保系统有 python3 并位于 PATH 中(插件零第三方依赖)。2. 在 Claude Code 输入框执行:/plugin marketplace add tigerless-labs/autoharness 和 /plugin install autoharness@autoharness。3. 执行 /reload-plugins 或重启 Claude Code。

如何使用这个 Agent?

安装后插件自动运行,无需手动调用。默认每 50 次工具调用触发一次后台反思,每 250 次触发一次库整合。可通过环境变量调整节奏,例如设置 AUTOHARNESS_REFLECT_EVERY_N=10 使学习更频繁。需要立即提炼当前会话时,输入 /learn 命令。技能会出现在 .claude/skills/ 目录(项目级)或 ~/.claude/skills/(全局级)。查看技能生命周期可 cat .claude/skills/<name>/.ledger.jsonl 和 .sidecar.json。卸载:执行 /plugin uninstall autoharness@autoharness 和 /plugin marketplace remove autoharness。

这个 Agent 与同类方案有什么区别?

与 NousResearch/hermes-agent 相比,AutoHarness 无需常驻守护进程,使用基于会话工作的触发方式而非计时器,且验证信号是实际使用中的遵循度而非基准分数。与 Self-Harness(论文)相比,AutoHarness 采用在线自学习而非离线门控批量编辑,无需基准测试或预言机。与无限制增长的技能库相比,AutoHarness 通过容量上限和归档机制约束库规模。

常见问题

AutoHarness 会触碰我手动编写的技能吗?
不会。插件只管理通过它生成的技能,这些技能带有账本标记。用户自己编写的或安装的技能不会被修改、合并或删除。
学习过程会阻塞我的会话或消耗额外 token 吗?
反思在后台进行,通过启动子会话或分支会话,不阻塞主会话。但它会消耗一定的 token(用于子会话和索引注入),具体数量取决于配置的触发频率。
如何调整学习频率和生命周期阈值?
通过设置环境变量,如 AUTOHARNESS_REFLECT_EVERY_N(默认50)、AUTOHARNESS_MATURITY_PROJECT(默认100)、AUTOHARNESS_CAPACITY_PROJECT(默认50)等,在会话开始时生效。
如果插件卸载,已生成的技能会怎样?
卸载插件不会删除已生成的技能和插件状态,它们保存在 .claude/skills/ 和 ~/.claude/autoharness/ 等目录。如需彻底清除,可手动删除这些目录(技能目录带有自创标记,便于识别)。
AutoHarness 是否支持除 Claude Code 以外的模型或平台?
不支持。AutoHarness 专门为 Claude Code 设计,依赖其钩子机制和 MCP 服务器,无法在 ChatGPT、Codex 等其他平台上运行。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents