
麻省理工学院(MIT)研究人员最近提出一种新的软件模型,旨在改善人类和人工智能(AI)代码生成器的编码过程,让软件开发变得更透明和可读。这项研究由Eagon Meng和Daniel Jackson共同撰写,题为《你所见即所做:可读软件的结构模式》(What You See Is What It Does: A Structural Pattern for Legible Software)。
研究指出,现代软件的可读性不足,导致代码与其行为之间缺乏直接的对应关系。他们强调,当前的软件往往不够模块化,这使得增量性、完整性和透明性等三个关键要求无法得到满足。随着大型语言模型(LLMs)的使用日益普及,这些问题变得更明显,研究人员认为有必要重新评估软件开发的实践,以充分利用LLMs的优势并减少其缺陷。
在使用LLMs为现有代码库添加代码时,开发者常难以控制哪些模块被修改,并确保现有功能不会受到影响。研究指出,程序设计师经常抱怨LLM编码助理推荐的修补程序会破坏先前生成的功能,这使得整个应用程序的扩展变得困难。
为了解决这些问题,Meng和Jackson建议将系统划分为“概念”,这些概念是具有明确目的的用户功能模块,能够提供可识别的价值。他们举例说,社交媒体应用中的概念可以包括“贴文”、“评论”、“朋友”等。这些概念不仅应该结构化应用的底层实现,还应避免相互依赖,进而防止形成复杂的连接网络。
这些概念将由应用层进行协调,这样可以避免耦合,使得概念可以独立设计,然后再组合成应用。研究者们提出一种细粒度的同步方法,这些同步行为像是合约,明确规定了概念之间的互动方式。Meng在MIT的公告中表示:“为什么我们不能像读书一样读代码?我们相信软件应该是可读的,并以我们的理解为基础。”
这种明确且可声明的同步方式不仅可以被分析和验证,还可以由LLMs生成。研究者们认为,这种方法将使得基于LLM的工具能够提供超越“随意编码”的功能,避免结果不可预测、复杂性限制容易达到的情况,并降低每一步编码都可能破坏先前工作的风险。
最终,这项研究的架构可能导致创建一个“经过良好测试的、特定领域的概念目录”,这些概念可以被人类和AI编码者共同使用。虽然开发者仍需面对功能互动的固有复杂性,但这些问题将变得更透明,而不再是分散和模糊的。这项研究已在SPLASH 2025国际会议上发布,并获得专家高度评价。
(首图来源:shutterstock)











