harness-evolve
Skill0 starsChanged 2 months agoMITView on GitHub
面向 Agent workspace(OpenClaw / Claude Code / LangGraph / 任何有"系统配置文件 + 运行日志"概念的框架)的自进化 skill——一次运行走完整闭环:追踪前沿研究 → 精读分析 → 系统自检 → 按 L1/L2/L3 风险分级自主执行或提案。触发词:"运行自进化"、"跑一次 harness evolve"、"检查一下系统有没有能优化的地方"、"今天有什么新研究可以落地"、"帮我看看 agent 配置是不是该收敛了"。
3 other projects use a version of this.
Adopted by
Most recently taken up by
- oyekamal/harness-evolvetheir own version, first seen Oct 8, 2026
- shsha4/claude-skillstheir own version, first seen Aug 19, 2026
- konglong87/enjoy_harness_aitheir own version, first seen Apr 1, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- oyekamal/harness-evolve★ 2same name
- shsha4/claude-skills★ 1same name
- konglong87/enjoy_harness_ai★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- game-copy-polishSkill
- learn-coachSkill
- tuneupSkill
The file
Files
Harness Evolve — Agent 系统自进化引擎
一次运行 = 一条完整闭环:搜前沿 → 读懂它 → 照镜子 → 分级动手。 不是"读论文写笔记",也不是"盲目自动重构",而是把研究发现和系统自检结果, 用同一套风险分级规则,转成安全、可验证、可回滚的动作。
v3.0 定位说明
v1.x/v2.x 把"只研究"和"消费研究 + 执行"拆成两个 skill(harness-research / harness-evolve), 理由是怕研究阶段的直觉污染执行判断。实践下来,多数使用场景是单 Agent 单会话跑一次就想要结果, 拆两个 skill 只是增加了"先跑哪个、日志同不同步"的心智负担。
v3.0 合并成一条流程,但把原来靠"物理隔离两个 skill"守住的安全边界,改成靠"流程内部的强制关卡"守住: 研究结论不能跳过风险分级直接变成执行动作——第 4 步系统自检和第 5 步分级执行之间必须有明确判断, 高风险项(L3)依然禁止在本次运行内直接改文件。边界没有消失,只是从"两个文件"收进了"一个流程里的强制关卡"。
一句话定位
当你想让一个正在运行的 Agent workspace 持续变好时,用这个 skill 跑一次:
- 向外看世界(outward):最近 ≤3 天 Agent harness / 记忆编排 / 多智能体领域有什么新发表
- 向内照镜子(inward):当前系统配置有没有冗余、冲突、积压、退化
- 向后落地(action):能安全直接改的直接改,中风险的写提案等审核,高风险的只记录不动手
终点不是"我看了什么",而是"系统今天有没有变得更清楚、更少冲突、更少债务"。
职责边界
本 skill 负责
- 读取当前项目 / workspace 的真实配置结构,找到真正决定行为的文件
- 在时间窗口内搜索前沿材料并精读分析
- 对当前系统做结构自检(冗余/冲突/积压/退化/债务)
- 把研究发现 + 自检结果,按 L1/L2/L3 风险分级转成动作
- 写入统一进化日志,输出可用于日报的摘要
本 skill 不负责
- 不允许"觉得有启发"直接等于"应该立刻上线"——必须过风险分级
- 不在没有安全边界定义(safe_files / review_file 未知)时改任何文件
- 不对高风险项(DB migration、auth/RLS、CI/CD、删 ADR)动手,只能观察上报
- 不重复分析日志里已出现过的标题 / URL
- 不用平庸内容凑数——没发现就写没发现
一句话:这条流程可以又搜又改,但改多深由风险分级说了算,不由"看起来值得"说了算。
执行约束(贯穿全程)
- 证据优先:结论必须有论文/文章/工程案例依据,直觉只能指导搜索方向
- 场景优先:从当前 workspace 的真实问题倒推,不从"这个论文看起来很酷"正推
- 单变量:每条落地建议只描述一个主要变量,避免捆绑多个改动
- 诚实高于数量:没有高质量发现 / 没有系统问题,就如实记录,不用平庸内容污染日志
- 去重铁律:已记录过的标题 / URL 不重复分析,哪怕换了搜索词命中
- 风险分级不可跳过:任何"可落地方向"落地前,必须先过第 5 步的 L1/L2/L3 判断
第 0 步:读取项目 / workspace 上下文
0.1 先找真正决定行为的入口
系统配置通常不是一个文件能说清,要按"谁真正决定运行行为"找上下文,而不是按文件名猜。
0.2 推荐识别的配置项
| 配置项 | 说明 | 默认理解 |
| workspace_root | 当前共享工作区根目录 | 当前工作目录 |
| config_files | 真正影响运行行为的核心配置 | 优先含 AGENTS.md、GROUPS.md、SOUL.md、agents/*.md 等价物 |
| safe_files | 可直接修改且不改变运行语义的文件 | 研究日志、进化日志、纯说明文档、实验记录 |
| review_file | 中风险提案写入位置 | 默认 pending-review.md |
| log_dir | 运行日志 / memory 目录 | memory/、logs/,或项目已有沉淀目录 |
| unified_log | 本 skill 的统一进化日志 | 默认 workspace/harness-evolve-log.md |
| workspace_docs | 其他工作区说明材料 | README.md、CLAUDE.md、其他工作区文档 |
在共享 workspace(多引擎 / 多 Agent 共用同一目录)场景下,至少确认:workspace 是否独占、行为入口是哪几个文件、统一日志放哪、当前核心痛点是什么、当前生效结构是单层还是多层。
0.3 缺信息就停,不要猜
如果读完仍无法判断:当前核心痛点是什么 / 哪些文件是运行时主入口 / 哪些文件可以安全直接改 / 日志该写到哪里——就先问用户,不要脑补配置图。后续所有分析和执行都依赖这些前提。
0.4 先读上次的统一日志
如果 unified_log 已存在,先读取最近几次运行的记录,了解:哪些研究方向已经转化 / 被放弃 / 还在观察,上次做了哪些 L1/L2 动作,哪些 L3 观察项还悬着。避免重复推荐、重复提案。
第 1 步:确定搜索窗口与去重基线
从 unified_log 提取:上次搜索日期、已分析标题/URL 列表、上次搜索词、尚未标记"已转化/已放弃"的 P0/P1 积压。
| 场景 | 时间窗 | 用途 |
| daily routine | ≤3 天 | 跟踪世界最前沿,纯报道优先 |
| ad-hoc backfill | ≤14 天 | 用户明确要求覆盖更长范围时 |
| 有日志 | 上次搜索日期 → 今天 | 增量去重 |
铁律:daily 遇到 >3 天的内容就跳过,不要因为"以前漏看了"往前补——补扫走 ad-hoc backfill(用户明确要求时)。
日期判断:arXiv 用 Submitted 日期;机构博客用正文顶部发布日期;日期不确定就在日志里写"日期不确定,约 YYYY-MM"。
第 2 步:搜索
在时间窗口内搜索,每次选 2–3 个关键词组合,目标是覆盖"最可能改善当前系统的方向",不是搜得多。
推荐研究方向
| 方向 | 关键词示例 |
| Agent harness / runtime | "agent harness" OR "agentic harness" OR "agent runtime" |
| Agent skills / 工具发现 | "agent skills" OR "skill discovery" OR "skill lazy load" |
| Context engineering | "context engineering" OR "context compaction" OR "prompt caching" |
| Agent memory | "agent memory" OR "memory tool" OR "episodic memory for agents" |
| Tool use / ACI | "tool use" OR "ACI" OR "agent computer interface" |
| 多智能体协作 | "multi-agent orchestration" OR "agent handoff" |
| 自进化 / 元学习 | "self-improving agent" OR "agent self-evolution" OR "meta-learning" |
| 评测与回归 | AI agent evaluation benchmark tool-use SWE-bench |
| 头部公司每跑必扫 | Anthropic / OpenAI / DeepMind / Meta AI / xAI / DeepSeek / Moonshot / Qwen / Zhipu |
| Benchmark / 顶会 | SWE-bench / GAIA / TerminalBench / WebArena / OSWorld · NeurIPS Agentic AI / ICLR / ICML / ACL / COLM |
跨学科 latticework(认知科学 / 决策科学 / 复杂系统等)默认不启用,只有议题明确需要跨域支撑时才查 references/cross-discipline-lattice.md。
优先信息源
arxiv.org、anthropic.com/research、openai.com/research、deepmind.google/research、huggingface.co/blog、高质量工程博客(Lilian Weng、Simon Willison 等)。
入选标准(全部满足才精读)
在搜索窗口内发表;标题和 URL 均未在日志中出现过;有实验数据、工程案例或明确方法论;提出新角度而不只是泛泛综述;能映射到当前 workspace 的至少一个真实问题。
全部不达标 → 照样进入第 6 步记录"无发现"。
第 3 步:精读与分析
能读全文就读全文;只能读摘要时,在日志中注明 ⚠️ 仅基于摘要分析,未读全文。
固定分析框架:
- 基本信息:标题 / 机构 / 发表日期 / 来源 URL / 一句话概括在解决什么问题
- 核心发现:1–3 条,尽量带数据("在 X 任务上相比 Y 提升了 Z",不写"效果更好"这种空话)
- 认知冲击:全新方向 / 印证已有认知 / 挑战现有做法——挑战的是哪条默认假设
- 系统映射:映射到当前系统的哪个层级(
AGENTS.md全局流程层 /GROUPS.md路由层 /SOUL.md表达层 /agents/*.md场景层 /memory沉淀层);具体能改善什么问题;映射置信度(高/中/低) - 可落地方向:改什么、怎么改(只描述思路)、优先级(P0/P1/P2)、风险、验证方式——这一步只产出候选,不直接执行,执行判断留给第 5 步
第 4 步:系统自检
读取 config_files + safe_files + log_dir,建立当前系统快照,至少检查以下 8 项:
| # | 检查项 | 扫描对象 | 触发条件 |
| 1 | 规则冗余 | 全局配置 + 场景层文件 | 同一约束反复出现、边界重复定义 |
| 2 | 规则冲突/漂移 | 全局配置层 + 场景层 | 上层写法与下层执行约束冲突,旧规则未同步 |
| 3 | 研究积压 | unified_log | P0/P1 超过合理周期仍未转化 |
| 4 | 进化回归 | 上次执行动作 + 实际文件 | 上次修复被覆盖、丢失、反向退化 |
| 5 | 日志异常 | 最近 3 天 memory/ / logs/ | 无输出、重复内容、格式退化、异常中断 |
| 6 | 研究映射可执行性 | 本次 P0/P1 条目 + 配置文件 | 映射指向的层级在系统里真实存在 |
| 7 | 复杂度债务 | 核心配置文件 | 文件过长、链式例外太多、分层失衡 |
| 8 | Skill 提炼机会 | 规则 + 近期日志 | 同类操作重复出现 3 次以上但未抽象 |
每项输出 [PASS](结构健康)/ [WARN](发现问题,附一句话)/ [SKIP](无此结构或样本不足)。
第 5 步:按风险分级执行(核心关卡,不可跳过)
把第 3 步的"可落地方向"和第 4 步的"[WARN]"项,逐条过下面的分级——这是唯一允许把候选转成动作的地方。
L1 自 ship — 安全小修
条件:修改对象属于 safe_files;不改变 Agent 核心运行语义;更像"修补/整理/补链路"而非"改行为"。
典型动作:给日志条目补状态、修正文档失效路径、清理过期草稿、补全缺失引用、整理索引摘要、议题元数据同步。
执行:直接改 + commit,不开提案。
特别提醒:即便是文档文件,只要它直接决定运行时行为(AGENTS.md / GROUPS.md / SOUL.md / agents/*.md 这类),也不按 L1 直接改,走 L2-b,除非用户已明确授权直接修改。
L2 自决策 ship — owner 可事后 challenge
决策三要素(必须同时达标,任一不达 → 沉淀为观察项,不勉强 ship):
- reversibility:git revert 能否原地恢复 + 测试覆盖能否 catch regression,二者同时成立
- scope minimization:能否拆出单点子集独立 ship(单点 ship 风险显著低于全套 ship)
- expected_value:修复类改动的必要性 / 反 pattern 严重度 / 拖着不改的复利成本,三者权衡
L2-a 直接执行(非破坏性)
新增非破坏性 hook(不改 deny 决策)、加资源(不改现有 schema)、删掉已被其他机制覆盖的旧段落、日志 append/状态流转、metadata 修补。
执行:开分支 → commit([auto-evolve] 前缀)→ push → 开 PR + 自动化检查通过后合并;或按项目已有的 CI 治理规则走。
L2-b 提案(中风险变更)
改核心规则文件的铁律、改路由 / 专业化提示词、改关键调用协议、改主仓 Agent 行为定义。
执行:开分支 + commit([evolve-proposal] 前缀)+ --draft 开 PR,通知 owner review。绝不自动合并。
L2 提案 schema(写入 review_file)
## 自进化提案 · {YYYY-MM-DD}
**来源**:{研究条目标题+日期 / 自检发现编号}
**子档**:L2-a 直接执行 / L2-b draft PR
**目标文件**:{文件名}
**当前问题**:{一句话}
**当前内容**:{原文摘录}
**建议修改**:{具体改法,before/after}
**为什么现在改**:{研究依据 / 日志证据 / 冲突证据}
**falsifiable_contract**:
- predicted_metric: {可观测信号,例如 "daemon p95 latency ↓ ≥ 20%",不能松成"表现更好"}
- verify_method: {跑什么命令 / 观察多少次运行 / diff 哪个指标文件}
- verify_after: {时间窗 ≤14 天 / ≤14 次 routine}
- rollback_trigger: {什么观测信号 → 撤销该提案}
**风险**:{可能副作用、回滚方式}
**优先级**:P0 / P1 / P2L2 执行后强制验证
- 语法/类型检查全过(
node --check/ 对应语言的等价检查) - 跑现有测试 + dry-run 命令(如有)
git diff --stat HEAD~1核对改动量符合预期- commit + push + 同步通知(不要求 ack)
- 回看本次输出里的延续性断言("沿用/连续/仍/仍未"这类词),逐条核实是否仍然成立,发现漂移立刻撤回
L2 自动回滚触发
测试/lint/部署失败 → 立刻 git revert;owner 明确说"撤回/不对/revert" → 立刻 revert;ship 后短期内出现同模块的修复类改动 → 视为回归信号,撤回并记录一条反例。
L3 仅观察 — 高风险禁动
条件:DB migration(schema/data)、auth/RLS/加密相关、CI/CD pipeline、删除现有 ADR/playbook/规则、强依赖跨模块协议变更。
执行:通知 owner「proposal: {title} · 涉及高风险(L3)· 详情见 {review_file}#{id}」。绝不开 PR、绝不改文件,只在日志里记录观察。
暂无把握(跟分级正交,不算执行档)
发现了模式但还不够确定 / 研究有启发但映射仍不稳 / 有复杂度问题但暂无好拆解方案——在日志对应条目补 跟踪状态:观察中 — {一句话原因}。
第 6 步:写入统一进化日志
写入 unified_log(默认 workspace/harness-evolve-log.md),每次运行追加一条:
## {YYYY-MM-DD} · Harness Evolve 运行记录
### 研究发现
{有发现则按下面子模板列出;无发现写"今日搜索未发现高价值新发表,搜索词:{...}"}
#### {论文/文章标题}
**来源**:{URL} · **机构**:{简写} · **发表**:{日期} · **搜索词**:{关键词组合}
**核心发现**:{1-3 条,含数据}
**认知冲击**:{全新/印证/挑战} — {一句话}
**系统映射**(置信度:{高/中/低}):{层级}:{价值}
**可落地方向**({P0/P1/P2}):{改什么}:{怎么改};风险:{...};验证:{...}
### 系统自检
- [PASS/WARN/SKIP] 规则冗余 — {详情}
- [PASS/WARN/SKIP] 规则冲突/漂移 — {详情}
- [PASS/WARN/SKIP] 研究积压 — {详情}
- [PASS/WARN/SKIP] 进化回归 — {详情}
- [PASS/WARN/SKIP] 日志异常 — {详情}
- [PASS/WARN/SKIP] 研究映射可执行性 — {详情}
- [PASS/WARN/SKIP] 复杂度债务 — {详情}
- [PASS/WARN/SKIP] Skill 提炼机会 — {详情}
### 本次执行动作
- [L1] {直接执行了什么;若无写"无"}
- [L2-a] {直接 push 了什么;若无写"无"}
- [L2-b] {写了哪些提案到 review_file;若无写"无"}
- [L3] {上报了哪些高风险观察;若无写"无"}
- [观察] {记录了哪些暂无把握的观察项;若无写"无"}
### 摘要(供下游使用)
{2-4 句:这次消费了什么研究、系统哪里有问题、做了什么动作、哪些需要审核}
---第 7 步:输出摘要
给用户 / 日报的简明版本:
本次研读:{标题}({机构,日期})|核心发现:{一句话含关键数据}
系统自检:{有几项 WARN,最严重的一项}
本次动作:L1 {N} 项直接执行 / L2 {N} 项 push 或提案 / L3 {N} 项已上报观察
需要你看的:{列出所有 L2-b 提案 + L3 上报,没有就写"无"}无发现无问题时:
本次搜索未发现高价值新发表,系统自检全 PASS,无需动作。
当前最高优先待验证方向:{从 P0/P1 积压中选一条;无则写"暂无"}适配提醒
- 不要默认
CLAUDE.md/README.md是唯一入口或能完整描述运行行为 - 不要默认单文件 prompt 就代表系统结构——很多框架是多层配置
- 很多优化点不在代码,而在路由 / 边界 / 沉淀 / 协作协议
- 共享 workspace(多人/多引擎共用)意味着"文档工程"本身也是自检对象:同一规则是否在多处分叉、新文档是否纳入了结构层级
铁律
- 核心行为文件默认不直接改——
AGENTS.md/GROUPS.md/SOUL.md/agents/*.md走 L2-b 提案流程 - 研究驱动优先,但不唯研究——日志证据和当前系统结构同样重要
- 诚实高于动作——今天无需优化就写"系统状态健康",不为了产出硬造动作
- 先定义边界,再做修改——不清楚
safe_files/review_file/config_files时先停 - 输出必须可追溯——每条动作都能追溯到研究条目、自检发现或日志证据
- 避免重复提案——已写入
review_file且未处理的提案不重复写第二遍 - 风险分级不可跳过——再有说服力的发现,落地前也必须先过第 5 步
最后一条
自进化不是自动改配置,而是自动把"值得改的事"和"不该乱改的事"区分开。 如果说不清一条修改会影响哪一层配置、由谁审核、如何验证,它就还不该进入执行态。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

