news 2026/9/10 1:19:54

Darwin Mode 进化技能:wifi-densepose-sar Harness 的自我进化实践指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Darwin Mode 进化技能:wifi-densepose-sar Harness 的自我进化实践指南

Darwin Mode 进化技能:wifi-densepose-sar Harness 的自我进化实践指南

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

本指南聚焦 RuView 仓库中 wifi-densepose-sar harness 自带的核心技能evolve(即Darwin Mode):模型冻结、Harness 自身进化。读完你可以掌握它的运行命令、安全门控机制、六条有数据支撑的基准经验,以及它如何与仓库中的 Router、Flywheel 组成一套完整的自我改进体系。

一、什么是 Darwin Mode:冻结模型,进化 Harness

wifi-densepose-sar-harness(对应 ADR-287 相干宽带 RF 断层成像 crate,harness 部分见 ADR-286)随包携带了Darwin Mode@metaharness/darwin,技能定义见 SKILL.md)。

它的核心思想与"训练大模型"相反:

  • 模型是冻结的(frozen model):不调整任何模型权重,也不更换更贵的模型;
  • Harness 是进化的(evolving harness):每一代只变异 7 个策略文件中的一个——planner(规划器)、contextBuilder(上下文构建器)、reviewer(评审器),以及retry/tool/memory/score四类策略(重试、工具、记忆、评分策略);
  • 用沙箱验证后代:每个变异后的子代在沙箱中运行、打分,只有可测量地提升的变体才会被保留,最终沉淀为一份成功的后代档案(archive of successful descendants)。

从源码结构看,这套机制由@metaharness/darwin(devDependency,见 package.json)驱动,harness 只是通过 npm scripts 把它接线起来,形成"run → measure → mutate → verify → promote"的闭环。

二、运行进化:三条命令从入门到深入

evolve技能提供了两条 npm 命令和一条直接调用命令(见 SKILL.md):

# 真实基板(real substrate):每个变体都会真正运行你的测试命令 # 确定性变异器——不需要 API key、不需要网络 npm run evolve # 模拟基板(mock substrate):快速、完全离线、不执行任何测试 npm run evolve:dry

或者直接调用底层 CLI:

npx metaharness-darwin evolve . --sandbox real --generations 3 --children 4

各参数含义如下(与 package.json 中 scripts 的默认值一致):

参数含义默认示例值说明
.要进化的目标目录当前目录指向 harness 根目录,即 7 个策略文件所在处
--sandbox real真实沙箱real每个变异子代真实运行你的测试命令
--sandbox mock模拟沙箱mockevolve:dry用)完全离线,不执行测试,用于快速验证流程
--generations进化代数3(real)/2(dry)变异、评估、筛选的迭代轮数
--children每代子代数量4(real)/3(dry)每代从父代生成多少个候选变体

npm run evolvenpm run evolve:dry本质上就是上面这条命令的两个预置变体,区别仅在于沙箱模式与代数/子代数规模。dry 模式的价值在于 CI 或本地快速验证"进化链路本身没坏",而 real 模式才产生真正可用的改进结果。

三、安全默认值:为什么它"默认就是安全的"

Darwin Mode 被设计为secure by default,四条安全属性缺一不可(原文档原话,逐条展开):

  1. 确定性变异器是默认选项——无网络、无 API key、完全气隙(air-gapped)。这意味着开箱即用的进化过程不会向任何外部服务发送请求,也不会因为模型 API 的随机性导致结果不可复现。

  2. 每个变异都必须通过validateGeneratedCode门控——只允许"纯重构/调参":不允许新增 import、网络、文件系统、shell、环境变量访问或新依赖。这一条从机制上排除了"进化出一个会读写磁盘/执行 shell 的后代"的路径。

  3. 变异在沙箱中运行——只有通过你测试套件的变体才会被归档,失败的后代不会污染主策略。

  4. 没有可测量的改进就不晋升——这是对 Goodharting("指标优化到失真")的防护:一个变体哪怕"看起来更好",只要测试分数没有真实提升,就不会被提升为主策略。

