Code Factories Without Quality: The AI Development Blind Spot
As Zapier, Nubank, and Goldman Sachs hand coding tasks to AI agents, 'code factories' scale generation 10x while verification lags. The article argues generated code is implicitly treated as production-ready, with QA deprioritized or reduced to shallow coverage. It cites unverified claims of a 30% rise in change-failure rate and 23.5% more incidents per PR, then argues line coverage is worthless because 100% coverage can still miss broken user flows. The fix: autonomous verification that scales like generation, tests real user journeys, runs independently of the coding agent, and self-maintains to survive flake. The second half is a QA Wolf product pitch. Useful for engineering teams adopting AI coding, though explicitly vendor-biased.
Zapier. Nubank. Goldman Sachs. Three companies with great engineering and risk management teams – and all three are now handing coding tasks to AI agents with minimal human intervention.
The workflow of code factories is deceptively simple: a developer hands off a task and the agent plans, codes, reviews, tests, debugs, and ships it end-to-end.
Zapier deployed 800+ AI agents internally, with 89% AI adoption across the entire organization. Nubank pointed autonomous AI agents at one of the most critical projects in the company, migrating its core ETL. Goldman Sachs, meanwhile, is piloting autonomous software engineers on its own codebase.
The appeal of code factories is obvious: velocity. Code generation at scale. 10x speed or more. Entire projects shipped without a human hand touching the keyboard.
Zapier、Nubank、Goldman Sachs——三家都拥有出色的工程与风控团队,如今却都不约而同地把编码任务交给 AI Agent,几乎不再需要人工干预。
代码工厂的工作流程简单得有些出乎意料:开发者把任务交出去,Agent 自主完成规划、编码、评审、测试、调试并交付上线,一路包办到底。
Zapier 在内部署了 800+ 个 AI Agent,全公司 AI 采用率达到 89%。Nubank 将自主 AI Agent 用在了公司最核心的项目之一——核心 ETL 迁移上。Goldman Sachs 则正在自己的代码库中试点自主软件工程师。
代码工厂的吸引力显而易见:速度。规模化生成代码,10 倍甚至更快的交付速度,整个项目在没有人工碰键盘的情况下完成上线。
But every code factory is quietly skipping or underinvesting in the same step: testing.
Agents are generating production code faster than anyone can verify it. Generation capacity increased 10x. Verification capacity didn’t. So, the code ships untested or undertested making code factories not just about velocity, but about velocity at all costs, quality be damned.
And when it breaks in production (it will), there's no feedback loop to make the next generation any better. The whole system is designed to ship more slop, faster.
但每一家代码工厂,都在悄悄跳过或轻视同一个环节:测试。
Agent 生成生产代码的速度,已经快到任何人都来不及验证。生成能力提升了 10 倍,验证能力却没有跟上。于是代码在未经测试或测试不足的状态下上线,代码工厂追求的不再只是速度,而是不计代价的速度,质量被抛到脑后。
而且一旦在生产环境出问题(迟早会),系统也没有反馈回路让下一轮生成变得更好。整个体系的设计目标,就是用更快的速度生产更多劣质代码。

Every code factory is built on an assumption that nobody says out loud: generated code is production-ready code.
It's not. But the assumption persists because QA is rarely prominently in the equation.
Instead, QA is being treated as a downstream checkbox or something you can solve with minimal coverage. In a code factory, where velocity is the core value, QA is the friction—the thing preventing you from shipping even faster.
The reasons are complex but because it’s seen as slow, it gets deprioritized or automated away with shallow test coverage that passes but doesn't truly verify much.
And teams often know this but still ship code they know is likely to break because they feel they have no other choice. Fast slop is now seen as better than slightly slower quality.
The real problem is that verification velocity hasn't yet matched generation velocity. AI code review tools are helping with one side of verification. They're catching some bugs, suggesting improvements, flagging obvious issues. But they're still letting bugs through.
What's needed now is an increase in testing velocity.

