跳到课程正文
EN
课程书架/自学公开课程

第 21 周 / 24 · 留下真正有用的

可审查的改变

代码层改进:补丁、隔离评测与人为控制的发布

10 小时核心 + 2 小时机动学习 · 实验 · 独立练习
开始阅读 ↓
可审查的改变24 周个人 FDE 实践路线

本周要回答: 当 agent 能修改自己的工具代码时,谁来防止它通过改评分方式或扩大权限“变得更好”?

进入本周前: 已经做过有预算的候选比较,能独立审查代码差异、回退版本和恢复数据。

图 21.1本周的思考路径
  1. 01复现缺陷
  2. 02提出补丁
  3. 03独立检查
  4. 04审查与发布
课程示意图 · 根据本周实验步骤绘制,表示建议流程,不是实测结果。

学习内容与理解目标

本周把改进目标从提示词扩展到一个明确代码缺陷。先理解边界:Git 分支是变更隔离,不是安全沙箱;运行未知代码需要受限制的执行身份、文件和网络权限。研究中的自修改系统与个人生产系统的风险不同,不能把论文探索直接当作安全产品。DGM 原文同时提供思路与局限讨论,见 R52 · Sakana AI:Darwin Gödel Machine。

课程采用“提案者—评测者—批准者”分工:agent 提交补丁,独立流程运行固定检查,人决定是否采用。普通功能测试可以随明确的新需求更新,但验收标准变更必须单独审查,不能由同一候选静默降低。生产部署与权限修改始终不交给改进循环自行决定。

学习链接与选读范围

级别 官方或原始资料 本周只读这些 阅读预算
研究选读 R52 · Sakana AI:Darwin Gödel Machine 代码自修改、验证、风险与局限;不复制性能宣传。 35 分钟
环境选读 R70 · Docker:Get started 容器与隔离基础;已有受控环境可不新增工具。 35 分钟
必读复习 R31 · Pro Git:在线书籍 分支、差异、合并和撤销,保持改动可审阅。 35 分钟

实战拆解

  1. 选一个可以用失败测试证明的小 bug,写清修复范围与禁止修改的边界。先存下当前可用版本,不让 agent 从“整体提升系统”开始。

  2. 在隔离分支与受限运行环境中执行。环境只挂载合成夹具和所需代码,不挂载私人目录、生产凭据、宿主控制接口或独立保留答案。

  3. 要求补丁包含最小实现差异、相关测试和说明。检查是否偷偷改配置、删除失败案例、跳过权限校验或新增网络依赖。

  4. 由独立评测流程运行检查,并人工复核至少一条关键结果。自动通过不等于已经安全,尤其是运行时权限、数据流和业务动作。

  5. 人工选择合并或拒绝。采用后只做小范围试运行,并实际演练回退;不允许 agent 自行连续部署下一版。

交付与验收

本周交付 怎样确认真的完成
可审查补丁 范围明确,没有夹带权限、预算与评分标准的隐蔽变化。
隔离评测记录 说明实际运行环境和限制,不把分支称为安全沙箱。
合并或拒绝与回退 决定有证据,恢复步骤经过操作。

不用代码生成器的练习: 自己审查一份包含无关配置变更的补丁,指出为什么应拆分或拒绝;然后独立回退已合并的测试改动。

隐私与安全检查: 容器也可能通过过宽挂载、特权模式或宿主接口失去隔离意义。不要给改进 agent 生产秘密和不必要网络,不能把“它不会这么做”的提示当访问控制。环境风险不明确时,只做补丁提案,不执行未知代码。

落到日常生活: 把一个经常打断使用的小错误修好,而不是为了展示 RSI 不断重构。后续一周观察维护是否减少;不要把增加测试和基础设施本身当生活收益。

过关或补课判断: 能独立识别越界变更,知道何时拒绝执行并完成回退,才具备受控代码改进的基础。

本周可复制的协作提示

请只为指定失败提出最小补丁,在隔离分支和受限环境中工作。不得改权限、预算或独立评分标准,不挂载私人数据与生产秘密。由独立评测和人工决定是否合并,不自动部署。

本周来源与核对范围

来源编号与核对说明沿用课程原文,基线为 2026-09-27。未逐一登录完成外部实验;实施前请核对最新版本与访问条件。

  1. R31
    Pro Git:在线书籍 ↗

    按需查 Basics、Branching 等章节。

  2. R52
    Sakana AI:Darwin Gödel Machine ↗

    2025-05-30;代码改进研究与局限,不代表无限自进化已被证明。

  3. R70
    Docker:Get started ↗

    环境隔离选修;容器默认配置不自动等于强安全沙箱。