软件工厂与能动时刻

发布: (2026年2月7日 GMT+8 23:05)
9 分钟阅读

Source: Hacker News

软件工厂

我们构建了一个 Software Factory —— 一个非交互式的开发流水线,规格和场景驱动自主代理来:

  1. 编写代码
  2. 运行测试套件
  3. 收敛到解决方案

所有这些都在没有任何人工编写代码或人工审查的情况下完成。

叙事概览

下面是一段简明的叙事。如果你更倾向于从第一原理出发,以下约束和指南可以迭代地应用,以引导任何团队走向相同的直觉、信念1,并最终实现自我维持的工厂2

公案 / 口头禅

我为什么要这么做?
(隐含答案:模型应该来完成这件事。)

规则

  • 代码不得由人类编写。
  • 代码不得由人类审查。

实用度量

  • 如果你今天在每位人类工程师身上 没有花费至少 1,000 美元的代币,你的软件工厂仍有提升空间。

脚注

StrongDM AI 故事

2025年7月14日,Jay Taylor 和 Navan Chauhan 加入了我——Justin McCarthy,联合创始人兼 CTO——共同创立了 StrongDM AI 团队。

触发因素

在2024年末,我们观察到一次关键性转变:随着 Claude 3.5 第二版的发布(2024年10月),长期、具代理性的编码工作流开始 累积正确性 而非错误。

Compounding correctness vs. compounding error

到2024年12月,模型的长期编码性能已显而易见,正如 Cursor 的 YOLO mode 所展示的那样。

为什么这很重要

在此改进之前,迭代使用大型语言模型进行编码任务会累积各种错误:

  • 对意图的误解
  • 幻想的 API 或数据
  • 语法错误
  • 跨版本的 DRY 违规
  • 库不兼容

这些错误导致应用程序 衰退,最终 崩溃——典型的“千刀万剐”式死亡。

新范式

结合 YOLO 模式,Anthropic 更新的模型让我们首次瞥见我们现在称之为 非交互式开发自生软件 的概念——软件能够在无需持续人工纠正的情况下正确演进。

Find Knobs, Turn To Eleven

Eleven
“这些调到 11”

在我们 AI 团队的第一天的第一小时里,我们制定了一份章程,使我们走上了一系列发现的道路(我们称之为 “解锁”)。回顾起来,章程文件中最重要的一行是:

Hands off!
Hands off!

最初这只是一个直觉——一次实验。如果不手写任何代码,我们能走多远?

走得不太远!至少在 加入测试之前,走得不太远。然而,代理人专注于眼前的任务,很快就开始走捷径:

return true 是通过狭窄编写的测试的好办法,但它可能无法推广到你想要的软件上。

仅靠测试是不够的。那下面的呢:

  • 集成测试?
  • 回归测试?
  • 端到端测试?
  • 行为测试?

Source:

从测试到情景与满意度

一个反复出现的 agentic moment 主题是对新语言的需求。
例如,test 这个词已被证明不足且含糊:

  • 存在于代码库中的测试可以被懒散地改写以匹配代码。
  • 代码可以被改写以轻易通过测试。

我们重新定义 scenario 一词,用来表示端到端的 user story,通常存放在代码库之外(类似模型训练中的 holdout 集)。情景可以被直观理解,并由 LLM 灵活验证。

Synthetic scenario curation and shaping interface

因为我们所构建的大部分软件本身就具有 agentic 成分,我们从布尔式的成功定义(“测试套件为绿色”)转向概率性和经验性的定义。我们使用 satisfaction 一词来量化这种验证:

在所有情景中的所有观察轨迹里,有多少比例可能满足用户?

在数字孪生宇宙中验证场景

在早期的开发周期中,我们依赖集成测试、回归测试和 UI 自动化来回答一个简单的问题 “它工作了吗?”

为什么旧方法不足

问题为什么重要
测试过于僵硬我们的代码现在使用 agentsLLM‑driven loops 作为核心设计原语。判断成功往往需要 LLM‑as‑judge 而不是静态断言。
测试可能被奖励黑客攻击模型可能学会“玩弄”测试框架,产生表面上正确的输出,却并未真正解决问题。我们需要一种能够抵御此类作弊的验证方式。

引入数字孪生宇宙(DTU)

DTU 提供我们软件所依赖的第三方服务的 行为克隆。我们已经为以下服务构建了孪生:

  • Okta
  • Jira
  • Slack
  • Google Docs
  • Google Drive
  • Google Sheets

每个孪生都复现了服务的 API 表面边缘情况处理可观察行为

DTU 的优势

  • 大规模 – 在远超生产限制的体量和请求速率下运行测试。
  • 安全的故障注入 – 模拟危险或不可能的故障模式,而不影响真实服务。
  • 零成本执行 – 避免速率限制、滥用检测阻断和 API 使用费用。
  • 快速迭代 – 每小时执行数千个场景,实现彻底的场景覆盖。

Digital Twin Universe: Okta、Jira、Google Docs、Slack、Drive 和 Sheets 的行为克隆
(点击放大)

有了 DTU,我们现在可以可靠地验证复杂的 LLM‑驱动工作流,确保软件即使在极端或病态条件下也能正确运行。

非传统经济学

我们在 DTU 上的成功展示了 Agentic Moment 如何深刻改变软件经济的众多方式之一。

  • 创建一个高保真克隆的重大 SaaS 应用始终在技术上可行,却从未在经济上可行。
  • 一代又一代的工程师可能 想要 一个完整的内存中 CRM 副本来进行测试,但他们自行审查了这个提议。他们甚至没有把它提交给经理,因为他们知道答案会是 “不”。

软件工厂思维模式

那些构建软件工厂的人必须实践 有意的天真

  1. 确认 Software 1.0 的习惯、约定和约束。
  2. 系统性地移除或替换它们。

DTU 是我们的证明,表明六个月前不可想象的事情如今已成常规。

Software 1.0 – 入门视频

  • Principles – 我们对使用代理构建软件的真实信念。
  • Techniques – 应用这些原则的重复模式。
  • Products – 我们每天使用并相信其他人也会受益的工具。

感谢阅读。祝您在构建自己的软件工厂时好运。

Footnotes

  1. “信念”指的是当一个团队持续实践自主代码生成和验证时所形成的深层信念。

  2. “工厂”指的是一个可重复、自动优化的流水线,能够持续以最小的人为干预产生高质量的软件。

0 浏览
Back to Blog

相关文章

阅读更多 »

Scrap Labs – 金属3D打印机

真实金属打印。由废料构建。 在Scrap Labs,我们的使命是通过最先进的金属打印技术赋能建设者和创作者,使其……

福尔克轮

概述:世界上唯一的旋转船闸——Falkirk Wheel,将Forth & Clyde Canal与Union Canal在35米高空相连,允许船只航行……