AI生成代码成遗留代码新视角:如今,生成式AI深入软件开发流程,AI生成的代码大量出现。但从工程经验与AI生成机制看,AI生成的代码因缺乏上下文记忆和维护连续性,一诞生就如同“他人旧作”,可被视为“遗留代码”。
代码演进与维护状态:在软件开发里,代码的“可改进性”和演进速度,与编写时间和维护者密切相关。刚写的自己代码易改进,别人以前写的代码则轻易不改动。因为对稳定软件系统贸然“改进”风险大,原作者更了解潜在逻辑和开发背景。
AI生成代码特点:AI生成的代码有几个关键特性。它是“无状态”的,虽能推测代码写法,但不知作者意图,也无时间点记忆;每次生成的代码都像“别人写的”,AI从零构建上下文理解;且一出生就“变老”,跳过“新代码”阶段,直接成为“别人的旧代码”。不过,开发者正通过提示、上下文窗口、注释等手段弥补AI缺乏状态记忆的问题。
未来代码发展趋势:随着提示工程和上下文窗口能力增强,代码会更多被“提示生成”,而非长期维护。未来“复杂软件”代码量或减少,更多依赖模型推理和提示。AI提示生成的代码更像短期/中期“过渡桥梁”。
高赞评论观点碰撞 :相关观点在Hacker News引发热议。@dang提到PeterNaur的理论,认为复杂软件系统是开发者集体心智中的“理论”,遗留代码意味着“理论”失传。对于大语言模型是否缺乏“程序背后的理论”尚无定论。@mrweasel觉得若LLM辅助编程记录Prompt,可能比人类更能管理技术债。@TZubiri提出Chainof Thought技术能解决AI无状态问题,无CoT的模型也能通过“阅读”代码激活上下文。
© 版权声明
文章版权归作者所有,未经允许请勿转载。