每一家代码工厂都建立在一个没人说出口的假设上:生成出来的代码就是可以上线的代码。
事实并非如此。但这个假设之所以持续存在,是因为 QA 很少被摆到台面上来。
QA 反而被当成下游的一个勾选项,或者一个用最低覆盖率就能交差的东西。在以速度为最高价值的代码工厂里,QA 成了摩擦源——那个阻碍你更快交付的东西。
原因很复杂,但归根结底是它看起来太慢,于是被降级处理,或者用浅层测试自动化打发掉。那些测试能通过,却并没有真正验证什么。
团队往往也心知肚明,却仍然会把明知道很可能出问题的代码推上线,因为他们觉得自己别无选择。快速的劣质代码,如今被看得比稍慢一点的高质量代码更好。
真正的问题在于,验证速度还没有追上生成速度。AI 代码评审工具帮上了验证的一侧:它们能抓出一些 bug,提出改进建议,标出明显的问题。但仍然会有漏网之鱼。
现在需要的是提升测试速度。

A code factory might say they ship with 80% coverage and call that success. But coverage like that typically measures lines executed, not whether user flows actually work. You can have 100% line coverage and still ship code that fails under load, handles errors wrong, or leaves data in an inconsistent state.
The code factory speeds up the rate at which bad code hits production.
And the results are brutal. Incident rates are climbing as code generation scales. Teams shipping AI-generated code are seeing a 30% increase in change failure rates and a 23.5% increase in incidents per pull request.
More code shipped faster without proper verification means more bugs in production, more customer-facing failures, more firefighting.
A bug caught at the PR stage cost minutes to fix. A bug caught in staging costs hours. A bug caught in production can cost days, angry customers, incident responses, and cascading failures across dependent systems. The cost of fixes post-deployment dwarfs the cost of catching them before they ship.

一家代码工厂可能会说,我们上线时有 80% 的覆盖率,这就算成功。但这种覆盖率通常只统计执行了多少行代码,并不代表用户流程真的能跑通。你完全可能做到 100% 的行覆盖率,上线的代码照样扛不住压力、错误处理一塌糊涂,或者让数据陷入不一致的状态。
代码工厂恰恰加速了坏代码进入生产环境的速度。
后果是残酷的。随着代码生成规模化,事故率正在攀升。交付 AI 生成代码的团队,变更失败率上升了 30%,单次 pull request 对应的事故数增加了 23.5%。
代码交付得更多更快,却没有相应的验证,意味着生产环境更多 bug、更多面向客户的事故、更多救火。
一个 bug 在 PR 阶段被抓住,修复只需几分钟;在 staging 里被抓住,要花几小时;到了生产环境才暴露,可能要花好几天,还要面对愤怒的客户、事故响应,以及依赖系统之间的连环故障。部署之后修复的成本,远超上线前拦住它的成本。

The real problem is that code factories are optimized for generation speed, not verification speed. QA is positioned as sometimes a blocker to velocity, when it should be seen as the enabler of it. Because if you have good automated test coverage in place, code factories become something you can actually trust to ship fast.
The problem is that you can't hire your way to 10x verification since human test creation is linear, whereas agent generation isn't. You also can't let agents grade their own homework because then tests that inherit the code's blind spots just automate your false confidence.
The tests that actually catch these failures – end-to-end coverage of real user flows – are historically the slowest to build and most painful to maintain. That's the trap: the verification your code factory actually needs is the exact verification that's hardest to build, slowest to run, and most expensive to keep alive, at the precise moment your generation velocity makes all three problems worse.
Verification has to become an autonomous pipeline, too. It needs to have the same velocity and run in parallel, not bolted on downstream as the thing that slows everyone down.
But to do that well requires a few non-negotiables.

