AI 辅助编程:现状与未来展望
当前,大型语言模型正以前所未有的速度发展,不断突破着上下文长度和记忆容量的极限。借助 Codex 或 Claude Code 等工具来辅助编程,在开发一些工具类应用时,效率显著提升,并且质量也相当不错,远超手动编写的速度。尽管如此,我个人在使用 AI 生成的代码时,仍会对其逻辑的完整性进行细致的测试,确保无误后方可投入使用。在我的前端开发项目中,我主要使用 Vue 框架,目前许多功能组件都是借助 AI 完成的,经过几轮迭代修正后,基本都能满足项目需求。然而,网络上流传的关于完全依赖 AI 开发项目,甚至声称不懂编程的人也能通过 AI 完成项目开发等说法,我持保留态度。深入探究后发现,这些宣传往往出自于课程销售者之手。他们确实演示了 AI 生成项目代码的能力,但所谓的“项目”往往只是一个简单的文件上传或音乐播放工具。经过一段时间的实践与思考,我认为目前大型语言模型的上下文和记忆能力仍有局限(尽管 Claude Code 尝试通过压缩记忆来缓解,但后期压缩效果会大打折扣,导致信息混乱)。因此,要开发出满足企业、政务、医疗等行业需求的复杂业务系统,目前尚为时过早。不过,这并非不可能。鉴于大型语言模型的快速发展,软件开发模式也需要随之调整。这让我联想到前几年提出的领域驱动设计(DDD)理念。通过将大型系统按照领域进行拆分设计,可以显著缩小上下文的范围,降低耦合度。这样一来,大型语言模型就能更好地容纳和分析代码的上下文逻辑,从而提高代码的可靠性,避免出现偏差。AI 在修改代码或修复 bug 时,也能避免因上下文加载不全而导致的错误。因此,这种将项目拆解为足够小的、可独立运行的单元(AI 上下文能够完全加载的单元),并最终通过开发一套数据连接系统提供标准的 MCP 接口供 AI 调用,将大型项目分解为多个单体应用,这套数据连接系统将成为业务系统的核心枢纽。这种模式下,企业可以实现 AI 与人工相结合的软件开发,从而有望减少部分开发人员的需求。