MOLT 西奈医院模型:五个月的自动化缺陷修复作为医疗团队隐喻
要点
在五个月内,Cockroach Labs 的 MOLT 西奈“医院”流水线在两天内以 4,172 美元的 LLM 代币成本增加了 IBM Db2 迁移支持——比之前耗时 9 个月、花费 16 万美元的 Oracle 项目快 164 倍,成本低 38 倍——表明 LLM 代理的教学医院隐喻能够以显著降低的成本和风险生成生产级代码。
为什么采用教学医院隐喻?
结论: 质量而非速度驱动迁移工具;医院模型强制严格的交接、审查和文档记录。
- 代理可以快速生成代码,但不受控制的输出在分布式 SQL 数据库中可能导致数据损坏。
- 现有的代理工厂(例如 Gas Town、Cursor 的 SQLite 重建)优化吞吐量,而非数据库迁移所需的安全保证。
- 教学医院为高风险工作提供了一个经过验证的框架,适用于技能水平不均、强制二次意见和文档化交接的情况。
“我们寻找一种模型,它长期管理由技能不均的员工执行的高风险工作,具有强制交接、强制二次意见,以及关于交接草率时出错情况的文献。我们最终选择了教学医院。” – Rafi Rafiss,Cockroach Labs
医院角色映射到代理功能
结论: 每个角色隔离特定职责,防止代理越权并确保可追溯性。
| 角色 | 代理提示 / 职责 |
|---|---|
| 分诊护士 | 对传入的 GitHub 问题进行分类,接受或拒绝。 |
| 研究员 | 复现缺陷,编写诊断报告,并在接触代码之前制定详细治疗计划。 |
| 审查主治医师 | 一个独立的 LLM 实例,审查计划和代码中的缺陷、回归和安全问题。 |
| 出院护士 | 审计审查是否正确执行、CI 是否通过、提交历史是否干净,然后合并。 |
| 医学主任 | 代理无法解决的情况的人工升级点。 |
| 支持部门 | 值班护士(重新运行停滞阶段)、感染控制(主分支破坏时锁定流水线)、安全(每周流程审查)、研究(提出新工作)。 |
技术实现
结论: 整个工作流通过 GitHub Actions 和问题标签编排,使状态机可观察且可复现。
- 状态跟踪: 问题标签表示当前阶段(例如
triage-in、fellow-out)。添加标签触发相应的 GitHub 工作流。 - 提示加载: 每个工作流加载特定角色的提示,并将结构化注释(
<!-- SINAI:TREATMENT_PLAN -->)写入图表文件供下游代理使用。 - 技能文件中编码的安全规则:
- 没有计划之前不写代码,没有审查之前不制定计划。
- 不要即兴发挥 – 任何范围变更都强制新的计划和审查。
- 没有测试捷径 – 失败的测试在证明其错误之前被视为正确。
- 绝不慌乱 – 卡住的研究员在升级前发出 I-PASS 交接。
- 出院护士审计审查者 – 确保审查过程得到遵循。
- 先例日志 – 代理在升级到人类主任之前查阅仅追加的日志。
生产结果(2026 年 4 月 21 日 – 9 月 11 日)
结论: 医院流水线交付了超过一百万行代码,人工干预最少且保真度高。
| 指标 | 值 |
|---|---|
| 合并的治疗 PR | 1,238 |
| 已处理的问题 | 1,322 |
| 代理生成的后续问题 | 1,299 |
| 后来被还原的 PR | 7 |
| 升级到人类主任的问题 | 92 |
| PR 中位数大小 | 增加 527 行 |
- Db2 迁移是第一个大型功能,在 <2 天 内完成,代币成本 4,172 美元。
- 第一周后启用了人工审批模式,以在向客户发布前验证质量。
- 同一流水线随后生成了 迁移助手(AI 引导的 Postgres 到 CockroachDB 迁移),目前处于预览阶段。
成本分解与模型演进
结论: 随着流水线从昂贵的模型(Opus)迁移到使用 Fable 进行规划和选择性升级的分层方法,基于代币的成本大幅下降。
- 总代币支出:135,000 美元(约 每个问题 84 美元)。
- 初始阶段对每个步骤使用 Claude Opus;后期阶段切换到 Fable 进行规划,并动态选择模型进行实现,降低了每个问题的成本。
- 成本峰值对应于模型切换调整周期和工作负载组合(UI 工作因图像处理而产生更高的代币使用量)。
自我改进:冗余技能文件
结论: 约四分之一的技能文件文本是冗余的,增加了代币使用量;修剪将带来可衡量的节省。
- 对 25 个技能文件(约 10 万词)的审计发现 23% 可删除。
- 出院护士每次运行加载约 21,800 词(约 29,000 代币);冗余直接增加了成本。
- 未来工作包括构建一个 linter 来检测和消除重复规则。
经验教训
有效的方法
- 角色框架 – 简短的角色介绍(“你是一名研究员……”)为代理提供了强大的上下文基础,导致语言细腻(例如礼貌的升级消息)。
- 计划优先审查 – 只有 <10% 的计划被拒绝,但这些拒绝防止了下游缺陷,节省了大量返工。
- 变更大小的硬上限 – 任何超过 1,000 行的工作都会触发自动分解,保持每个 PR 可审查。
- 全面的审计跟踪 – 每个操作(计划、I-PASS、审查结论、代币使用量)都存档在伴随分支中,支持完整的事后分析。
需要改进的地方
- 过度官僚化 – 代理有时会创建重复关闭操作或升级琐碎的 UI 调整,导致不必要的循环。
- 无休止返工的断路器 – 在三轮返工后实施了安全审查;进一步优化正在进行中。
- 自生成积压 – 近 50% 的问题是自动创建的;限制研究部门减少了噪音。
- 初级工程师的学习机会 – 当前模型偏向高级吞吐量;计划正在制定中,让人类制定计划并接收代理反馈以发展技能。
社区反馈(HN 亮点)
“这感觉像是一个高质量系统设计的绝佳例子……隐喻有效地编码了复杂关系。” – finnborge
“与 LLM 角色扮演并不是产生惊人代码的秘密。” – anonymous908213
“为什么使用 GitHub 问题而不是专用的工单系统?” – reachableceo
“很棒的文章 – 现代医疗团队实践很好地转化为 AI 代理。” – cs702
“流水线产生了大量内部工作;限制是必要的。” – kinduff
这些评论既强调了对隐喻的热情,也表达了对工具选择和官僚主义的担忧。
下一步
结论: 团队将优化成本效率,扩展初级工程师的教育功能,并探索低风险问题类别的全自动操作。
- 继续修剪技能文件冗余并添加提示 linter。
- 启用人工制定计划并代理审查,以创建学习循环。
- 通过独立测试验证 Db2 迁移的正确性。
- 试验合并后的“旅行护士”阶段进行验收测试。
- 将 Sinai 框架推广到更广泛的内部采用(已有四个仓库使用,计划更多)。
MOLT 西奈实验表明,一个精心设计的医院式 LLM 工作流可以显著加速复杂工程任务,同时保持生产数据库工具所需的安全保证。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch