AI 自动生成代码是一种使用机器学习技术来生成程序代码的方法。通过对大量的程序代码进行训练,机器学习模型可以学习到程序代码的语法和结构,从而能够自动生成符合要求的程序代码。 这种方式极大的提高了研究者的开发效率,特别是在重复性高、逻辑简单的任务中。同时,自动生成的代码还可以减少人为错误的发生,提高代码的可读性和可维护性。 然而,现有的代码生成方法或工具在处理简单需求的场景时表现较好,如行级代码补全和初级的函数级代码生成。但在复杂的函数级代码生成、深入的问题分析和软件系统设计方面,它们的表现尚有不足。 本文中,来自北京大学李戈教授团队的最新研究通过融入规划和合作的方法论,使大型模型在原有基础上能够应对更复杂的需求,并进一步提高代码生成的质量。 总结而言,在论文《Self-planning Code Generation with Large Language Model》中,他们探索了基于规划的代码生成方法,提出一种使用大型语言模型(LLM)进行 self-planning 来生成代码的简洁方案。在多个代码生成数据集上,self-planning 代码生成的性能明显优于直接生成的方法。 在另一篇论文《Self-collaboration Code Generation via ChatGPT》中,该研究提出了一种名为 self-collaboration 框架,其目的是通过合作和交互方法来增强大模型的问题解决能力。与直接利用大模型代码生成相比,self-collaboration 代码生成的相对性能提高了 29.9%-47.1%,达到了最先进的性能,甚至超越了 GPT-4。 接下来我们看看每项研究的具体内容: 论文 1:Self-planning Code Generation with Large Language Model 尽管大型语言模型在代码生成方面展现了令人瞩目的能力,在解决人类提供的复杂意图(intent)时仍面临挑战。人类通常通过规划来分解复杂问题,并在实施前制定解决方案。因此,作者将规划引入到代码生成中,以帮助模型更好地理解复杂意图并降低问题解决的难度。