软件开发中的生成式AI:代码生成研究综述
1. 引言
在软件开发领域,生成式AI正发挥着越来越重要的作用。它在代码生成、测试用例生成和程序修复等多个方面展现出了巨大的潜力。本文将深入探讨生成式AI在软件开发中的应用,介绍相关的模型和方法,并分享两项研究的结果。
2. 相关模型介绍
2.1 CodeT5
CodeT5是一个开源模型,涵盖了来自GitHub的1.15亿个代码文件,并且可配置为仅解码或仅编码架构。尽管它适合需要微调的研究,但在代码生成任务中无法与Codex竞争。
2.2 Llama - 2
Llama - 2是Meta推出的强大开源大语言模型,是自回归模型,参数范围从70亿到700亿。其微调版本llama - 2 - chat使用基于人类反馈的强化学习(RLHF)进行迭代调整,专门针对对话用例进行了优化,包括编程任务。该对话模型定义了系统、用户和助手三种角色,系统角色有助于指定符合用户意图的任务类型或编程语言。
3. 生成式AI在软件开发中的应用
3.1 生成代码实现特定功能
在软件开发生命周期中,自动代码生成的一个主要用例是生成实现特定功能的代码片段。许多研究致力于利用大语言模型(LLM)根据自然语言描述(即提示)生成代码。开发者使用Copilot或ChatGPT等工具的经验表明,这些工具能帮助他们快速完成编程任务,节省在线搜索的精力,并为实现任务描述提供良好的起点。
然而,LLM生成的代码也存在一些问题。不同研究显示,LLM的建议有时会出现错误、无法编译的代码或与任务描述不符的情况。除了模型性能影响输出的正确
超级会员免费看
订阅专栏 解锁全文

1127

被折叠的 条评论
为什么被折叠?