结合 flywheel.ts 的源码可以看到同一原则在晋升环节的落地:默认晋升规则meetsPromotionRule要求noopRate(无效操作率)必须逐代严格改善,一个恒定不变(哪怕是"好"的)noopRate 会让所有候选永远无法晋升——这正是"只信可测量改进"的硬编码表达。

四、六条基准经验:用数据说话(完整 SWE-bench Lite 300)

Darwin Mode 的完整基准证据与置信区间记录在@metaharness/darwinLEARNINGS.mdbench/results/RESULTS.md中。以下是六条实测结论,它们同时是"如何运行这个 harness"的默认建议:

1. 闭环修复是第一杠杆(约 2×)

把测试/编译失败信息反馈回去并重试,在同一廉价模型上把 resolve-rate 从7.7% 提升到 15.3%。结论:要对着 ground truth 迭代,不要单发(single-shot)。这正是 Darwin 每一代"变异 → 运行测试 → 反馈 → 再变异"循环设计的依据。

2. 廉价优先 + 成本感知路由:跟踪 $/resolve

不要只看 resolve-rate,要跟踪$/resolve(每个修复的单位成本)。实测中一个廉价模型每个修复的成本比前沿模型低31×。前沿模型只应保留给已测量的能力缺口

3. 模型分层(Barbarian 与 Scholar):廉价清扫 + 前沿只处理残差

用廉价模型做大范围清扫,只在剩余难点上动用前沿模型,得到33.3%的 resolve-rate,且成本比"处处用前沿"低约。这条经验在 router.ts 中已实现为sarTaskRouter:一个qualityBar: 0.8的成本最优路由器,对"物理公式解释/写文档"类查询路由到cheap-tiercostPerMTok: 1),对"代码评审/数值调试"类查询路由到frontier-tiercostPerMTok: 15)。

// 源码:src/router.ts(节选) export const sarTaskRouter = new Router({ qualityBar: 0.8, // 只要求预测质量清过 80% 的候选 candidates: SAR_ROUTER_CANDIDATES, // cheap-tier 与 frontier-tier k: 1, // 每个候选仅 4 个 one-hot 示例,k=1 取最近邻任务类型 });

router.test.ts 验证了路由机制本身:[1,0,0,0](物理解释形状)命中cheap-tiermetBar=true[0,1,0,0](代码评审形状)命中frontier-tier

需要强调(源码 HONESTY NOTE 也如此标注):router 中的 4 轴嵌入(physicsExplanation / codeReview / numericalDebugging / docWriting)与示例质量分是seed/示意数据,不是实测 eval 日志。生产使用前必须用自己 eval 日志中的(query embedding → quality)真实行替换SAR_ROUTER_CANDIDATES[*].examples。路由机制是真实且被测试覆盖的,它当前给出的具体决策则尚未经过真实数据背书。

4. 输出格式契约放进 system message + 示例,并按真实上下文窗口裁量提示词

这一条单独把弱本地模型的有效输出率从0% 拉到约 50%。对应到 harness 工程上:每个 agent 的SYSTEM_PROMPT都承担了这份契约职责,例如 architect.ts 明确定义"先产出最小设计、绝不写实现、超过三个文件的改动必须显式指出"。

5. 只信批量评估最终产物——循环内计数器会漂移 1.5–5×

进化过程中的中间计数器不可靠,最终评估必须对最终产物做批量评估。这是 flywheel.ts 中 holdout(SAR_HOLDOUT)与 anchor(SAR_ANCHOR)两套套件存在的意义:holdout 用于打分候选策略,anchor 用于确保晋升不导致冻结回归任务退化。

6. Harness 乘数效应有下限:别指望它拯救低于推理地板的模型

"harness 放大模型,但救不了低于任务推理下限(reasoning floor)的模型。" 实操建议:先选能过地板的最小模型,剩下交给进化。这是整个 Darwin/进化体系的边界认知——进化优化的是策略与编排,不是模型本身的推理能力。

五、Darwin、Router、Flywheel:三者如何协同

