MSCoT: Structured Chain-of-Thought Generation for Multiple Programming Languages

研究背景与动机

随着代码智能的快速发展,多编程语言应用变得越来越广泛。然而,现有代码生成模型主要关注单一或少数编程语言,导致在多语言环境中的性能不尽如人意。思维链(Chain-of-Thought, CoT)推理通过将复杂代码生成任务合理分解为多个子任务并逐步推导解决方案,能够显著提高模型性能,而无需重新训练或微调代码生成模型。但现有CoT生成方法主要集中在Python代码上,对其他编程语言的性能仍不清楚。

研究问题的具体表述:当前多语言代码生成面临两个主要挑战:(1)高质量CoT训练数据的稀缺性,特别是在多语言场景下语法和文档风格的差异使数据构建更加复杂;(2)现有方法在跨语言泛化能力方面的不足,如图2所示不同编程语言间的性能差异显著。

论文核心方法和步骤

MSCoT方法框架包含三个关键组成部分:数据集构建、模型训练和推理机制。

1. 多智能体数据集构建框架

通过三个专门设计的智能体协同工作构建高质量多语言CoT数据集:

  • 代码质量智能体(CQAgent):实施两阶段过滤过程,评估代码样本的教育价值和文档-实现一致性

  • 代码翻译智能体(CTAgent):执行风格感知的代码翻译,包括签名翻译和文档字符串适配,保持语义等价性

  • 结构化思维链智能体(SCoTAgent):基于三个基本程序结构(顺序、条件、迭代)生成结构化CoT

2. 模型训练技术

采用指令模板和LoRA(Low-Rank Adaptation)技术进行高效微调。设原始权重矩阵为 W0​∈Rd×k,权重更新分解为两个低秩矩阵:

ΔW=BA

其中 B∈Rd×r和 A∈Rr×k,且秩 r≪min(d,k)。前向计算为:

Hˉ=H+BAX

其中 H=W0​X表示原始变换。

3. 推理机制

MSCoT在推理时采用贪心搜索确保生成稳定性,仅当主要代码生成模型失败时才使用生成的CoT,实现黑盒集成。

实验结果与结论

实验设置:在12种编程语言上评估MSCoT性能,使用DeepSeek-Coder和Qwen2.5-Coder作为基础模型,比较Zero-Shot CoT、Self-CoT、COTTON和SCoT(GPT4)等基线方法。

主要实验结果

  • DeepSeek-Coder集成:平均Pass@1从52.92%提升至66.04%(+13.12%绝对提升)

  • Qwen2.5-Coder集成:平均Pass@1从61.56%提升至72.29%(+10.73%绝对提升)

  • 与GPT-4对比:MSCoT性能接近SCoT(GPT4),差距仅2.08-3.23%

人类评估结果:在相似性、自然性和教育价值三个维度上,MSCoT均显著优于COTTON:

  • 相似性:3.47 vs 2.78

  • 自然性:3.33 vs 2.57

  • 教育价值:3.28 vs 2.50

结论:MSCoT显著提高了代码生成模型在多语言环境中的性能,生成高质量、语言无关的CoT推理,在资源受限场景下可作为GPT-4-based解决方案的可行替代方案。该方法为多语言代码智能研究提供了重要基础,开源了包含84,000个样本的数据集和训练模型。


http://example.com/posts/60.html
作者
司马吴空
发布于
2026年3月30日
许可协议