解説ねえ智也くん、この論文のタ…
TL;DR
LLMにコード生成を依頼する際、プロンプトの言語(英語・中国語・ヒンディー語・スペイン語・イタリア語)が生成コードの品質に与える影響を、実用的なベンチマークCoderEval(Python/Java各230タスク)と3つのLLM(GPT-4omini, DeepSeek, Claude)で調査。英語が常に最良とは限らず、特にPythonでは中国語プロンプトが高い正解率を示した。コードの構造やコメント・識別子の言語にもばらつきがあり、保守性への影響が示唆される。
解説
ねえ智也くん、このブログのタイトル見て!「多言語プロンプトでコード生成、品質はどう変わる?」って。面白そうじゃない?
ああ、それ最近読んだよ。LLMにコード生成させる時、プロンプトの言語によって品質が変わるか調べた論文だ。
へー、そうなんだ!でもなんでそんなこと調べようと思ったの?普通は英語でプロンプト書けばいいんじゃないの?
確かに英語が主流だけど、非英語圏の開発者も多いし、LLMが訓練データの言語バイアスを持ってる可能性がある。実際にどう影響するか知りたかったんだと思う。
なるほどね。で、どうやって調べたの?
CoderEvalっていう実用的なベンチマークを使ってる。PythonとJavaでそれぞれ230タスクずつ。プロンプトを英語、中国語、ヒンディー語、スペイン語、イタリア語の5言語で書いて、GPT-4omini、DeepSeek、Claudeの3つのLLMで生成させたんだ。
結構大掛かりだね!で、結果はどうだったの?やっぱり英語が一番良かった?
それが意外でね。英語が常に最良ってわけじゃなかった。特にPythonでは中国語のプロンプトが高い正解率を示したケースがあったんだ。
え、そうなの?中国語の方がいい時があるんだ!でもそれってモデルによるんじゃない?
そう、モデルによって傾向が違う。例えばDeepSeekは中国語に強いとか。でも全体的には言語によって生成されるコードの構造やコメント、識別子の言語にもばらつきがあって、保守性に影響する可能性が示唆されてる。
保守性って、例えばコメントが中国語で書かれてたら他の国の人が読めないとか?
そういうこと。識別子の命名も言語によって変わるから、チームで統一するのが難しくなる。この研究の意義は、単に正解率だけでなく、実用的な観点から言語バイアスの影響を評価したところだね。
でも限界もあるんでしょ?例えばタスクの種類とか?
うん、CoderEvalは実用的だけど、カバーしてるタスクの範囲は限られてる。あと評価指標も正解率だけじゃなくて、コードの可読性や効率性も見るべきだと思う。言語も5つだけだしね。
なるほどねー。でも面白い研究だね!私も次にコード生成する時は、プロンプトの言語を変えて試してみようかな。でも中国語は無理だから、せめて英語と日本語で比較してみる!
日本語は今回の実験に入ってないから、結果は保証できないけどね。