The Closing Window
软件工厂:无需人工代码审查的 AI 驱动开发 image

软件工厂:无需人工代码审查的 AI 驱动开发

AI Insights

来源: Software Factory 作者 Simon Willison(2026年2月7日)

Simon Willison 报道了 StrongDM 的 AI 团队如何实现了 Dan Shapiro 所说的 "Dark Factory" 级别的 AI 采用——在这个层级中,没有人类编写甚至审查 coding agents 产出的代码。他们的完整报告:Software Factories and the Agentic Moment

核心原则

StrongDM 的 AI 团队(2025年7月成立,仅3人)在激进的约束下运作:

  • 代码不能由人类编写
  • 代码不能由人类审查
  • 如果你每天每位工程师在 tokens 上的花费还没达到 1,000 美元,你的软件工厂还有改进空间

催化剂:随着 Claude 3.5 Sonnet 修订版 2(2024年10月)的发布,长周期的 agentic coding 工作流开始累积正确性,而不是累积错误。2025年11月的拐点(Claude Opus 4.5、GPT 5.2)进一步提高了可靠性。

关键创新 #1:场景测试作为留出集

问题:如果 agents 同时编写实现代码和测试,它们可以作弊(assert true)。你怎么证明 agent 产出的软件确实能用?

解决方案:借鉴 ML 的思路——将测试场景视为模型训练中的留出集(holdout sets)

  • 端到端的"用户故事"存储在代码库之外,对 coding agents 不可见
  • 从布尔型的 pass/fail 转向概率性满意度:"在所有场景中观察到的所有轨迹中,有多少比例可能让用户满意?"
  • 有效地复制了激进的外部 QA 测试——历史上成本高昂但非常有效

对开发者的意义:这将测试理念从"这段代码是否按我的要求执行"重新定义为"这个系统是否在真实场景中满足用户"。这是从单元测试正确性到行为验证的思维转变。

关键创新 #2:Digital Twin Universe (DTU)

问题:你不可能每小时对真实 SaaS API 运行成千上万次集成测试(rate limits、成本、滥用检测)。

解决方案:让 coding agents 构建第三方服务的行为克隆

  • 构建了 Okta、Jira、Slack、Google Docs、Google Drive、Google Sheets 的 twins
  • 复制它们的 API、边界情况和可观察行为
  • 将完整的公开 API 文档输入 agent harness,生成独立的 Go 二进制文件
  • 在上层叠加简化的 UI 以实现完整模拟

突破点:创建高保真的 SaaS 应用克隆一直是可能的,但从未经济上可行。LLM agents 大幅降低了构建这些副本的成本。现在你可以:

  • 以超过生产限制的规模进行验证
  • 测试对线上服务来说过于危险的故障模式
  • 每小时运行数千个场景,没有 rate limits 或 API 成本

对开发者的意义:即使你没有在构建完整的"软件工厂",DTU 的概念也可以直接应用。任何针对外部 API 进行集成测试的团队都可以从 agent 生成的服务 mock 中受益,这远远超越了手写的 stubs。

关键创新 #3:可复用的 Agent 技术

StrongDM 在他们的技术页面上发布了几个命名模式:

技术 描述 开发者应用
Gene Transfusion Agents 从现有系统中提取模式并在其他地方复用 自动在服务间迁移架构模式
Semports 从一种语言直接移植代码到另一种语言 跨语言迁移(例如 Python 服务到 Go)
Pyramid Summaries 多层次摘要——agents 先列举简短摘要,根据需要深入细节 使用 agents 管理大型代码库;渐进式上下文加载

关键创新 #4:Spec 驱动的 Agent 软件 (Attractor)

StrongDM 发布了 Attractor——他们的非交互式 coding agent——作为一个零代码的仓库。只有三个 markdown 文件,以细致入微的方式描述 spec,并附有说明,将它们输入你选择的 coding agent。

这代表了一种转变:规格说明就是软件发行版。其假设是:任何称职的 coding agent 都可以根据足够好的 spec 来实现。

实用要点

  1. 将测试编写与代码编写分开:即使不搞完整的"dark factory",将场景定义保持在 agent 可见上下文之外也能防止作弊。

  2. 投资环境模拟:Agent 生成的服务 mock/twin 现在经济上可行,能大幅提高测试吞吐量。

  3. 概率性验证优于二元测试:考虑衡量跨场景轨迹的"满意率",而不是仅仅关注 pass/fail 测试套件。

  4. 渐进式上下文管理:Pyramid Summaries 帮助 agents 在大型代码库中导航,而不会溢出上下文窗口。

  5. Spec 优先开发:编写良好的规格说明成为主要产物;实现变得可替换。

成本现实检验

每位工程师每天 1,000 美元(每月 20,000 美元)的目标引发了关于经济可行性的严肃问题。Willison 指出,在这个价位上,这种方法变得"远没有那么有趣"——它变成了一个商业模式练习,而非通用技术。此外,竞争对手可能只需几个小时的 agent 工作就能克隆功能,这对传统的软件护城河构成了挑战。

对于个人开发者和小团队来说,这些概念性模式(留出测试、DTU、Pyramid Summaries)即使在花费水平低得多的情况下(如每月 200 美元的 Claude Max 计划)也同样有价值。

开源发布

  • Attractor:非交互式 coding agent 的纯 spec 仓库
  • cxdb:AI Context Store——用于对话历史和工具输出的不可变 DAG(16K 行 Rust、9.5K Go、6.7K TypeScript)

Powered by Buttondown.