摘要 - 重定位级代码完成旨在在指定存储库的上下文中为未完成的代码段生成代码。现有方法主要依赖于检索增强的生成策略,这是由于输入序列长度的限制。然而,BM25(例如BM25)努力捕获代码语义的传统基于词汇的检索方法,而基于模型的检索方法由于缺乏标记的培训数据而面临挑战。因此,我们提出了一种新颖的增强学习框架RLCoder,它可以使得猎犬能够学习检索有用的内容以完成代码完成,而无需标记数据。具体来说,当将检索到的内容作为附加上下文提供时,我们根据目标代码的困惑迭代评估了检索内容的有用性,并提供了反馈以更新回收者参数。这个迭代过程使得猎犬能够从其成功和失败中学习,从而逐渐提高其检索相关和高质量内容的能力。考虑到并非所有情况都需要超出代码文件的信息,并且并非所有检索到上下文都对生成有所帮助,我们还引入了停止信号机制,从而允许检索员决定何时检索以及哪些候选者自动保留。广泛的实验结果表明,RLCODER始终优于交叉码头和reboeval的最先进方法,比以前的方法实现了12.2%的EM改进。此外,实验表明,我们的框架可以跨越不同的编程语言概括,并进一步改善了诸如RecoCoder之类的先前方法。索引术语 - 固定级代码完成,增强学习,困惑,停止信号机制
主要关键词