在 CLAUDE.md 的 "Darwin, router, flywheel" 一节,三件套的定位被明确区分(三者都是真实 npm 依赖,非空想):

组件依赖入口职责
Darwin Mode@metaharness/darwinnpm run evolve/evolve:dry变异 harness 自身配置,只保留可测量改进
Router@metaharness/routernpm run route -- <e0> <e1> <e2> <e3>按成本最优策略路由查询到最便宜的达标模型层
Flywheel@metaharness/flywheelnpm run flywheel:dry提议 → 评估 → 门控 → 晋升的自我改进闭环,Ed25519 签名 + 可独立回放
  • Darwin 负责"进化策略本身":它改的是 planner/reviewer 等策略文件;
  • Flywheel 把晋升循环形式化:flywheel.ts 中runSarFlywheelDemo()用真实 API 走通 end-to-end,但 Proposer 与 Evaluator 是合成替身(确定性字符串变异 + 确定性打分,无模型调用、无真实基准),产物带有dataSource: 'SYNTHETIC'印章;
  • live 运行需要操作者自备两样东西(源码注释明确列出):真实的 Proposer(一次真正改进某个策略杠杆的模型调用)和真实的 Evaluator(对真实编码任务 holdout/anchor 套件打分),例如"review-diff 是否抓住了植入的 bug"。

flywheel.test.ts 验证了这条链路的四个关键性质:代数上限受控且打上 SYNTHETIC 溯源戳、lift 曲线非空且从 gen-0 起步、最终策略仍保留全部根杠杆、回放包可独立验证(不信任生产者)。

六、运行前置条件与注意事项

  • Node.js ≥ 20(见 package.json 的engines字段);
  • 依赖安装:npm install,其中@metaharness/darwin作为 devDependency 提供进化能力;
  • npm run routenpm run flywheel:dry均需先npm run buildtsc编译);
  • 该 harness 的 MCP 工具与命令清单由.claude/commands/<name>.md派生,新子命令未配齐对应指导文件前不会被完整接线;
  • 诚实性约定:router 的示例数据与 flywheel 的合成评估均为演示性质,生产决策必须替换为真实 eval 日志(router.ts 与 flywheel.ts 文件头的 HONESTY NOTE 均为此而写)。

总结

evolve技能把"冻结模型、进化 Harness"这一范式做成了开箱即用的实战工具:默认确定性变异器 +validateGeneratedCode门控 + 沙箱 + 可测量晋升,四条安全线把进化约束在"纯重构调参"边界内;六条 SWE-bench Lite 300 实测经验为"如何跑"提供了数据支撑——闭环修复优先、跟踪 $/resolve、模型分层、输出格式契约、只信批量评估、选过地板的模型。配合仓库内的 Router 与 Flywheel,它构成了一套完整且诚实标注数据来源的自我改进体系,可直接在 CLAUDE.md 与 README.md 的指引下接入你自己的编码任务。

【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 1:17:59

微电网多阶段鲁棒调度模型MATLAB复现与CCG算法实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 1:08:20

STM32 HAL库驱动DHT11+OLED完整教程:从时序到调试的实战总结

简介&#xff1a;一套基于STM32 HAL库的物联网入门项目&#xff0c;面向嵌入式开发者&#xff0c;演示DHT11温湿度传感器数据采集与OLED屏实时显示。工程涵盖传感器时序解析、I2C/GPIO配置、SSD1306驱动调用等关键环节&#xff0c;适合学习HAL库外设操作与小型显示方案集成。压…

作者头像 李华
网站建设 2026/9/10 1:04:31

大数据可视化大屏模板实战:从选型到落地全流程拆解

简介&#xff1a;面向大数据可视化项目开发与数据大屏展示场景&#xff0c;这份压缩包提供了可直接复用的前端模板&#xff0c;适合前端工程师、BI分析师及需要快速搭建监控中心、运营看板或汇报演示页面的团队。包内共40个文件&#xff0c;以JavaScript、CSS、图片及字体资源为…

作者头像 李华