我们都很喜欢一场精彩的社交媒体吐槽大会,而 Y Combinator 首席执行官 Garry Tan 周三就撞上了这么一桩糟心事。
Tan 曾在 Palantir 担任工程经理,近来一直是 AI 加速的积极倡导者。他吹嘘说,自己和 AI 编程智能体每天在五个独立项目上部署 37,000 行代码。Tan 周一在 X 上发帖称:“智能体工程的一周简直疯狂。”他在后续帖子中补充说,自己已经连续交付了 72 天。
两天后,一位网名为 Gregorein 的波兰游戏开发者兼高级软件工程师决定仔细看看这些交付的实际成果,并瞄了一眼 Tan 专注于 AI 的博客。他在 X 上写道:“这就是 78,400 行 AI 垃圾代码在生产环境中的真实样子。”
Gregorein 拥有计算机科学硕士学位、波兰工程师头衔以及 13 年行业经验。他在 Tan 的网站代码中发现了大量臃肿和低效的实例,并使用一次(Anthropic)Claude 会话审查了从网站下载的文件,以确认他的观察结果,具体如下:
Tan/AI 构建的网站,当用户访问时,浏览器会针对各种资源发起 169 次服务器请求,总大小为 6.42 兆字节。作为对比,极简风格的 Hacker News 首页(同样由 Y Combinator 运营)仅发起 7 次数据请求,总大小仅为 12 千字节。
该网站将 28 个实际的测试文件(开发者用来检验工作的代码)直接发送给每位访问者的浏览器。这相当于 300 千字节纯粹的开发者脚手架代码,用户从未要求过。
它加载了 78 个不同的 JavaScript 控制器,用于 AI 图像生成、语音提取、视频工具等功能,但这些功能在首页上均未出现。浏览器仍然必须“以防万一”下载所有这些控制器。
该网站的 Logo 是一只熊的插图。Gregorein 发现,该网站以八种不同格式下载这个 Logo,其中包括一个完全为空的 0 字节文件,而这个文件不知何故竟然进入了生产环境。
该网站使用了体积庞大、未经压缩的老式 PNG 图片(有些每张接近 2MB),尽管浏览器明确要求使用现代的小尺寸格式。仅两张图片就浪费了约 4MB 空间;如果采用新格式,它们本可以只有 300KB。
Gregorein 还发现页面内容重复、一个空的 CSS(层叠样式表)文件、在只读页面上加载了庞大的富文本编辑器、缺少图片描述,以及分析代码故意通过代理路由以绕过用户的广告拦截器(代码中的注释也承认了这一点),Gregorein 报告称。
Gregorein 指出,他的审查仅包括浏览器中可见的前端代码,不包括后端和数据库代码。即使不触及后端,面向公众的输出(网站用户体验)也清楚地表明,Tan 的网站充满了明显的臃肿、浪费和初级错误。
更关键的一点是,虽然 AI 编码工具让大量输出代码变得容易,但真正重要的(仍然)是代码的质量。换句话说,数量并不一定等于质量。诚然,非编码人员可以使用自然语言指导 AI 工具快速构建网站、应用或新功能,但如果这些代码未经适当审查和测试就投入生产,可能会导致明显的功能故障、产生安全漏洞,或引入日后才会暴露的问题,迫使工程师追踪并修复底层代码。
“仅从 Garry 自己的截图来看:每次[代码]提交大致可以估算为新增 2000 行、删除 450 行,”Gregorein 在周四给《快公司》的私信中说道。他补充说,当单次提交改动如此之大时,质量往往会呈指数级下降,并且每一代代码都需要越来越多的重写来稳定构建。
“现在我们正处于这样一个时刻:AI 让你生成代码的速度比任何人审查它的速度都快,而像 Garry 这样的人给出的答案似乎是‘那就别审查了’,”Gregorein 说。“这听起来确实像 Facebook 的‘快速行动,打破常规’,而这句话后来也经不起时间的考验。”
We love a good ol’ social media roast, and Y Combinator CEO Garry Tan found himself on the business end of a doozie Wednesday.
Tan, who in a past life worked as an engineering manager at Palantir and has more recently been a vocal proponent for AI acceleration, bragged that he and his AI coding agents have been deploying 37,000 lines of code per day across five separate projects. “Absolutely insane week for agentic engineering,” Tan wrote in an X post on Monday, adding in a follow-up post that he was on a 72-day shipping streak.
Two days later, a Polish game developer and senior software engineer who goes by the username Gregorein decided to have a closer look at the actual results of all that shipping and took a peek at Tan’s AI-focused blog. “Here’s what 78,400 lines of AI slop code actually looks like in production,” he wrote on X.
Gregorein—who has an MSc in Computer Science, a Polish engineering title, and 13 years in the industry—found numerous examples of bloat and inefficiencies in Tan’s site code, and used a single (Anthropic) Claude session to review the files he downloaded from the website to confirm his observations, which are these:
Tan/AI built the website so that when a user visits, their browser makes 169 server requests for various assets totaling 6.42 megabytes in size. For comparison, the minimalist Hacker News homepage (also run by Y Combinator) makes seven requests for data totaling just 12 kilobytes.
The website ships 28 actual test files (code developers use to reality-check their work) straight to every visitor’s browser. That’s 300 kilobytes of pure developer scaffolding that users never asked for.
It loads 78 different JavaScript controllers for features like AI image generation, voice extraction, video tools, etc., none of which appear on the homepage. The browser still has to download all of them “just in case.”
The site’s logo is an illustration of a bear. The site downloads the logo in eight different formats, including a completely empty 0-byte file that somehow made it to production, Gregorein found.
The website uses huge, uncompressed old-school PNGs (some nearly 2 megabytes each), even though the browser literally asks for modern tiny formats. Two images alone waste about 4 MB; with newer formats they could have been just 300KB.
Gregorein also found duplicate page content, an empty CSS (Cascading Style Sheets) file, a huge rich-text editor loaded on a read-only page, missing image descriptions, and analytics code that deliberately routes through a proxy to dodge people’s ad blockers (with a comment in the code admitting it), Gregorein reports.
Gregorein notes that his review included only the front-end code viewable in the browser, not the back-end and database code. Even without touching the back end, the public-facing output (the website user experience) makes it clear that Tan’s website is full of obvious bloat, waste, and rookie mistakes.
The larger point is that while AI coding tools make it easy to pump out lots of code, it’s really (still) the quality of the code that matters. Quantity, in other words, doesn’t necessarily equal quality. Sure, non-coders can use plain language to direct an AI tool to quickly build websites or apps or new features, but if that code goes into production without proper scrutiny and testing, it can cause obvious functional failures, create security vulnerabilities, or introduce issues that surface later and force engineers to track down and fix the underlying code.
“Just following the math from Garry’s own screenshot: Each [code] commit can be roughly estimated at 2K lines added and 450 removed,” Gregorein says in a DM to Fast Company Thursday. When individual commits change that much, quality tends to degrade exponentially, he adds, and each generation requires more and more rewriting to stabilize the build.
“Right now we’re in a moment where AI lets you generate code faster than any human can review it, and the answer from people like Garry seems to be ‘so stop reviewing,’” Gregorein says. “It does sound like Facebook’s ‘move fast and break things,’ which didn’t age well either.”