乐于分享
好东西不私藏

AI时代,软件开发真的要消亡了吗?

AI时代,软件开发真的要消亡了吗?

在AI时代,谈论软件开发可能比较尴尬,因为据说很快软件就不需要人开发了,各个公司也在用CC、Copilot、Cursor这样的工具淘汰程序员。我甚至不敢说“至少在1年内软件还是需要人开发的”这样的话,因为很可能几个月后就会被打脸。
软件开发这个行业发展这么些年,从汇编语言、面向过程设计发展到面向对象设计,DDD(领域驱动设计);从单体架构发展到分布式架构、微服务架构;从瀑布式开发、增量/迭代开发到敏捷开发。这一切的一切,得益于软件行业的先驱/大神们的不断思考,不断突破。
2010~2020年,是中国移动互联网发展的黄金十年。在这十年间,腾讯、阿里、字节跳动、拼多多、美团、小米等企业爆炸式增长。这些企业快速增长的背后,上述的技术发挥了多大作用?其实很难讲。因为这些公司未见得是技术最强的公司,这些企业的员工输出到社会上其他企业后,大家会发现大厂员工的代码其实也很烂,不见得高人一等。这似乎给人一种错觉,那些软件大神宣扬的敏捷、cleancode、重构、SOLID原则、DDD似乎并没有什么用?这些知识/技术只是“工程师的自我感动”?
现在AI写代码了,这些东西更是没有存在的价值了。面向对象、DDD那些老古董技术还学它干啥。
真的是这样吗?
如果在过去十几年的研发过程中,你的企业、你个人对业务、技术没有积淀,只是走过场式的“做项目”,那么在仍然需要写代码的AI时代,你的企业和外部的工程差距,不会抹平,而是会更加放大。
因为AI不是能力源泉,而是能力放大器。对于有积累的人/团队,AI帮你“加速研发进度、压缩试错成本”;对于没积累的人/团队,AI只会“更快地产生不靠谱代码。众所周知,大模型的输入质量决定输出质量
如果在AI编码出来之前,你的业务知识已经进行了DDD抽象,对于公共的业务已经总结出一套内部API,并辅以详细的功能/接口描述文档,那么在在AI时代,你当年坚持的“make sense的命名”、“合理的业务分层”、“领域知识抽象”、“业务规则”将使得AI如虎添翼。
如果你在使用cursor,你可以在.cursorrules文件里引入你的领域模型,你可以建立一个internal-libs/ 目录,在这个目录下放你数年来积累的被验证过的公共API以及功能描述,然后在.cursorrules文件里增加如下的段落:

# Internal Libraries

– Prefer internal SDKs over re-implementing functionality

– For authentication, use auth-sdk

– For workflow orchestration, use workflow-engine

– Do not introduce third-party alternatives if internal SDK exists

等等。

你还可以定义你每一层业务的实现约束,如:不要在Domain层使用XXX,仅允许Application/Adapter层调用XXX,不要自行解析token等等。当AI按照你在.cursorrules文件里以及上下文里给的约束快速写出符合你要求的代码时候,你会感慨:我当年积累的业务知识、钻研的那些技术,在AI时代开始产生“复利”。

相反,如果一个团队在没有AI的情况下,代码已经是灾难,业务规则散落在if-else中,系统行为只能靠“老人记忆”维持,那引入AI只会更快地制造灾难。

如果有一天AI足够聪明到能够从你的屎山代码中提炼出核心的业务知识,你开发出了可维护性强的代码,但是软件已经不再需要维护,因为每一次的用户对话可能只是一个临时任务。到那个时候,大部分软件从业人员的技术积累真没太大作用了。
不过,即使到那个时候,软件开发这个行业也不会消亡,只是变成了一种更高等级的存在。
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » AI时代,软件开发真的要消亡了吗?

评论 抢沙发

4 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