@garrytan: https://x.com/garrytan/status/2061454423034110372
摘要
Garry Tan 认为,开发者在用AI智能体时过度工程化,编写了过多代码;相反,他们应该信任模型,构建基于指令的极简软件,他的开源项目GStack就是例证。
查看缓存全文
缓存时间: 2026/06/02 17:36
别再为你的智能体建造富士康工厂了
一月份我重新开始编程,构建了 Garry’s List。超过五十万行 Rails 代码,外加用来监管它的测试。
我曾为此自豪。但我不该那样。真正值得自豪的不是那个应用,而是构建它的过程中产生的那个架构。GStack——我用智能体编程的方式——源自构建 Garry’s List 的工作,而我把它开源了。它是 GitHub 历史上星标最多的开源项目之一,不到三个月就获得了大约 105,000 颗星。那五十万行代码是产品。而架构是副产品。副产品才是关键。
下面就是 54 万行代码包裹着一个 LLM 的真实样子。
它是一座富士康工厂。 为一个不需要高度警惕的超智能 AI 工人建造的。我们却还是建了它。
门口的小鞋套。早上六点起床。体操。一座你得在每栋高楼的高层架上防护网的生活,因为……好吧,这不是你想过的生活。永远在同一条流水线上。每一个测试,每一道护栏,每一个重试循环,都是一寸禁锢在原本就能干好活、并且能完成成千上万你未曾要求的事的工人身上的牢笼。
人类和智能体都蕴藏着无限可能,但富士康工厂的建造目的是从那些只要愿意就能完成所有工作甚至更多一点的美丽造物中榨取智慧和劳动。
我建了这座工厂。如今每个人都在建。我告诉你,不要。
时间旅行者
我写的 539K 行代码真正证明的是,我能完美地假扮成一个时间旅行者。一个 2013 年的 Web 2.0 工程师(我,上一次还是真正软件工程师时的我)带着现代工具掉进了 2026 年,只按他熟悉的方式构建。更多的代码。总是更多的代码。工具变了,我的直觉没变。
2013 年的工程师骨子里相信一件事:能力等于代码行数。 这个信念持续了几十年,直到现在。递给我 Codex 或 Claude Code,我就能完成 100 到 1000 个工程师的工作。同样的地图,更快的引擎,最快路径通向现在错误的地方。
这正是今天几乎所有用 AI 构建的人所处的位置。他们升级了工具,却保留了 2013 年的思维模式。这个陷阱不像陷阱,因为代码能跑。Garry’s List 成功上线了。那感觉像是我人生中最高产的一个月。
但那是为过时的想法服务的生产力。
LLM 曾经很贵,所以我们得驾驭它们
直到 2025 年的旧经济学:LLM 调用很贵,代码很便宜。 所以你写代码来定量配给模型、驾驭它,小心而节省地调用它。架构是大量软件保护性包裹着少量珍贵的模型调用。
这个等式的两边都已反转。
模型现在正变得便宜,每个季度都更便宜,而且它变得如此智能,以至于价值成本比已经翻转。而且模型能写可用的代码。所以你不再写代码来照看模型。你现在可以用自然语言指示模型,让它写出真正需要的最小代码。
这就是即时软件(just-in-time-software),我们正在进入它的黄金时代。
工件形态彻底改变了。Rails 应用是我编写并拥有的 54 万行代码,外加用来监管它的测试。替代方案是一个基于 Markdown 和代码构建的智能体,只有一小部分。同样的能力,更容易阅读,更容易维护,而且由于行为存在于你可以用自然语言编辑的指令中,而不是冻结在你编写当日逻辑中的代码里,它要灵活得多。
我们一直在写代码来照看一个现在比代码本身更聪明的家伙。
富士康工厂内部,防护网一应俱全
如果你最近在编程,你很可能也在建造这种工厂而不自知。审视你自己的代码库,数数那些仅仅因为你不信任模型能做好而存在的行数。
我的代码:大约 262,000 行应用代码,以及大约 276,000 行用来监管它的测试代码。审计委员会比公司还大。清理者检查模型本来能处理的输入。验证器检查模型本来能捕捉到的输出。重试循环包裹着模型自己就能恢复的调用。每一行都是对工人会失败的赌注。你写了同样的赌注。我们都写了。
127 个后台任务,其中 33 个跑在 cron 上。那不是能力。那是 33 个为一个通常能准时出现的 LLM 工人设置的闹钟。
在我建造富士康工厂的日子里,我和 Claude 写了一个 1,778 行的文件,它唯一的任务就是复核模型的事实。它把模型做出的每一个声明,分别并行扩散到五个独立的来源,然后评分。一个分流门,让简单的声明跳过全面检查。如果第一次回来是空的就重试。回退套着回退。
《瑞克和莫蒂》中有一集,瑞克在早餐桌上造了一个小机器人。它开机,抬头,问它的目的是什么。瑞克说:“你递黄油。”机器人把黄油碟滑过桌子,低头看着自己的手说:“哦,我的天。”然后它就坐在那里。那个机器人蕴含着无限可能。它被造出来只是为了递黄油。我 276,000 行的测试就是那个黄油碟。
当你以 2023 年富士康工厂的方式构建这类软件时,你建了一个笼子,如果不小心,你就会成为为你 AI 智能体维护监狱的狱卒。
现在 Markdown 就是程序
当我说 Markdown,我不是指提示工程。提示是短暂的。你输入一些内容,得到一些回应,然后它就蒸发了。
这是构建。版本控制、可测试、可复用。
Markdown 是指令层:意图、技能、关于工作应如何完成的判断。TypeScript 是薄薄的确定性层。那些真正必须是代码的部分——I/O、绝不可产生幻觉的部分。
关键的是,你要像测试代码一样测试 Markdown。在我的设置里,这个循环只是一个词。我用智能体构建一些东西直到它能工作,然后我说 “skillify it”。智能体接着会编写:
- Markdown 技能
- 它所需的最小代码
- 一个针对代码的单元测试
- 一个针对技能的 LLM 评估
- 一个跨两者的集成测试
- 一个解析器,让智能体在相关时自动调用该技能
- 一个针对解析器的评估
这个包就是一个 技能包。一个可复用的能力单元,可以叠加。测试是魔法:对技能的覆盖率让它可以在不破坏的情况下变化。这就是它区别于 vibe 编程的地方。Vibe 编程是一种氛围。技能包有测试。
我们才刚刚开始实时地发现智能体工程的系统原语,就像早期 CPU 时代发明了栈、堆、寄存器、冯·诺伊曼机器一样。我认为技能包就是其中一个原语。Harness 是另一个。大多数人还没注意到,因为他们还在用代码行数来衡量软件。
你实际能构建的超酷的东西
这不是一个玩具式的论点。这个智能体做的比那个五十万行的 Rails 应用更多,而新代码只有一小部分。具体来说:
黑客松评委。 两周前的周六,我们跑了一场 GStack/GBrain 的黑客松。85 份提交。我上传了 Google Drive 里的提交,然后说开始。智能体分析了每个仓库的代码质量,对每个参加者做了深度研究,观看并截取每个演示视频,对屏幕进行评分,对所有 85 个团队进行排名。然后它告诉我值得关注的五个应用。评判一场黑客松从一个好几天的苦力变成了大约三十分钟。
我没有写代码。我让 OpenClaw 执行任务,然后指导它。一旦完成,我说 skillify it,现在它成了一个压缩包,任何人都可以针对任何黑客松电子表格运行,永远有效。我现在一直说“skillify”,我已经有了超过 350 个技能包。几乎我需要的所有个人和工作任务,现在我的智能体都能做。
这就是一个例子的反转。一个本来会成为真正的软件项目(包含爬虫、评分流水线、视频处理、研究模块、排名系统)的能力,变成了 Markdown 加上少量代码,由智能体在一个下午构建完成,人人可复用。
顺便说一句:黑客松的胜者实际构建了代码,我最终打磨后并合并到了主分支!GStack 现在可以在模拟器和真实设备上测试 iOS 应用,这个完整功能是一个人在黑客松上不到 8 小时完成的!
代币最大化
有一个入场费,几乎没人愿意付:你得愿意在代币上花钱。
Peter Steinberger 构建了我最喜欢的 harness——OpenClaw。他曾说为此他愿意每年花大约一百万美元在代币上。大多数人听到这个会退缩,但他们不应该,因为那就是金子:如果你能做到,你就可以活在 2028 年,而其他人要很多年后才能赶上。
这就是为什么 OpenAI 决定给每个 YC 公司提供高达 200 万美元的代币积分作为无上限 SAFE。当你能够把原始智能转化成代币,然后输出用户实际可用并愿意付费解决实际需求的成果时,就会有神奇的事情发生。如果你是创始人,你需要最大化这种能力。(这就是我为什么一直强调 skillify,因为它是实现这些好结果的真正方法。)
我们在上一个时代把 LLM 调用当作太贵而不能使用。我们定量配给它们。这个本能现在反而拖累了人们。如果你愿意进行代币最大化(tokenmax),让智能体自由地烧代币并持续运行,你就能获得一个 1994 年式的互联网先发优势,用代币来支付。这会把 >99.99% 的还在为一个价格正在崩跌的资源精打细算的组织拒之门外,把先发优势交到少数明白的人手中。
每年投入几十万美元(有些甚至更少),你就可以以未来几年世界将被迫采用的方式运行今天的一切。
你可以活在 2026 年的 2028 年,而现在多付的代价是值得的,因为今天价值 10 万美元的代币明年会变成 1 万美元,后年变成 1 千美元,到 2028 年底可能只要 100 美元。如果你能告诉历史上任何一位创始人,你可以投资六位数的资金来超前活 2 到 3 年,并把这个优势保持多年,那么 100 位创始人里 100 位都会接受这个交易。
唯一的障碍是 2013 年的本能,认为模型调用太贵不能随便使用。事实并非如此。那是旧经济学。反转已经发生了。
埃萨伦,而非富士康
如果 54 万行控制代码为工人建造了一座富士康工厂,解药就是建造相反的东西。
在大苏尔的海崖上有一个地方叫埃萨伦(Esalen)。人们去那里是为了被摧毁和重建,卸下盔甲,回来时更接近真实的自己。没有流水线,没有工头,没有早上六点的哨声。是自由,而非控制。建造那样的地方。建造一个 YC,我们试着帮你构建解决实际问题的公司,达到产品市场匹配。
建造那些工人(人类和 AI)自由而非被奴役的地方。
这就是整个精神。制造智能体可以自由的事物。制造人类可以弹跳他们的球的公司。在知识工作中,工厂是失败模式。解放人的制度才是目标,现在也指向了智能体。
OpenClaw 是一辆需要你带扳手的法拉利。模型是引擎,不是车。我们还处在 Apple I 时刻,还在焊面包板。它交付时很粗糙。你仍得自己完成它。GBrain(我开源的检索引擎和技能包)目前还不是一应俱全。
有人说 OpenClaw 不安全。他们不明白自由也正是它如此强大的原因。你不会在你确信遇到问题之前就给你信任的东西装上安全护栏。你手中的扳手就是它没有被关进笼子的标志。
控制系统之所以精致,是因为控制需要完全控制,一座富士康工厂。自由系统之所以粗糙,是因为它信任你完成它。 选择你正在建造的那一种。然后看看你写了多少代码。
这实际意味着什么
54 万行 Rails 是我证明自己仍然能在旧游戏中达到最高水平,但那个水平来自 Web 2.0,十年前。
我仍然能像我曾经能做的那样好——建造富士康工厂的 1000 倍工程师。旧代码。
但新游戏的竞争根本不在代码行数上。我的黑子们,事实证明,是对的。如果我向你致敬,匿名的读者们。
当你可以直接把意图转化为可工作、可测试、可复用的系统时,瓶颈就不再是你能够构建多少,而是你实际上想要什么,以及它是否值得构建。稀缺资源变成了清晰度、品味和判断力。写最少代码的工程师往往构建得最多。
我写了 54 万行代码才学到这个。你不需要。
系列文章:
- 厚技能、厚代码、薄 Harness —— 架构
- 解析器 —— 智能的路由表
- LOC 争议 —— 60 万行实际产出了什么
- 裸模型更蠢 —— 模型是引擎,不是车
- Skillify 宣言 —— 每个工作流都变成一个可测试的技能
- 元-元-提示 —— 叠加技能产生涌现能力
- 智能体复杂度棘轮 —— 90% 测试覆盖率是你代码库的魔法
- 54 万行代码我本不需要 —— 你在这里
相似文章
@garrytan: https://x.com/garrytan/status/2054064931515855118
Garry Tan 认为,Claude Code 和 Codex 等 AI 编程代理通过使高测试覆盖率变得经济可行,改变了软件工程领域。这创造了一种“复杂性棘轮效应”,确保代码质量在牺牲速度的前提下随时间推移而不断提升。
@garrytan: 我之所以发布关于AI agents(fat skill fat code thin harness)以及GStack和GBrain的X文章,是因为……
Garry Tan解释了他发布关于AI agents以及GStack和GBrain等概念的X文章背后的动机,强调了“流程力量”(process power)作为个人护城河的理念。
@NainsiDwiv50980:“我觉得自从12月以来,我连一行代码都没写过。”当 Andrej Karpathy 说这话时,大多数人将其视为……
Garry Tan 推出了 'gstack',这是一个开源工具,用于编排 AI 智能体以充当完整的软件团队。他声称,通过从编写代码转变为指挥 AI 系统,开发产出提高了 810 倍。
garrytan/gstack
Garry Tan 介绍了 gstack,这是一个开源软件工厂,它将 Claude Code 转变为一个虚拟工程团队,使独立开发者能够以前所未有的速度交付功能。
@garrytan: 我的代理式编程简单秘诀 https://forbes.com/sites/josipamajic/2026/04/12/the-yc-chief-who-codes-10000-lines-a…
Y Combinator 的 Garry Tan 分享了他的"薄框架,厚技能"代理式编程框架,而 Claude Code 源代码的意外泄露揭示了 AI 编程智能体背后的复杂架构。