技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

Description

@Protocol-zero-0

本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


总目标:"灵魂插件"

只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


内核设计原则

这些原则在所有 PR 中保持不变:

  1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
  2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
  3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
  4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
  5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

闭环流程

config → observe → plan → execute → evaluate → accept/reject → ledger
↑_________________history___________________|

每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


阶段路线图

✅ 阶段 0 — 地基(PR #2 · PR #3

  • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
  • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

功能块描述规模
三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
run_until_done()多轮循环原语,触发 hard stops 才停~30 行
History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

PR4 完成后的能力边界:

  • ✅ 多轮 LLM 反复尝试改进
  • ✅ 每轮基于前几轮历史调整方向
  • ✅ 失败不污染主分支(worktree 隔离)
  • ✅ 每次成功 git commit 可单独回滚
  • ✅ 自动撞预算/迭代上限停止
  • ❌ 不知道何时算"成功"(跑到上限才停)
  • ❌ 无整体方向感(单维渐进,不会多阶段战略)
  • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

核心交付:Goal Evaluator + Strategist

功能块描述
Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
run_until_done 升级增加 goal_reached 作为终止条件

里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

功能块描述
k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
Fitness 评分evaluator 返回浮点分数而非 accept/reject
选择合并选最优 branch 推进 accepted,其余淘汰

里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


🔧 阶段 4 — 生产级安全(PR7,待 issue)

核心交付:Process Sandbox + Remote Observer

功能块描述
Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
Remote observer读取 GitHub Actions 状态、外部 metric API 等

里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


发版节点建议

版本对应阶段特征
v0.1PR2 合并后机制可用,stub 角色,适合工程演示
v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
v1.0PR7 完成后生产级安全,可信放入真实 repo

讨论

欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

Metadata

Metadata

Assignees

No one assigned

    Labels

    meta项目元信息:路线图、纲要、设计讨论

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

      Description

      @Protocol-zero-0

      本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


      总目标:"灵魂插件"

      只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

      一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


      内核设计原则

      这些原则在所有 PR 中保持不变:

      1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
      2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
      3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
      4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
      5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

      闭环流程

      config → observe → plan → execute → evaluate → accept/reject → ledger
      ↑_________________history___________________|
      

      每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


      阶段路线图

      ✅ 阶段 0 — 地基(PR #2 · PR #3

      • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
      • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

      里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


      🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

      核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

      功能块描述规模
      三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
      run_until_done()多轮循环原语,触发 hard stops 才停~30 行
      History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
      Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

      里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

      PR4 完成后的能力边界:

      • ✅ 多轮 LLM 反复尝试改进
      • ✅ 每轮基于前几轮历史调整方向
      • ✅ 失败不污染主分支(worktree 隔离)
      • ✅ 每次成功 git commit 可单独回滚
      • ✅ 自动撞预算/迭代上限停止
      • ❌ 不知道何时算"成功"(跑到上限才停)
      • ❌ 无整体方向感(单维渐进,不会多阶段战略)
      • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

      🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

      核心交付:Goal Evaluator + Strategist

      功能块描述
      Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
      Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
      run_until_done 升级增加 goal_reached 作为终止条件

      里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


      🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

      核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

      功能块描述
      k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
      Fitness 评分evaluator 返回浮点分数而非 accept/reject
      选择合并选最优 branch 推进 accepted,其余淘汰

      里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


      🔧 阶段 4 — 生产级安全(PR7,待 issue)

      核心交付:Process Sandbox + Remote Observer

      功能块描述
      Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
      Remote observer读取 GitHub Actions 状态、外部 metric API 等

      里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


      发版节点建议

      版本对应阶段特征
      v0.1PR2 合并后机制可用,stub 角色,适合工程演示
      v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
      v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
      v1.0PR7 完成后生产级安全,可信放入真实 repo

      讨论

      欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        meta项目元信息:路线图、纲要、设计讨论

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

          Description

          @Protocol-zero-0

          本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


          总目标:"灵魂插件"

          只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

          一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


          内核设计原则

          这些原则在所有 PR 中保持不变:

          1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
          2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
          3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
          4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
          5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

          闭环流程

          config → observe → plan → execute → evaluate → accept/reject → ledger
          ↑_________________history___________________|
          

          每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


          阶段路线图

          ✅ 阶段 0 — 地基(PR #2 · PR #3

          • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
          • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

          里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


          🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

          核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

          功能块描述规模
          三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
          run_until_done()多轮循环原语,触发 hard stops 才停~30 行
          History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
          Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

          里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

          PR4 完成后的能力边界:

          • ✅ 多轮 LLM 反复尝试改进
          • ✅ 每轮基于前几轮历史调整方向
          • ✅ 失败不污染主分支(worktree 隔离)
          • ✅ 每次成功 git commit 可单独回滚
          • ✅ 自动撞预算/迭代上限停止
          • ❌ 不知道何时算"成功"(跑到上限才停)
          • ❌ 无整体方向感(单维渐进,不会多阶段战略)
          • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

          🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

          核心交付:Goal Evaluator + Strategist

          功能块描述
          Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
          Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
          run_until_done 升级增加 goal_reached 作为终止条件

          里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


          🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

          核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

          功能块描述
          k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
          Fitness 评分evaluator 返回浮点分数而非 accept/reject
          选择合并选最优 branch 推进 accepted,其余淘汰

          里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


          🔧 阶段 4 — 生产级安全(PR7,待 issue)

          核心交付:Process Sandbox + Remote Observer

          功能块描述
          Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
          Remote observer读取 GitHub Actions 状态、外部 metric API 等

          里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


          发版节点建议

          版本对应阶段特征
          v0.1PR2 合并后机制可用,stub 角色,适合工程演示
          v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
          v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
          v1.0PR7 完成后生产级安全,可信放入真实 repo

          讨论

          欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            meta项目元信息:路线图、纲要、设计讨论

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

              Description

              @Protocol-zero-0

              本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


              总目标:"灵魂插件"

              只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

              一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


              内核设计原则

              这些原则在所有 PR 中保持不变:

              1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
              2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
              3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
              4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
              5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

              闭环流程

              config → observe → plan → execute → evaluate → accept/reject → ledger
              ↑_________________history___________________|
              

              每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


              阶段路线图

              ✅ 阶段 0 — 地基(PR #2 · PR #3

              • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
              • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

              里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


              🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

              核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

              功能块描述规模
              三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
              run_until_done()多轮循环原语,触发 hard stops 才停~30 行
              History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
              Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

              里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

              PR4 完成后的能力边界:

              • ✅ 多轮 LLM 反复尝试改进
              • ✅ 每轮基于前几轮历史调整方向
              • ✅ 失败不污染主分支(worktree 隔离)
              • ✅ 每次成功 git commit 可单独回滚
              • ✅ 自动撞预算/迭代上限停止
              • ❌ 不知道何时算"成功"(跑到上限才停)
              • ❌ 无整体方向感(单维渐进,不会多阶段战略)
              • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

              🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

              核心交付:Goal Evaluator + Strategist

              功能块描述
              Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
              Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
              run_until_done 升级增加 goal_reached 作为终止条件

              里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


              🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

              核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

              功能块描述
              k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
              Fitness 评分evaluator 返回浮点分数而非 accept/reject
              选择合并选最优 branch 推进 accepted,其余淘汰

              里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


              🔧 阶段 4 — 生产级安全(PR7,待 issue)

              核心交付:Process Sandbox + Remote Observer

              功能块描述
              Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
              Remote observer读取 GitHub Actions 状态、外部 metric API 等

              里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


              发版节点建议

              版本对应阶段特征
              v0.1PR2 合并后机制可用,stub 角色,适合工程演示
              v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
              v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
              v1.0PR7 完成后生产级安全,可信放入真实 repo

              讨论

              欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                meta项目元信息:路线图、纲要、设计讨论

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

                  Description

                  @Protocol-zero-0

                  本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


                  总目标:"灵魂插件"

                  只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

                  一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


                  内核设计原则

                  这些原则在所有 PR 中保持不变:

                  1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
                  2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
                  3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
                  4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
                  5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

                  闭环流程

                  config → observe → plan → execute → evaluate → accept/reject → ledger
                  ↑_________________history___________________|
                  

                  每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


                  阶段路线图

                  ✅ 阶段 0 — 地基(PR #2 · PR #3

                  • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
                  • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

                  里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


                  🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

                  核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

                  功能块描述规模
                  三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
                  run_until_done()多轮循环原语,触发 hard stops 才停~30 行
                  History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
                  Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

                  里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

                  PR4 完成后的能力边界:

                  • ✅ 多轮 LLM 反复尝试改进
                  • ✅ 每轮基于前几轮历史调整方向
                  • ✅ 失败不污染主分支(worktree 隔离)
                  • ✅ 每次成功 git commit 可单独回滚
                  • ✅ 自动撞预算/迭代上限停止
                  • ❌ 不知道何时算"成功"(跑到上限才停)
                  • ❌ 无整体方向感(单维渐进,不会多阶段战略)
                  • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

                  🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

                  核心交付:Goal Evaluator + Strategist

                  功能块描述
                  Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
                  Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
                  run_until_done 升级增加 goal_reached 作为终止条件

                  里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


                  🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

                  核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

                  功能块描述
                  k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
                  Fitness 评分evaluator 返回浮点分数而非 accept/reject
                  选择合并选最优 branch 推进 accepted,其余淘汰

                  里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


                  🔧 阶段 4 — 生产级安全(PR7,待 issue)

                  核心交付:Process Sandbox + Remote Observer

                  功能块描述
                  Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
                  Remote observer读取 GitHub Actions 状态、外部 metric API 等

                  里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


                  发版节点建议

                  版本对应阶段特征
                  v0.1PR2 合并后机制可用,stub 角色,适合工程演示
                  v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
                  v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
                  v1.0PR7 完成后生产级安全,可信放入真实 repo

                  讨论

                  欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Labels

                    meta项目元信息:路线图、纲要、设计讨论

                    Projects

                    No projects

                      Milestone

                      No milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

                      Description

                      @Protocol-zero-0

                      本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


                      总目标:"灵魂插件"

                      只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

                      一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


                      内核设计原则

                      这些原则在所有 PR 中保持不变:

                      1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
                      2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
                      3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
                      4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
                      5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

                      闭环流程

                      config → observe → plan → execute → evaluate → accept/reject → ledger
                      ↑_________________history___________________|
                      

                      每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


                      阶段路线图

                      ✅ 阶段 0 — 地基(PR #2 · PR #3

                      • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
                      • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

                      里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


                      🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

                      核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

                      功能块描述规模
                      三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
                      run_until_done()多轮循环原语,触发 hard stops 才停~30 行
                      History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
                      Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

                      里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

                      PR4 完成后的能力边界:

                      • ✅ 多轮 LLM 反复尝试改进
                      • ✅ 每轮基于前几轮历史调整方向
                      • ✅ 失败不污染主分支(worktree 隔离)
                      • ✅ 每次成功 git commit 可单独回滚
                      • ✅ 自动撞预算/迭代上限停止
                      • ❌ 不知道何时算"成功"(跑到上限才停)
                      • ❌ 无整体方向感(单维渐进,不会多阶段战略)
                      • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

                      🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

                      核心交付:Goal Evaluator + Strategist

                      功能块描述
                      Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
                      Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
                      run_until_done 升级增加 goal_reached 作为终止条件

                      里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


                      🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

                      核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

                      功能块描述
                      k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
                      Fitness 评分evaluator 返回浮点分数而非 accept/reject
                      选择合并选最优 branch 推进 accepted,其余淘汰

                      里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


                      🔧 阶段 4 — 生产级安全(PR7,待 issue)

                      核心交付:Process Sandbox + Remote Observer

                      功能块描述
                      Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
                      Remote observer读取 GitHub Actions 状态、外部 metric API 等

                      里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


                      发版节点建议

                      版本对应阶段特征
                      v0.1PR2 合并后机制可用,stub 角色,适合工程演示
                      v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
                      v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
                      v1.0PR7 完成后生产级安全,可信放入真实 repo

                      讨论

                      欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Labels

                        meta项目元信息:路线图、纲要、设计讨论

                        Projects

                        No projects

                          Milestone

                          No milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

                          Description

                          @Protocol-zero-0

                          本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


                          总目标:"灵魂插件"

                          只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

                          一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


                          内核设计原则

                          这些原则在所有 PR 中保持不变:

                          1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
                          2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
                          3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
                          4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
                          5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

                          闭环流程

                          config → observe → plan → execute → evaluate → accept/reject → ledger
                          ↑_________________history___________________|
                          

                          每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


                          阶段路线图

                          ✅ 阶段 0 — 地基(PR #2 · PR #3

                          • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
                          • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

                          里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


                          🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

                          核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

                          功能块描述规模
                          三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
                          run_until_done()多轮循环原语,触发 hard stops 才停~30 行
                          History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
                          Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

                          里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

                          PR4 完成后的能力边界:

                          • ✅ 多轮 LLM 反复尝试改进
                          • ✅ 每轮基于前几轮历史调整方向
                          • ✅ 失败不污染主分支(worktree 隔离)
                          • ✅ 每次成功 git commit 可单独回滚
                          • ✅ 自动撞预算/迭代上限停止
                          • ❌ 不知道何时算"成功"(跑到上限才停)
                          • ❌ 无整体方向感(单维渐进,不会多阶段战略)
                          • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

                          🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

                          核心交付:Goal Evaluator + Strategist

                          功能块描述
                          Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
                          Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
                          run_until_done 升级增加 goal_reached 作为终止条件

                          里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


                          🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

                          核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

                          功能块描述
                          k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
                          Fitness 评分evaluator 返回浮点分数而非 accept/reject
                          选择合并选最优 branch 推进 accepted,其余淘汰

                          里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


                          🔧 阶段 4 — 生产级安全(PR7,待 issue)

                          核心交付:Process Sandbox + Remote Observer

                          功能块描述
                          Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
                          Remote observer读取 GitHub Actions 状态、外部 metric API 等

                          里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


                          发版节点建议

                          版本对应阶段特征
                          v0.1PR2 合并后机制可用,stub 角色,适合工程演示
                          v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
                          v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
                          v1.0PR7 完成后生产级安全,可信放入真实 repo

                          讨论

                          欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Labels

                            meta项目元信息:路线图、纲要、设计讨论

                            Projects

                            No projects

                              Milestone

                              No milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              技术纲要与路线图:evolution-kernel 从 MVP 到灵魂插件 #5

                              Description

                              @Protocol-zero-0

                              本 issue 是项目技术纲要,随开发进展持续更新。所有实现细节见各阶段对应的 issue/PR。


                              总目标:"灵魂插件"

                              只要把这个系统装到任意目标 repo 并给出初始配置,它就能对目标代码持续不断地进化、观察,直到达到进化目标。如果目标设置得足够长远、约束条件足够宽松,系统就能持续改良这个代码仓库。

                              一句话定性:一个可以被信任地放着自己跑的、有记忆的、会自动停的、每一步都可回滚的、面向单一目标仓库的 AI 代码进化 runtime。


                              内核设计原则

                              这些原则在所有 PR 中保持不变:

                              1. 内核只路由智能,不嵌入智能(Unix 哲学)——kernel 本身不含 LLM,只负责调度角色
                              2. 角色是外部命令——planner / executor / evaluator 通过 JSON 文件 I/O 与 kernel 通信,可插拔替换,LLM 的选择由角色决定而非 kernel
                              3. 代码规模信念——~1000 行是心理锚点,好的机制内核应当简洁
                              4. 执行层要规划 + 检测每轮效果 + 辅助收敛——每轮不是盲目尝试,而是有记忆、有方向的改进
                              5. 复用现成 coding agent——executor 调用 Aider / Claude Code headless,不重造

                              闭环流程

                              config → observe → plan → execute → evaluate → accept/reject → ledger
                              ↑_________________history___________________|
                              

                              每一轮结果写入 ledger,下一轮 planner 读取 history,形成有记忆的持续进化。


                              阶段路线图

                              ✅ 阶段 0 — 地基(PR #2 · PR #3

                              • PR #2(hitome0123):MVP 闭环 + 严格 scope check + 完整 ledger(含 scope violation 路径)→ 推荐合并,作为主线地基
                              • PR #3(AndrosEt):MVP 闭环 + Observer + YAML config → 功能跑通,但 scope violation 路径审计不完整

                              里程碑:可以跑一次完整闭环,ledger 可审计,scope 严格控制。角色为 stub,无 LLM。


                              🔧 阶段 1 — 第一个真正可用版本(Issue #4 · PR4

                              核心交付:接入真 LLM + 多轮进化循环 + History 注入 + Cost Guard

                              功能块描述规模
                              三角色接真 LLMplanner/executor/evaluator 调用真实 LLM 或 coding agent~170 行
                              run_until_done()多轮循环原语,触发 hard stops 才停~30 行
                              History 注入planner 每轮读前 N 轮记录,不再是布朗运动~50 行
                              Cost guardmax_total_usd / max_total_tokens 安全闸~30 行

                              里程碑第一个可演示版本。给一个 repo + 一个目标,放着不管,多轮后 repo 真实发生变化,全程可审计,预算可控。

                              PR4 完成后的能力边界:

                              • ✅ 多轮 LLM 反复尝试改进
                              • ✅ 每轮基于前几轮历史调整方向
                              • ✅ 失败不污染主分支(worktree 隔离)
                              • ✅ 每次成功 git commit 可单独回滚
                              • ✅ 自动撞预算/迭代上限停止
                              • ❌ 不知道何时算"成功"(跑到上限才停)
                              • ❌ 无整体方向感(单维渐进,不会多阶段战略)
                              • ❌ 无进程级 sandbox(LLM 可执行任意 shell)

                              🔧 阶段 2 — 知道何时算赢(PR5,待 issue)

                              核心交付:Goal Evaluator + Strategist

                              功能块描述
                              Goal Evaluator独立角色,判断 mission 整体是否达成,可自动停止进化
                              Strategist每 N 轮触发一次,输出当前阶段/下一里程碑/禁忌方向,注入 planner
                              run_until_done 升级增加 goal_reached 作为终止条件

                              里程碑:进化过程有目标感,知道何时算赢,不再依赖人工设置 max_iterations。


                              🔧 阶段 3 — 逃出局部最优(PR6,待 issue)

                              核心交付:k-branch 并行探索(FunSearch / AlphaEvolve 模式)

                              功能块描述
                              k 个并行 worktree同一轮起 k 个分支,各自 plan → execute
                              Fitness 评分evaluator 返回浮点分数而非 accept/reject
                              选择合并选最优 branch 推进 accepted,其余淘汰

                              里程碑:不会因为一个错误方向走死,具备种群级别的探索能力。


                              🔧 阶段 4 — 生产级安全(PR7,待 issue)

                              核心交付:Process Sandbox + Remote Observer

                              功能块描述
                              Process sandboxfirejail / bwrap / 容器,限制 executor 的 shell 权限
                              Remote observer读取 GitHub Actions 状态、外部 metric API 等

                              里程碑:可以放进真实生产 repo 无人值守跑,executor 无法破坏宿主环境。


                              发版节点建议

                              版本对应阶段特征
                              v0.1PR2 合并后机制可用,stub 角色,适合工程演示
                              v0.2PR4 完成后第一个真正可用版本,LLM 接入,多轮有记忆
                              v0.3PR5 完成后知道何时停,完整"灵魂插件"体验
                              v1.0PR7 完成后生产级安全,可信放入真实 repo

                              讨论

                              欢迎在评论区提出对路线图的意见、对某阶段功能的设计建议、或对原则的质疑。

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Labels

                                meta项目元信息:路线图、纲要、设计讨论

                                Projects

                                No projects

                                  Milestone

                                  No milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions