作为一个全栈工程师,当我使用大量自然语言和AI交互,并交付完一个WEB项目后,我的第一时间是震惊的,它确实拉高了软件交付的下限。同时在震惊之外,我发现我和AI脱轨了,
- 无法描述清楚AI的架构设计
- 无法描述预判系统风险和缺陷
- ...
最终的结果就是,当有人问,你的项目是如何设计、如何考量各项缺陷,以及如何应对突发流量的风险的时候,你发现你似乎压根不存在,“有问题AI来解决就行了,要你干什么?”,这就是AI时代大部分工程师的窘境。
在讨论这个问题之前,有必要澄清一下场景,对于低容错的场景,例如金融支付、大流量服务;行业依然保持的基本的认知,需要让AI在可控范围内辅助提效;而对于非低容错的场景,例如0-1落地,脱轨似乎是必然,我们要承担的角色,是项目的架构师 & 负责人,作为这样一个角色,他做不到事无巨细,只能把控关键节点,那么作为一个AI Engineer,又该怎么做呢?在深度我开发完一次项目后,有了下面的感悟:
- 参考旧时代的流程一样来约束AI
- 需求分级:简单需求直接沟通上线;复杂需求必须走需求流程
- PRD文档
- UI交互设计文档
- RD架构设计文档
- RD详细设计文档(算法设计、协议设计、数据建模设计、监控设计文档)
- QA测试用例设计文档
- OP运维设计文档(如果有的话)
当我按照旧时代一样来编程之后,我发现熟悉的感觉又回来了。
MCP、Skills 这类 AI 能力,本质上只是加速开发流程的工具。可工具本身不会补齐人的认知,落在不懂编程的人手中,照样会产出混乱、难以维护,甚至可控性更差的代码。我不止一次听到非技术人员的论调:“你们 RD 写的代码也不怎么样,还不如我用 AI 来写。”
AI 相当于凭空把 “编程的异能” 直接塞到使用者手里,但与之匹配的工程认知、责任意识、实战阅历并没有同步增长。于是很容易出现心态上的膨胀与认知扭曲。
这让我一下联想到《一人之下》碧游村篇章。修身炉可以批量赋予普通人异人能力,很多村民一夜获得力量之后便狂妄自大,自以为拥有足够的实力可以守护马仙洪。可当肖自在提着赵归真那具 “羊蝎子” 骨架登场,直面力量背后残酷的代价时,众人只剩下错愕与惊骇。
AI 给了生成代码的能力,却不会自动教会人驾驭力量。能力可以速成,但心性、判断力、工程经验,没有捷径。