乐于分享
好东西不私藏

代码库越烂,AI越蠢:大模型时代的软件工程生存法则

代码库越烂,AI越蠢:大模型时代的软件工程生存法则

“当你把整个代码库塞进AI的上下文窗口时,你不是在喂养它,而是在毒害它。”——Matt Pocock , TypeScript教父级人物

信息时代的大爆炸,让我们一下子看透了一个残酷真相:

AI编程工具的普及,并没有让软件工程变得更简单,反而放大了我们过去二十年积累的技术债与认知惰性

当 ursor、Claude Code等工具承诺“只需写好需求文档,AI就能自动生成完美应用”时,一场危险的幻觉正在蔓延——

仿佛技艺已死,洞见无用,只需坐等机器代劳。

但现实狠狠打了脸。

在AI Engineer大会上的一场闭门Workshop中,Matt Pocock用两小时硬核实战刺破了这层泡沫。

他不仅现场从零构建复杂业务功能,更抛出一个颠覆性判断:

那些被我们遗忘的经典软件工程基本功——

测试驱动开发、垂直切片、深模块设计——

恰恰是驾驭AI的终极武器

这不是怀旧,而是生存法则。

因为在这个AI革命的时代,代码库的质量,直接决定了AI的智商上限

烂代码库养不出好Agent ;

混乱架构只会催生更多混乱。

在信息主宰一切的新范式下,必须重构高杠杆的软件工程方法论——

不是放弃控制,而是以更高维度的设计共识、反馈机制与模块封装,引导AI成为可进化的生产力引擎


一、LLM的生理极限:聪明区与失忆症

要驾驭AI,先得理解它的“病灶”。

大语言模型并非全知全能的神谕,而是一个受制于注意力机制的有限理性体。

正如Human Layer创始人Dex Hy所比喻:

每次给LLM增加一个Token,就像给足球联赛新增一支球队——

比赛场次呈二次方增长,注意力在海量信息间不断牵扯,最终导致系统性降智

“大约在10万个Token左右,它就开始变蠢了……你不断往上下文里塞东西,它就越来越蠢,直到做出愚蠢的决策。”

这句话如手术刀般精准切开了“超长上下文万能论”的幻象。

许多开发者误以为100万甚至200万Token的Context Window能让他们把整个代码库+对话历史一股脑扔给AI。

但事实是:

超长上下文适用于信息检索(如从《战争与和平》找人名),却不适用于需要严密逻辑推理的编程任务

更致命的是,LLM是个“失忆症患者”。随着对话历史(Sediment)堆积,其注意力被严重稀释,陷入“降智区”。

此时,无论模型参数多大,输出的代码都可能逻辑断裂、重复造轮子,甚至自相矛盾。

应对之道?

清空上下文,只保留核心System Prompt,让AI永远在“聪明区”从头开始

这并非技术妥协,而是对软件工程古老智慧的回归:

不要一口吃成胖子,把任务拆小

在一人企业的实践中,这意味着:

每一次交互必须聚焦单一目标,避免上下文污染

高杠杆内容的本质,从来不是信息量的堆砌,而是认知带宽的精准分配。


二、设计共识:用“Grill Me”取代静态文档

当前流行的“Specs to Code”运动(又称Vibe Coding)主张:

人类只改需求文档,AI负责生成代码;

若代码跑不通,不去看代码,而是回头改文档。

Matt直言:“这简直糟糕透顶。”

“你需要掌控代码,理解里面的内容,塑造它——因为代码才是你的主战场。”

彻底放弃对代码逻辑的理解,等于交出系统架构的控制权。

文档永远无法覆盖所有边界条件。

一旦生成代码成为黑盒,Bug出现时,你将束手无策。

真正的高杠杆路径,不是单向输出文档,而是双向对齐设计共识

Matt提出了一个极具攻击性的Prompt技巧——

Grill Me (拷问我)

• 输入一句简单需求:“我想加个积分游戏化功能。”
 指令AI:“无情地采访我关于这个计划的每一个细节,直到我们达成共识。”

接下来一小时,AI会连续抛出几十个尖锐问题:

“积分是否追溯发放?”

“用户跳过视频能否拿分?”

“数据表存在哪里?”

—— 这本质是利用AI的世界知识穷举边缘情况

这个过程的目的,不是产出一份静态文档,而是在人类与AI之间建立《设计的设计》中所说的‘设计共识’

只有脑暴对齐后,再让AI总结PRD,才是有效规划。

高杠杆内容的本质,不是文档本身,而是共识的建立过程

一人企业若想穿越周期,必须掌握这种“做局”能力:

引导AI成为思考伙伴,而非执行奴隶。


三、构建反馈闭环,对抗AI的水平切片癖

拿到PRD后,如何拆解任务给AI?

这里藏着另一个致命陷阱。

AI是个无可救药的‘水平切片狂魔’

“它喜欢一层一层写代码:先做完所有数据库,再做所有API,最后加前端。但这没有全链路的反馈循环。”

这意味着,在数小时开发中,你无法运行代码验证效果。

AI在“盲写”,一旦底层设计跑偏,后续全部崩塌。

解决方案?

强制垂直切片

借鉴《程序员修炼之道》中的“曳光弹(Tracer Bullets)”概念:

第一个任务必须横跨所有层级——

