文章主要内容总结
本文针对软件开发中“复制-粘贴-修改”实践中代码适配的核心问题——代码连接(code wiring)(即替换粘贴代码中未解析的变量为本地上下文的合适变量),提出了一种基于大语言模型(LLM)的代理工具WIRL。
- 背景:软件开发中,开发者常从Stack Overflow、GitHub或LLM生成结果中复用代码,但超过85%的代码需要适配才能集成,其中变量替换是最常见的适配形式。现有方法依赖启发式规则或历史模板,未能有效利用上下文,而56.1%的适配场景依赖上下文。
- WIRL的设计:由LLM、定制工具包和编排模块(agent pilot)组成。定制工具包包括定位未解析元素、收集上下文、填充推荐的工具;编排模块负责初始化提示词、解析输出、调用工具并动态更新提示词。采用混合策略:常见模式用确定性规则,复杂场景用状态机引导的智能探索,将任务重构为基于检索增强生成(RAG)的填充任务,更贴合LLM的代码补全优势。
- 评估结果:在真实代码适配场景的高质量数据集上,WIRL的精确匹配精确率达91.7%,召回率达90.0%,显著优于先进LLM(精确率高22.6个百分点,召回率高13.7个百分点)和IntelliJ IDEA(精确率高54.3个百分点,召回率高49.9个百分点),尤其在复杂变量依赖或多未解析变量场景中表现突出。
创新点
- 方法重构:将代码连接任务重
本文提出WIRL——一种基于大语言模型(LLM)的智能代理,专用于解决软件开发中‘复制-粘贴-修改’场景下的代码连接问题,即在本地上下文中精准替换未解析变量。WIRL将任务重构为检索增强生成(RAG)填充任务,融合定制工具链(定位/收集/填充)与混合策略(确定性规则+状态机引导探索),显著提升上下文感知能力。在真实数据集上,其精确率91.7%、召回率90.0%,大幅超越先进LLM及IntelliJ IDEA。
订阅专栏 解锁全文
401

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



