mcpField
H
harness-learn

harness-learn

github.com/ruvnetAgent 工作流80.0k115 次安装今天更新
代码仓库

关于 harness-learn

harness-learn 封装 metaharness 的 GEPA 学习流程,用评分任务语料迭代 harness 策略,适合希望用测量结果改进提示词的开发者。它支持先进行零模型调用的成本预估,并要求本地克隆 metaharness 仓库。

主要功能

  1. 01基于评分语料迭代策略基因组
  2. 02依据留出集评分筛选候选
  3. 03干运行解析切片并估算成本
  4. 04解析结构化报告或原始文本
  5. 05需要本地 metaharness 克隆

适用场景

  1. 01改进特定任务族表现不佳的策略提示词
  2. 02运行学习任务前预估成本
  3. 03学习完成后查看已晋级策略内容

MCP 相关

MCP 工具 metaharness_learn 可调用学习流程,但其子进程预算为 120 秒。实际学习运行应通过终端命令执行。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill harness-learn

安装后在 Claude Code 中输入/harness-learn确认已加载。

详细介绍

提供 metaharness learn——上游 GEPA 学习框架,可针对评分后的任务语料库进化框架策略基因组,而非手动编辑提示词。候选方案会在留出切片上评分,只有经过测量确认的优胜方案才会晋升(已发布的 cand-6 基因组是首个此类晋升方案:留出集 gold 从 2/12 提升至 3/12,且零回退)。

适用场景

  • 某个框架的策略提示词在某类任务上的表现不佳,你希望通过可测量的改进循环来优化,而非手动反复迭代提示词。
  • 在承诺投入费用前估算学习运行的成本——默认的 dry-run 会解析切片清单并报告成本,不会调用任何模型。
  • 学习运行晋升了某个基因组后:配合 harness-gepa --op render 检查晋升策略的实际内容。

前置条件(上游设计)

学习框架(GEPA + SWE-bench + Docker)对于 npm 包来说过于庞大,因此 learn 需要本地克隆:

git clone https://github.com/ruvnet/metaharness.git
node scripts/learn.mjs --repo ./metaharness --host claude-code --model haiku --slice slices/lite.json

如果没有检出代码仓库,脚本会输出 {status: "checkout-required"} 并以 0 退出——这是前置条件报告,而非错误(与 degraded: true 不同,后者表示 npm 包本身缺失)。托管服务路径(网关端学习任务,无需检出代码仓库)是上游 ADR-235 的后续事项,目前尚不可用。

算法

实现:scripts/learn.mjs。

  1. 若提供了 --repo,则验证其是否存在;并将其导出为 $METAHARNESS_REPO。
  2. 调用固定版本的 metaharness 二进制文件(metaharness@~0.4.1,本地安装或一次性版本化缓存——绝不使用 @latest):通过 _harness.mjs 执行 metaharness learn --host <h> --model <m> --slice <s> [--run](支持优雅降级和硬超时)。
  3. 默认超时:dry-run 为 120s,使用 --run 时为 600s——较大切片的实际运行需要指定与切片大小 × 模型成本相匹配的 --timeout-ms。
  4. 检测到需要检出代码仓库的提示信息时,返回结构化载荷并以 0 退出。
  5. 若上游输出 JSON 报告,则解析其末尾的 JSON;否则将原始报告文本放在 rawReport 下返回。

成本说明

只有 --run 会产生费用。其他所有情况——dry-run、检出代码仓库探测、降级路径——费用均为 $0。MCP 工具(metaharness_learn)的子进程运行时限为 120s;实际学习周期请在终端中通过 ruflo metaharness learn ... --run --timeout-ms <big> 运行。

退出代码

  • 0 — 已生成报告(或为 dry-run、需要检出代码仓库、降级情况)
  • 1 — 使用了 --alert-on-fail,且学习运行报告失败
  • 2 — 配置错误(--repo 路径无效)

评论

支持 Markdown