There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.
无论是技术上还是管理方法上,都没有任何单一的发展,能够承诺在十年内,在生产力、可靠性或简洁性方面,带来一个数量级(十倍)的提升。
《人月神话》
事实
AI的发展影响了创造性的工作是既定实事,在2025年初跟朋友沟通DeepSeek的发布时,朋友问我能不能帮他写代码,我当时说肯定可以。现在2025年中身边普遍要用AI,要么生成代码,要么辅助解决问题,修复bug, 我还能用AI对比方案和预研方案。最近半年也到处接二连三的都有AI工具,生成原型的、生成前端页面的很多,推出时好像都在喊我要取代人工。 趋势没有错,AI可以代替手工编程,在leetcode上的算法题目,我们做起来很难的,AI很快就能实现。
但实际工程化落地目前仍然在探索,还没有形成方法论,以及团队角色分工。原因是一方面AI大模型的发展和IDE(编程工具)也在快速迭代,二是没有形成可以复用的标准化的工作流程。一般在与AI沟通交互时有些大的原则,例如技术规范和要求。
像我经历的敏捷开发等各种开发模式都是成熟的软件工程实践,都有理论指导。如软件开发V模型、用户故事等, 这样才可以大规模工程应用。
在去年我和公司内部外部相关人士咨询沟通,软件工程还会受人月神话的影响吗,当时声音是应该不会影响。
1975年出版的《人月神话》这本书,一直指导我们没有银弹,即没有一种生产力能够提升十倍效率。即没有一种放之四海皆准的方案,即没有万能方案或方法。(所以当有人说他的方案比如低代码可以解决所有场景,就不要相信)
探索
AI生成代码
在AI时代我对没有银弹保持谨慎乐观,目前AI效率提升非常显著,我亲自体验,特别前端页面这部分,无论使用react、vue还是其他,很快。前提是你说清楚了需求和要求。接下来我会分享之前生成的几个项目和总结。我们都已经直接使用生成静态html应用于原型阶段,绘制原型就省了。这个静态html也不能直接用于开发,但可以在生成时把前端工程搭好,我们经常使用react vite和tailwindcss shadcn组合栈来作为基础工程,让AI在此基础上工作。(建议:不要让AI在空的工程目录中创建脚手架代码,这部分不难你手动建好)。
后端方面也能提升,最近有个后端项目类似房屋租赁的应用,使用java springboot这套常规框架,这类不复杂的项目就是那标准的几层,每层的规范和要求制订好,或者你写出一张表的操作示例,按示例生成就行,这种实践目前是成熟的,我也会分享出来。比较麻烦的是存量系统或遗留系统,之前的技术债太多了,根据熵增定律技术债是必然的,研发负责人不关注,或想关注没有权力时就会这样。存量系统很多,技术栈多,系统本身问题也多,这种情况要具体分析。
还有些复杂的方案预研使用AI也非常快,由于是预研不涉及生产环境,检查是否符合预定的结果并对架构和代码review。
现在的AI能生成代码,但目前还做不了完整技术架构把控;能修改问题,但他不知道问题影响业务的程度,有时要根据这个程度来定方案。所有的代码上到生产环境一定要review,一般在每次提交时就要做。
AI除了写代码,从研发全局看,其他基本还是你要做的,运维部署、安全加固、接入层的工作、数据库治理、性能隐患,总之非功能的需求也是需求的一部分。 非功能需求每部分可以由AI完成,例如我们进行环境搭建,实践过规划pod数量和扩容策略,进一步制定terraform模板,数据库DDL问题分析。当前也有人在研究研发和devops agent, 希望早日能用在生产环境使用; 所以你可以了解熟悉全面的技术栈包括运维、安全、产品等,熟悉业务流程,让AI为你做纯编码的工作。
工程化实践最终还是以文档作为输入输出,结构化文档如markdown的形式更易于AI理解。
AI应用
2个多月前有客户咨询做智能问数,通过自然语言查询其业务经营数据,我们调研了dify ,工作流都配好跑通了,发现这部署成本也太高了,保证业务连续至少要集群,依赖的向量数据库要买吧,监控要上吧,这下来还没见效果,钱先花给了云服务商,当时想我要是企业经营者我都不能同意。
所以落地除了技术方案还要考虑很多非技术上的落地限制。后来评估业务场景,技术方案也改用了langchain和langgraph实现工作流。
目前接触多的项目仍是识别类较多,像发票、印刷品质检、工厂产品包装扫描入库、田径竞技AI识别等; 还有和ESP32芯片结合的场景,都在积极探索形成解决方案。 接下来会继续研究企业应用、工业应用工程化方面。