self-evolve
Improve an existing skill or repository through isolated proposals, reproducible evaluation and evidence-based acceptance. Use for self-evolve or skill improvement.
SKILL.mdSKILL.md
GitHubself-evolve
在 Git worktree 中提出修改、运行评测,再按证据决定是否采纳。 先明确目标和可执行判据;通过检查只证明所测范围。
开始前
- 确认目标仓库、基线 revision、允许修改的范围和期望改善的行为。 记录文档影响;无需修改的文档也说明原因。设计理由见 PHILOSOPHY.md。
- 确定评测信号:A 为测试结果,B 为独立事实核验,C 为已提供的主观证据。 主循环尚无 C 回归与一致性测量生产者,也不执行 A+B 组合。
- 按 DATA.md 配置 PRIVATE 伴生仓,保留真实运行证据。
- 运行
python <skill-path>/tools/sie_cli.py doctor --target <target>, 阅读配置和能力缺口。doctor 不调用模型,退出零不能单独证明就绪。
工作流
| 步骤 | 要做的事 |
|---|---|
| PROFILE | 实现前冻结评测策略、目标契约与留出集;续跑沿用原契约 |
| REFLECT | 从已有记录形成诊断,核对引用;结构检查不等于事实核验 |
| PROPOSE | 提出允许范围内的修改,保留实际 provider 和失败原因 |
| PATCH | 在候选工作树应用提案,执行路径、AST 与 IMMUTABLE 检查 |
| EVALUATE | 用相同口径测量父代和候选,保留任务身份及不可用原因 |
| ACCEPT / REVIEW | 由代码处理证据与门控,归档采纳版本或记录拒绝、人审原因 |
agent 使用已安装的 llmcall.call(prompt, mode="agent"),文本 judge 使用默认模式。
继承其路由、模型、超时和回退策略,不另设 provider 链。
只有实际返回的已知不同家族才能支持独立评审结论。
运行与恢复
python <skill-path>/tools/sie_cli.py init --target <target>
python <skill-path>/tools/sie_cli.py run --target <target> --run-id <id> --base-ref HEAD
python <skill-path>/tools/sie_cli.py status --target <target> --run-id <id>
默认 builtin 将已提供的修复转成提案,不会自主发现修复。
模型提案使用 --live,JSON 产物使用 --proposer llm-artifact。
续跑复用 run ID;--max-rounds 是本次调用的额外轮数。
参数、自举和恢复语义见 runtime。
接受与交付
- 沙箱与私有目录不等于操作系统权限隔离;真值不进入提案 prompt。
- 缺少基线、回归记录、核验结果或独立 provider 时,明确报告缺口。
- 没有回归或测试全绿不单独构成改进;按 evaluation 解释证据。
- 人审队列记录待审动作;发布、合并和对外发送仍按已有授权单独执行。
- 评审前完成实现、文档和已获授权的版本更新,再冻结准确的候选快照。 这不改变实现前的评测冻结;评审后改动须重新检查受影响部分。流程见 maintenance。
- 交付候选差异、源码版本、实际测量、采纳原因、未覆盖范围和运行状态。 统计解释须满足 acceptor_math 的假设。
按需加载上述参考,不读取历史研究资料来代替当前实现和测量。