摘要
大型语言模型(LLMs)在相同编程任务中,使用不同自然语言提示时表现不一,这种现象被称为语言偏差。尽管这一行为在一般文本生成中已经被广泛研究,但其对代码生成质量和编程规范的影响仍然较少探讨。本文研究了描述编程任务的语言如何影响由 GPT-4o mini、DeepSeek 和 Claude 生成的源代码。
研究方法
我们的研究涵盖了460个编码任务,其中Python和Java各230个。我们将原始的英文提示翻译并手动整理为中文、印地语、西班牙语和意大利语,同时保持其技术意义。我们通过多个维度评估生成的代码,包括功能正确性(通过测试通过率)、结构质量(使用既定代码指标)、静态分析工具检测到的问题,以及标识符和注释中使用的语言等词汇特征。
研究结果
我们的结果显示:
- 英文提示并不总是产生最佳的功能正确性或代码质量;
- 提示语言的影响依赖于编程语言和LLM;
- 生成的代码在注释和字符串文本中经常混合使用英语和提示语言。
这些发现提供了第一个经过整理的多语言基准,用于研究代码生成中的语言偏差,并为开发更强大的多语言代码生成系统提供了见解。
博主点评: 本文揭示了多语言提示对代码生成质量的深远影响,强调了语言选择在编程环境中的重要性,为未来的多语言系统设计提供了宝贵的参考。尤其是代码的功能性和结构质量并不总与提示语言的选择成正比,值得开发者和研究者深入思考。