开发软件,一个人,一天发三个版本,却永远改不完——给自己写软件和给别人开发软件的差异
闪电 黄世亮 2026年6月11日 06:00
随着 Claude Code 和 Codex 这两个编程 Agent 的崛起,我自以为我可以开发软件了。我确实给自己造了一些半成品软件。后来我真下水干了——和一位朋友搭伙,去给一家公司开发信息平台。
但真下水后,才发现,自己有多幼稚。
我错了。一个拿着 Codex、只会 vibe coding,就想去做软件外包的人——这个想法本身,就错了。
先说我给自己造软件那一面。
这两年,AI 几乎重写了我用电脑的方式。
以前打开电脑,主要动作是点 Office、点浏览器、点微信,这一类——都是成熟的商业软件。现在不是了。我每天打开电脑,相当一部分的入口,已经是我自己用 Codex 造的工具了。
我给自己造了不少趁手的工具:一个待办清单,一个读书笔记系统,一套自己用的写作系统,还有些奇奇怪怪的,比如接入各种 API 去抓信息的小玩意儿。
它们是真的好用。
好用到我觉得,只要你一天待在电脑前超过两个小时,就该掌握给自己造软件的能力——因为实在太好用了。而且也一定掌握得了,因为实在太简单了。我都能学会,还有谁学不会呢?
我真以为,几年内,自定义软件会在软件市场上占下很大一块。我甚至认为,这块的主战场会是 B 端、是公司:以往公司消耗软件,主要靠采购 SaaS;往后,会是自定义软件为主。
所以我逢人就鼓吹:要学会用编程 Agent,给自己造软件。我也跟一些开公司的老板鼓吹:再不给自己公司开发软件,就要落后了。
然后,就有朋友拉我一起,去给一家公司开发信息平台了。
我俩都信心满满,觉得这还不是手到擒来。
我那时还不知道,代码,根本不是这件事里最难的地方。
我那些自用工具能成,全靠四个我当时根本没意识到的"便宜"。
第一,我就是用户。我要什么,自己一清二楚。需求这道题,我不用猜——我天生就知道答案。把它翻译成 AI 听得懂的话,几乎不费劲,也几乎不失真。
第二,它是个半成品就够了。我不用把它打包成什么 exe、什么 dmg 传到网上,大多数时候连服务器都不用搭、不用做成谁都能访问的公共服务。它就是一个躺在我自己电脑里、只有我自己跑的小脚本。是半成品,所以简单太多。
第三,它允许出错。今天跑歪了、崩了,没关系——我知道它为什么崩,我能接受,明天再修。
第四,它一直在长。今天给它加个 skill,明天接个 MCP,我心里不慌,因为全程在我手里,可控。它不是一件"交付物",它是个活的、跟着我一起进化的东西。
记住这四样:清楚、半成品、容错、进化。
后面你会看到,把它做给一家公司的那一刻,这四样,一样都不剩。
我把这身本事,端到了一家真公司面前。
我以为最难的是技术。毕竟代码有 AI。
结果真正把我摁在地上的,是另一个词:
需求。
AI 能帮你写代码,没错。可它写什么代码?这家公司到底要什么?——这个问题,没有现成答案。
)
我连续两周,每天和甲方爸爸通话三次,上午、下午、傍晚各一次,每天给人家发三个版本。
这就是 AI 写代码的神奇:我一个人,一天就能发三个版本。
可这也是给别人做软件的无奈:一天改三个版本,永远改不完。
后来我才回过味来——神奇和无奈,原来是同一件事的两面。AI 没有让这件事变快,它只是让我更快地发现:快,根本不是问题所在。我一天能甩出三个版本,可一个都不对——因为我压根不知道,哪个才对。造得越快,我就越快地一头撞上那堵真正的墙:难的不是造,是不知道该造什么。
我以为我接的是一个写代码的活。可这个活最难的地方,从头到尾,就没在代码上。
那为什么永远改不完?根子在"需求"这道题上——我后来才想明白,它有两层,层层都难。
第一层:客户自己,也不知道他要什么。
你没法坐下来问他"你想要啥",然后他给你列一张清单。不存在的。你得先造出一个东西,摆到他面前,他才能指着说:这个对,那个不对,这儿改改。需求不是问出来的,是一轮一轮试出来的、抠出来的。
第二层:就算你大概摸到了,你还得把这一团活生生的、毛茸茸的现实,压缩成 AI 能执行的指令。光这个压缩本身,就要折损一大半。
往根上刨,问题是这样的:
要把需求做对,我得几乎把这家公司吃透。它真正卖的是什么,生意是怎么转的,它的人是什么样的人,它的客户是谁,那套管理是怎么跑的,甚至企业内部的利益和权力集团,我都得趟过才知道。
这不是一张功能清单。这是一整个世界。
你大概也看出来了——我那"一天三个版本"的疯狂,根本不是什么高效,是慌。吃不透这个世界,我就只能靠一版接一版的试错去硬赌,把"我不懂",硬装成"我很勤奋"。
可我跟这家公司,才认识三个月。线下开过五次会。微信里加了他们两个人。我这辈子,没在这个行业待过一天。
你让我把人家那个世界吃透到能造对东西——说句实在的,太为难我了。
不是我懒。是那种东西,长在一家公司的肉里头,是泡在里面好多年才长出来的。三个月,下载不了。
就算需求这关侥幸过了,剩下那三个便宜,也一样不剩。
先是半成品。我的工具能成,是因为它们是"半成品",是容许我出错、攥在我手里的小脚本。可一家公司,不能跑在半成品上。它要的是个真东西:打包好的,稳定的,在线的。自己用的,可以是个半成品;交出去的,必须是个成品。这两者之间,隔着一道天堑。
再是容错。我自己的工具崩了,我耸耸肩,明天再修。可一个交给公司的系统——它一掉线,服务器一抽风,客户能当场把你骂到狗血淋头,闹大了还得赔钱。我那点"崩了没关系"的洒脱,到这儿一文不值。
最后是进化。我的工具是活的,今天加个 skill、明天接个 MCP,跟着我一起长。可你交给公司的东西,交付那一天,就被钉死了。它要的不是"进化",是"验收"——它得是个能签字、能交接、甩开你也照样跑得下去的死物,而不是一个只有你懂、得靠你天天喂的活物。
清楚、半成品、容错、进化——四个便宜,换了个场子,一个不剩。
而我,是踩着自用工具那点甜头,一脚就想跨过这道天堑的。
所以这趟下来,我学到的最实在的一件事,没有半点鸡汤,就这一句:
为自己造,和为别人造,是两码事。
AI 确实给了我一身本事。可这身本事,是给一支"一个人的军队"的——它最擅长的,是替那个我最了解需求的人造东西。那个人,是我自己。
一旦用户换成别人,换成一个我并不生活在其中的世界,这身本事就撞上了一堵它写不动、也码不过去的墙。
那位拉我入伙的朋友,和我一起,也结结实实撞在了同一堵墙上。这反倒让我踏实了一点:不是我一个人不行,是这条路本身,有一道坎。
那我当初鼓吹的那个未来——公司都用上自定义软件——是不是就错了?我现在觉得,那个未来也许没错,错的是我以为的"谁来造"。造它的人,得是泡在那家公司里、活在那个世界里的人。不是我这种,拿着 Codex 空降进去的二把刀。
软件最难的部分,从来就不是代码。
是搞清楚要造什么,是为一个不属于你的世界,造对的东西。
AI 替你写代码,它无法替你,了解那个你需要了解的世界。
微信扫一扫赞赏作者
继续滑动看下一个
闪电HSL
向上滑动看下一个