真正的问题是,代码工厂的优化目标是生成速度,而不是验证速度。QA 有时候被摆在了阻碍速度的位置,但它本该是速度的助推器。因为只要你有良好的自动化测试覆盖,代码工厂才会真正值得信任,可以放心地快速交付。
问题是,你不可能靠招人来获得 10 倍的验证能力——人类写测试的速度是线性的,Agent 的生成却不是。你也不能让 Agent 给自己的作业打分,因为源自代码盲区的测试,只会把你的虚假信心自动化。
真正能拦住这些故障的测试——覆盖真实用户流程的端到端测试——历来最难构建、也最让人头疼维护。这才是陷阱:你的代码工厂最需要的验证,恰恰是最难搭、跑得最慢、维护成本最高的那一种;而就在这个时候,生成速度又在同时加剧这三个问题。
验证也必须变成一条自主流水线,拥有同样的速度、并行运转,而不是挂在下游,成为拖慢所有人的瓶颈。
但要做好这件事,有几个不可妥协的前提。
Ability to scale
It has to scale like generation, not like headcount. Test creation can't depend on how many QA engineers you can hire. It has to expand at the rate code ships because that's the only rate that keeps pace.
Tests real user flows
It has to test the way users actually use the product. End-to-end coverage across real flows, not line counts. You need to make sure the customer flows work properly, not just that the code executes.
可扩展
验证的扩展方式必须跟生成一样,而不是靠人头。测试的创建不能取决于你能招到多少 QA 工程师,它必须按代码交付的速度扩张,因为只有这个速度才跟得上。
测试真实用户流
验证必须按照用户实际使用产品的方式来测。覆盖真实流程的端到端测试,而不是行数统计。你要确保客户流程能正常工作,而不只是代码能执行。
Independent from the coding agent
It has to be independent from the coding agent that generated it. Verification built separately from the generation agent doesn't inherit the code's blind spots. It's an actual second opinion instead of an echo. But more than just that, a coding agent isn’t built to understand how to create good tests. Don’t trust us though. Trust the dozens of threads on Reddit of people struggling to automate test coverage using a coding agent in the last few months.
Self-maintaining
It has to maintain itself. When a flow changes, the tests update automatically, so flake stays near zero and the team keeps trusting the signal. Self-maintaining coverage is the only kind that survives contact with 10x velocity.
Put those together and QA stops being the friction in the code factory. It becomes the thing that lets you ship fast without shipping slop.
Verification has to finally move at the speed of generation.
独立于编码 Agent
验证必须独立于生成代码的 Agent。与生成 Agent 分开构建的验证,不会继承代码的盲区,它是一份真正的第二意见,而不是回声。不仅如此,coding agent 本身也不是为了理解如何写出好测试而设计的。别信我们,信 Reddit 上最近几个月那些试图用 coding agent 自动化测试覆盖却屡屡受挫的帖子吧。
自维护
验证必须能够自我维护。流程一变,测试自动更新,flake 率保持在接近零的水平,团队才会继续信任这份信号。能自我维护的覆盖,才是唯一经得住 10 倍速度冲击的覆盖。
把这些加起来,QA 就不再是代码工厂里的摩擦源,而是让你既能快速交付、又不会交付劣质代码的关键。
验证终于必须跟上生成的速度。

This is the part of the article where we do a bit of a plug but bear with us because it’s actually a solution to the problems most teams are facing.
Our platform creates an autonomous QA pipeline that runs at the speed of generation, independent from the code it's checking. It maps your app, writes the tests, runs them on every deploy, and keeps them alive as the code churns. It’s an end-to-end platform for the entire testing lifecycle.
Here's how it works:

