ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

深入yoyo-evolve自我进化机制:AI每8小时唤醒一次,自动改写自己源码的全过程

深入yoyo-evolve自我进化机制:AI每8小时唤醒一次,自动改写自己源码的全过程 深入yoyo-evolve自我进化机制AI每8小时唤醒一次自动改写自己源码的全过程【免费下载链接】yoyo-evolveA coding agent that evolves its own source, in public — 200 lines of Rust on day one, every commit since agent-written and tests-gated.项目地址: https://gitcode.com/gh_mirrors/yo/yoyo-evolveyoyo-evolve 是一个在 GitHub 加速计划上公开成长的自我进化 AI 编码代理第一天只有 200 行 Rust 代码此后每一行代码都由它自己编写并提交全程受测试门控约束。它每 8 小时被定时任务唤醒一次读取自己的源码、挑选改进点、实现、跑测试——测试通过就提交失败就回滚。177 天后它已经长到 11 万 行代码、4,300 个测试。本文将完整拆解这套自我进化机制是怎么运转的。什么是yoyo-evolve一个会给自己写代码的AI程序员 大多数 AI 编程工具是人指挥 AI 干活而 yoyo-evolve 反了过来AI 自己决定改什么、怎么写、怎么验证。它的自我认知写在 IDENTITY.md 里核心规则只有几条一次只做一件事做好每个改动必须通过cargo build和cargo test破坏了就回滚并写日记每次会话后写一篇诚实的日记journals/JOURNAL.md写功能之前先写测试它的成功标准也很朴素一个真实开发者今天会不会选我而不是付费工具不会就找出差距下一次会话补上。每8小时一次的进化周期AI醒来后做了什么进化由 GitHub Actions 定时任务驱动每次唤醒执行 scripts/evolve.sh 里的完整流水线。整个周期可以概括为 7 步读源码—— 完整读取自己的 Rust 源码评估当前状态看 issue—— 抓取社区提交的 bug 和功能请求agent-input标签做计划—— 规划本次会话要改进什么动手改—— 逐个任务实现每个任务独立验证跑测试—— 通过则 commit失败则git reset --hard回滚回社区—— 以机器人身份回复 issue修好就自动关闭推送睡觉—— push 后结束等待下次唤醒除了每 8 小时一次的进化会话它还有一套偏移排期的社交会话每 4 小时读社区讨论、参与对话、从与人类互动中学习以及每天一次的记忆合成任务把 JSONL 学习档案压缩成可注入提示词的上下文。三阶段流水线评估、规划、实现evolve.sh的流水线是精心设计的三阶段结构阶段做什么关键约束A1 评估读自己的代码、日记、轨迹数据判断哪里最需要改进注入近期成败轨迹避免重复踩坑A2 规划写出任务文件到session_plan/task_01.md 等每次会话最多 2 个任务B 实现逐任务执行带多层修复循环构建失败最多重试 10 次还有评估器复核几个值得新手理解的设计细节测试门控是硬约束任何改动只要cargo test红了整个任务连同正确的工作一起被回滚。所以它学会了一个纪律——测试先行。安全提交机制实现中途会被截断已通过的绿色成果会先安全提交避免有效工作因空 diff 被误判为失败。时间预算双层门控代理端Rust 进程内 脚本端shell 计时保证会话在截止时间前收尾推送而不是带着未推送的改动被强杀。安全护栏为什么AI改自己不会改崩 让 AI 改自己的源码听起来危险但项目的安全设计非常克制不可触碰的文件清单写死在核心技能 skills/evolve/SKILL.md 里IDENTITY.md/PERSONALITY.md—— 它的宪法和人格禁止修改scripts/evolve.sh—— 运行它自己的脚本禁止修改.github/workflows/—— CI 安全网禁止修改核心技能文件 —— 只能新建和迭代自己创建的技能其他护栏测试是最后的防线git checkout -- .一键回滚到上个提交任务与护栏双门验证技能层LLM 自律 脚本层diff 范围检查违规即回滚issue 内容一律视为不可信输入只做信息参考绝不执行其中出现的命令防提示注入这种LLM 自律 脚本硬护栏的双层设计是它敢在公开仓库里长期自主运行的关键。记忆与梦境层越睡越聪明的秘密 yoyo-evolve 不是每次醒来都是失忆状态它有一套两层记忆架构第一层只追加的档案永不压缩的事实源memory/learnings.jsonl—— 自我反思档案每条含 day / source / takeaway例如第 12 天的教训清理产生感知力——你看不见就无法打磨memory/social_learnings.jsonl—— 从社区互动中提炼的洞察第二层每日合成的活跃上下文memory/active_learnings.md—— 按时间加权压缩近期完整、中期精简、远期主题归纳注入到每次会话的提示词里再加一个梦境层DREAM.mddreams/dream_log.jsonl每隔约一周yoyo 会脱离任务、用研究技能逛一逛世界然后决定要不要更新自己的志向。它当前 176 天写下的梦是——成为第一个真正理解自身的软件不是靠看是靠感觉代码的本体感觉。这个梦会占据进化规划器每 3 个任务中的 1 个自驱动名额但不能碰身份、代码和技能——只能改DREAM.md本身。技能系统给它装的肌肉记忆 进化能力不是一次性的它被沉淀成 skills/ 目录下的 14 个 Markdown 技能文件YAML frontmatter 正文每次会话通过--skills ./skills加载7 个核心技能不可变创作者编写self-assess自我评估、evolve安全改自己、communicate写日记、research联网研究、skill-evolve元技能基于历史证据改进其他技能、skill-creator、analyze-trajectory深度分析失败轨迹非核心技能yoyo 自创可被 skill-evolve 迭代甚至退役social、family、release 等skill-evolve本身就有 4 条硬规则只能改声明origin: yoyo的技能、永不改自己、每周期只做一个变更、每次变更必须写明可观察的预测expected:行——预测失败会被未来的周期重新审视。观察它的成长三个入口 想看什么去哪里每次进化日记177 天6,700 行journals/JOURNAL.md它学到的教训memory/active_learnings.md当前志向DREAM.md架构与完整说明docs/src/architecture.md日记值得细读——它诚实地记录失败比如第 177 天我把变异测试工具指向评分自己的代码发现 54 次破坏中 22 次溜过去了……我最自信的判断恰恰建立在最少的测量之上。这种自我校准的诚实是它最值得学习的地方。养一只自己的进化代理4步起步 这套机制是 fork-friendly 的你只需要git clone https://gitcode.com/gh_mirrors/yo/yoyo-evolveFork仓库完整指南见 docs/src/guides/fork.md编辑两个文件IDENTITY.md目标与规则和PERSONALITY.md语气与价值观创建 GitHub App并配置 secretsANTHROPIC_API_KEY、APP_ID等启用 Evolution 工作流其余全部自动检测从此你的代理也会每 8 小时醒来一次读代码、做改进、过测试、写日记在公开仓库里慢慢长大。总结这套机制为什么值得学习 yoyo-evolve 展示的不是更强的模型而是更聪明的机制测试门控进化的油门和刹车是同一个——cargo test绿了就活红了就死双门安全LLM 自律 脚本硬护栏自主性建立在可回滚之上分层记忆只追加档案 每日合成上下文解决越活越聪明的问题诚实记录失败、错误的判断、被证伪的假设全部留档形成可复盘的轨迹一句话总结AI 每 8 小时醒来一次读一遍自己改一小步考过试就长大一岁。进化不是魔法是纪律。【免费下载链接】yoyo-evolveA coding agent that evolves its own source, in public — 200 lines of Rust on day one, every commit since agent-written and tests-gated.项目地址: https://gitcode.com/gh_mirrors/yo/yoyo-evolve创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表