极简数据库表 + 基础服务逻辑 + 可视化仪表盘粗糙版

哪怕简陋,只要跑通一次,AI就获得了一发“发光的曳光弹”。

此后迭代,只需在此闭环上生长血肉。

反馈闭环的存在,让AI从猜测走向验证,从混沌走向有序

这不仅是技术选择,更是认知升级:

在AI时代,延迟反馈 = 架构腐化

知识资本家必须成为反馈机制的设计者,而非被动等待结果的消费者。


四、TDD与深模块,为AI构建可进化的土壤

AI能否自主编程,天花板不在模型,而在你的代码库。

“如果你的代码库是一团糟,你在里面运行的Agent产出的也只会是垃圾。”

这句话如探照灯般照亮了问题核心:

糟糕的代码库缺乏反馈接口,让AI失去判断对错的标准

Matt极力推崇TDD(测试驱动开发)

强制AI先写一个注定失败的测试用例,再写业务代码使其通过。

这不仅能防止AI “作弊”(为跑通测试而掩盖漏洞),更构建了自动化的质量守门人

但仅有TDD不够。

代码库的拓扑结构同样关键。

AI极易写出“浅模块”——几十上百个零碎、高耦合的小文件。

这导致:

– 依赖树难以追踪;

– 测试边界模糊;

– 修改一处,处处崩溃。

正确做法是指引AI构建“深模块( Deep Modules )”——

将复杂逻辑封装于黑盒,对外仅暴露极简接口

这样做的好处显而易见:

– 便于挂载大范围测试边界;

– 人类可“只管接口,不管实现”,将内部逻辑完全外包给AI;

– 在高速迭代中保住脑力与理智。

深模块不是技术选择,而是认知杠杆

它让一人企业能在有限精力下,驾驭无限规模的AI产能。


五、工作流革命:白班规划 vs 夜班执行

当理念落地,Matt描绘了一幅未来工作流图景:

泾渭分明的日夜两班制

 白班(Human-in-the-loop)
人类负责需求构思,通过Grill Me与AI碰撞,产出PRD,并转化为带阻塞关系的看板任务。
 夜班(AFK – Away From Keyboard)
人类离线,系统启动并行编码Agent,基于垂直切片与TDD自主探索、编码、测试、提交Commit。

高效背后,是角色的根本转变。

“我们需要准备好去做更多的代码审查……这不好玩,但大概就是事情发展的方向。”

程序员不再是键盘敲击者,而是流水线末端的质检员与品味守护者

AI可以倾泻代码,但没有人类的“品味(Taste)”,产出的只是冰冷且难以维护的工业废料

这正是“知识资本家”的核心价值:

在自动化洪流中,守住系统品位与架构完整性


六、文档腐烂、前端困境与团队协作

面对真实世界的混乱,这套范式是否可行?

Q :团队环境中需求频繁变更,如何应用线性工作流

A :前半段(概念→PRD)本质是“团队协作任务”。 

Grill Me过程中遇阻,需暂停与领域专家讨论或造原型试探。

只有多方扯皮结束、确定“目的地”后,后半段AFK实现才可单人驱动

Q :功能实现后,PRD文档是否保留

A :坚决删除

软件工程有“文档腐烂(Doc Rot)”现象——

几周后代码面目全非,过期PRD会误导AI。

实现即归档,或打“已关闭”标签。

Q :AI写不好UI怎么办

A :前端强依赖人类视觉审查。

做法是:

让AI在废弃分支生成3个设计原型,人类肉眼选出最优,再将资产反哺回规划阶段

这些细节揭示了一个深层逻辑:

AI不是替代人类,而是放大人类的决策质量

烂决策 + AI = 更快的失败;

好决策 + AI = 超线性回报。


通往未来的钥匙,藏在过去

这场工作流拆解揭示了一个反直觉真理:

在AI时代,通往未来的钥匙,竟藏在过去

当我们面临上下文爆炸、架构失控、测试失效等现代困境时,解药不在更大模型,而在《程序员修炼之道》《软件设计的哲学》这些经典著作中。

 任务拆小 → 避免触发降智区;
 深模块设计 → 构建可外包的黑盒;
 垂直切片 + TDD → 建立极速反馈闭环;
 Grill Me 对齐 → 替代静态文档。

这些被前辈提纯的最佳实践,正是引导硅基生命不走向混乱的定海神针

对于知识资本家而言,这不仅是技术指南,更是高杠杆生存法则

不做Prompt催更者,而做AI代码引擎的超级架构师

在一人企业的征途上,唯有将经典工程智慧与AI能力深度融合,才能在信息主宰的时代,真正实现“遥遥领先,穿越周期获得自由”。

✦ 精选内容 ✦

麦肯锡转型“AI工厂”:不再卖PPT,而是直接交产品

我们比谁都更需要Palantir的技术实践,但不是因为马杜罗

大三学生做教育Agent,缘何拿下1100万美元的风投

章泽天做播客,昭示AI时代个人IP终极突围路径

奇点已至,重新定义丰裕时代与人类的终极角色

AI初创公司真正的护城河:不是技术,而是工作流所有权

罗曼·伊蒙斯基:AI是比比特币更具颠覆性技术存在

深度探讨:AI的发展、挑战与未来

澳洲放羊大叔5行代码捅开AI编程新奇点