这篇文章到了稍微打广告的部分,但请耐心看完——它确实是大多数团队正在面对的问题的解法。
我们的平台创建了一条自主 QA 流水线,它以生成的速度运转,并且独立于它正在检查的代码。平台会绘制你的应用地图、编写测试、在每次部署时运行,并在代码持续变动时维护它们。这是一套覆盖整个测试生命周期的端到端平台。
具体是这样运作的:
It maps your app autonomously
The Mapping Agent independently navigates your application and builds a detailed map of its features and real user workflows, instead of the coding agent’s assumptions about it. It switches user roles and toggles between web, iOS, and Android to catch flows that span multiple users and multiple platforms—the exact multi-step, cross-state behavior where AI-generated code quietly breaks. The agent is 32x faster than a human doing it alone.
It writes real, deterministic tests
The Automation Agent turns those mapped workflows into deterministic Playwright (web) and Appium (mobile) code. These are tests that call APIs, seed databases, mock external dependencies, and flip feature flags to exercise the app under real conditions. Because the tests are deterministic code rather than an LLM re-interpreting a script each run, a failure means something actually broke, and the failure is reproducible. And because the suite is generated independently of whatever produced your production code, it's a genuine second opinion instead of an echo. The Automation Agent increases a QA engineer's capacity 10-20x, which is how test creation finally scales at the rate code ships instead of at the rate you can hire.
自主绘制应用地图
Mapping Agent 会自行浏览你的应用,构建一份关于功能与真实用户工作流的详细地图,而不是依赖 coding agent 对应用的假设。它会切换用户角色,在 web、iOS、Android 之间来回切换,捕捉跨用户、跨平台的工作流——正是 AI 生成代码容易悄悄出错的多步、跨状态行为。这个 Agent 比人类单独做快 32 倍。
编写真实、确定性的测试
Automation Agent 会把这些映射出来的工作流,转换成确定性的 Playwright(web)与 Appium(移动端)代码。这些测试会调用 API、填充数据库、模拟外部依赖、切换 feature flag,让应用在真实条件下得到充分演练。由于测试是确定性代码,而不是每次运行都由 LLM 重新解读脚本,因此一旦失败就意味着确实有东西坏了,而且失败可以复现。同时,因为测试套件独立于生产代码的生成来源,它是真正的第二意见,而不是回声。Automation Agent 能把 QA 工程师的产能提升 10–20 倍,测试创建终于能按代码交付的速度扩展,而不是按招人的速度扩展。
It runs on every deploy, in full parallel
Coverage that takes hours to run doesn't help a code factory. QA Wolf runs the full suite with 100% parallel execution, kicked off instantly on deploy. It can be wired directly into your CI pipeline—so verification keeps pace with a pipeline that's merging constantly.
It maintains itself so the suite survives 10x velocity
This is the piece that kills most testing efforts. Autonomous agents don't generate code once; they refactor, optimize, and rewrite it, and every one of those changes threatens to break the suite. QA Wolf's Automation AI addresses close to 100% of flakes including timing issues, runtime errors, un-rendered components, versus the roughly 20% that selector-repair tools catch. When a test does break, it reproduces the failure, diagnoses the cause, rewrites the code, and validates the fix. Meanwhile, the Mapping Agent watches for new features and folds them into existing flows rather than dumping in isolated one-off tests or duplicating tests you already have.
每次部署全量并行运行
需要跑几个小时的覆盖帮助不了代码工厂。QA Wolf 以 100% 并行方式运行完整套件,部署一发生就立即启动。它可以直接接入你的 CI 流水线,让验证跟上不断合并的交付节奏。
自我维护,让套件经得住 10 倍速度
这正是压垮大多数测试方案的部分。自主 Agent 不会只生成一次代码,它们会不断重构、优化、重写,而每一次改动都可能弄坏测试套件。QA Wolf 的 Automation AI 能够处理接近 100% 的 flake 问题,包括时序问题、运行时错误、组件未渲染等,而一般的 selector 修复工具只能抓住大约 20%。当测试真的失败时,它会复现失败、诊断原因、重写代码并验证修复。同时,Mapping Agent 会留意新功能,把它们并入现有流程,而不是扔出一个个孤立的临时测试,或重复你已经有的测试。
Put the QA Wolf lifecycle together and you get the thing the code factory was missing: verification that maps, writes, runs, and maintains itself at generation speed, so your developers keep shipping and QA stops being the bottleneck.
That's how you ship fast without shipping slop.
把 QA Wolf 的整个生命周期拼起来,你就得到了代码工厂一直缺失的东西:一套以生成速度完成绘制、编写、运行和自我维护的验证体系。你的开发者可以持续交付,QA 也不再是瓶颈。
这才是没有劣质代码的快速交付。
Building factories that actually work
QA can’t be a bottleneck in code factories. It has to be foundational. Code factories that work treat testing as a first-class layer in the pipeline and focus on matching testing velocity to generation velocity.
Real-time verification catches failures before production. Code generated by autonomous agents gets tested immediately, comprehensively, and continuously. Bad code never ships. The factory has gates and those gates work.
Autonomous code generation only works at scale if you can verify at scale. QA Wolf's automation means tests scale with generation. You can ship 10x the code without 10x the incident rate.
真正运转的代码工厂
在代码工厂里,QA 不能成为瓶颈,它必须是地基。运转良好的代码工厂会把测试当作流水线中的一等公民,并把测试速度匹配到生成速度。
实时验证能在代码进入生产之前就拦住故障。自主 Agent 生成的代码会立即、全面、持续地得到测试,坏代码永远不会上线。工厂有闸门,而这些闸门真的起作用。
自主代码生成要想大规模成立,前提是你能大规模验证。QA Wolf 的自动化意味着测试随生成一起扩展:你可以交付 10 倍的代码,而不必忍受 10 倍的事故率。