Page 362 - 《软件学报》2026年第3期
P. 362
张犬俊 等: 检索增强生成在软件工程中的应用综述 1325
上, 生成修复方案. 如果生成的结果不理想, 系统可以根据反馈再次检索更相关的示例, 进行新一轮的生成, 直至获
得满意的结果.
检索模块 融合机制
Copy gate
检索Top-k
Retrieval
encoder
r 1 , r 2 ,…, r k Cross-attention
辅助代码
表示向量
检索库
目标代码
生成模块
Generation Generation
encoder encoder
生成输出
待生成
代码的输入
生成初步代码表示
图 5 模型融合示例 [36]
未完成代码
第1轮检索代码
第1轮错误补全 (×)
第2轮检索代码
第2轮正确补全 (√)
图 6 迭代的检索-生成循环示例 [38]
● 联合训练. 联合训练策略从训练优化流程角度出发, 将检索器与生成器作为一个整体进行端到端训练, 使两
者在任务驱动下实现协同演化. 与其他集成策略相比, 该方法能够在训练阶段实现检索-生成的闭环优化, 从而提
升系统整体的一致性与泛化能力. 然而, 该方法通常需要大量的训练数据和计算资源, 且训练过程复杂, 同时需要
精心设计联合优化的策略和损失函数, 以确保检索与生成模块在优化目标上的一致性. 例如, 如图 7 所示, 在
JOINTCOM [70] 中, 检索器根据生成器的反馈动态调整其检索策略, 以持续提供对生成过程最具支持性的上下文信
息. 与此同时, 生成器在训练过程中充分利用这些高质量上下文, 不断优化其输出的准确性与检索的上下文契合
度. 类协同训练机制, 检索器与生成器之间形成了良性的反馈闭环, 显著增强了模型的整体生成性能. 该策略常结
合任务特定的联合损失函数, 使得模型能够在检索-生成链条中形成稳定的协同反馈环路. 需要指出的是, 与模型
融合策略相比, 联合训练策略无需在架构层引入显式的融合模块, 但其核心在于训练过程中的协同优化, 而非架构
本身的设计调整. 这一特性使得联合训练具备更强的灵活性与通用性, 特别适用于可访问训练资源、追求端到端
性能提升的应用场景.

