mcpField
H
harness-similarity

harness-similarity

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

关于 harness-similarity

harness-similarity 是可调用的技能,使用数值、分类和 Agent 拓扑数据比较 harness。它适用于模板排序、判断应复用分支还是新建,以及发现重复工作,并可提供按维度拆分的结果。

主要功能

  1. 01结合余弦、分类和 Jaccard 相似度
  2. 02比较文件或持久化的记忆记录
  3. 03提供逐维度细分结果
  4. 04遇到格式错误输入时不抛出异常
  5. 05提供 CLI 命令和 MCP 工具

适用场景

  1. 01决定复用现有 harness 还是新建
  2. 02根据仓库 genome 为模板排序
  3. 03查找不同团队 harness 的重复工作
  4. 04为推荐器生成相似度置信值

MCP 相关

该技能注册了 MCP 工具 `mcp__plugin_ruflo-core_ruflo__metaharness_similarity`,用于调用 harness 相似度函数。

安装

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

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

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

详细介绍

将 scripts/_similarity.mjs 中的生产级相似度函数作为可调用技能提供。适用于 Agent 需要:

  • 判断是基于现有 harness 分叉,还是搭建新的 harness
  • 根据目标仓库的基因组对候选模板进行排序
  • 对比由不同团队生成的两个 harness,以找出重复工作
  • 生成 ADR-151 §3.2 的推荐器所封装的置信度数值

算法(来自 ADR-152 §Decision)

overall = 0.60·cosine + 0.25·categorical + 0.15·jaccard
  • cosine — 对 9 维数值向量计算,该向量由归一化评分卡维度和基因组维度组成
  • categorical — 匹配的 4 个枚举字段(repo_type、archetype、template、recommendedMode)所占的比例
  • jaccard — 对 agent_topology[] 数组计算 |A ∩ B| / |A ∪ B|

这套 3 组件设计至关重要:单独使用数值余弦相似度过于粗略(iter-35 峰值显示,尽管 LEGAL 和 DEVOPS 属于不相关的垂直领域,余弦相似度仍达到 0.97)。类别匹配度和 Jaccard 相似度会将综合排序拉回到正确顺序。

参考输出(iter-35 峰值测试样例)

配对overallcosinecategoricaljaccard
LEGAL × LEGAL(自身)1.00001.00001.00001.0000
LEGAL × SUPPORT0.82960.99870.75000.2857
LEGAL × DEVOPS0.58400.97340.00000.0000

ADR-152 §“最小可演示峰值”中的两项不变量均成立:

  1. similarity(X, X) === 1,结果精确相等
  2. similarity(LEGAL, DEVOPS) < similarity(LEGAL, SUPPORT)(垂直领域亲和度)

架构约束继承(ADR-150)

  • 可移除 — 纯 TypeScript 函数,不含静态 @metaharness/* 导入。
  • 可选 — 不在 package.json 中新增依赖。
  • 优雅降级 — 输入格式错误时返回 { degraded: true, reason },退出代码为 2;绝不抛出异常。
  • CI 门禁 — 冒烟测试步骤 17y 锁定契约:模块导出、峰值测试样例复现、CLI 分发器入口已注册、MCP 工具已注册。

用法

# File inputs
npx ruflo metaharness similarity --a a.json --b b.json

# Memory inputs (records persisted by oia-audit.mjs)
npx ruflo metaharness similarity --a-key harness-X --b-key harness-Y

# Per-dimension breakdown (used by ADR-151 §3.2 Recommender)
npx ruflo metaharness similarity --a a.json --b b.json --per-dimension

# Alert when too-dissimilar (used by ADR-151 §3.3 Drift Detection)
npx ruflo metaharness similarity --a a.json --b b.json --alert-below 0.5

实现

生产模块:scripts/_similarity.mjs CLI 技能:scripts/similarity.mjs MCP 工具:mcp__plugin_ruflo-core_ruflo__metaharness_similarity(已在 v3/@claude-flow/cli/src/mcp-tools/metaharness-tools.ts 中注册) 峰值锚点:scripts/_spike-similarity.mjs(回归测试套件——不变量在此锁定)

评论

支持 Markdown