目次
Do Generative AI Tools Ensure Green Code? An Investigative Study
この論文は、生成AIツールが生成するコードの持続可能性やエネルギー効率に関する初期調査を行い、主要なツールが「グリーン」なコーディング実践をどの程度遵守しているかを評価したものです。
この論文は、生成AIツールによるコード生成が持続可能なコーディングプラクティスにどの程度従っているかを評価し、非グリーンな出力の傾向を明らかにすることで、AI生成コードの環境への影響を具体的に示した点が特徴的です。
論文:https://arxiv.org/abs/2506.08790


以下は、弊社AI開発ツール「IXV」を用いてこの論文を要約したものです。見出しや章立てが元論文とは異なる場合があります。
概要
ソフトウェアの持続可能性は、リソースの最適利用、環境への影響の最小化、よりグリーンでより強靭なデジタルエコシステムの促進を目指す重要な関心事として浮上しています。ソフトウェアの持続可能性や「グリーンさ」は、通常、持続可能なコーディングプラクティスの採用によって決まります。生成AIに関するエコシステムが成熟する中で、多くのソフトウェア開発者が自然言語プロンプトを使用してコードを生成するためにこれらのツールに依存しています。潜在的な利点があるにもかかわらず、AI生成コードの持続可能性に関する研究は非常に不足しています。具体的には、持続可能なコーディングプラクティスの採用に基づいて、AI生成コードはどれほど環境に優しいのかということです。
本論文では、ChatGPT、BARD、Copilotという3つの人気のある生成AIツールにおけるAI生成コードの持続可能性に関する初期調査の結果を示します。結果は、複数のルールとシナリオにわたってコード生成ツールのデフォルトの非グリーンな動作を強調しており、さらに深い調査と効果的な修正戦略の必要性を浮き彫りにしています。
1. 導入
従来のソフトウェア開発では、開発者が持続可能なコーディング実践を取り入れる責任を負っていたが、生成AI技術の急速な進歩により、ChatGPT、BARD、Copilotなどのツールが広く使用されるようになった。2027年までに約70%の開発者がAI支援コーディングツールを使用すると予測されており、将来のソフトウェアコードの大部分がAI生成になる見込みである。しかし、AI生成コードの持続可能性については評価研究が不足している。本研究では、3つの人気の高い生成AIツールによって生成されるコードの持続可能性について、持続可能なコーディング実践の採用に基づいて初期調査を実施した。
2. AI生成コードのグリーン性評価
2.1 研究方法論
本研究では効果的な方法論を策定し、生成AIツールの持続可能な実践への準拠を理解した。アプローチは3つの高次ステップで構成される:(i)適切なグリーンルールセットの選択、(ii)評価対象生成AIツールの絞り込み、(iii)自然言語プロンプトの作成。評価に使用されるプロンプトは、ルールの文脈に基づいて作成され、独立してフレーミングされたものではない。この設計選択の主な理由は、特定のタスクを解決することで、ルールの文脈に関連する特定の出力を生成するようLLMの動作に影響を与えることであった。
2.1.1 グリーンルールの選択
エネルギー効率の悪いコードパターンを発見する研究は多数行われているが、そのようなパターンの標準化されたデータセットや知識ベースが不足している。より知られているルールセットの一つはCASTのGreen ITルール[21]で、多くのエネルギー非効率なコードパターンを列挙している。Green ITルールは約900のルールで構成され、本研究ではJava、Javascript、Python言語に関連するルールを検討した。CASTのGreen ITルールから5つのルールを選択し、JavaのI/O APIのエネルギーフットプリントを評価した研究[18]から1つのルールを構築した。
2.1.2 選定された生成AIツール
本研究では、何千万から何億ものユーザーを持つ3つの人気の高い生成AIツールを選択した:
- GitHub Copilot: 2021年にリリースされ、最も人気の高いAI駆動コード生成ツールの一つとなった。Githubは100万人以上の開発者がこのツールを使用していると主張している[6]。
- OpenAI ChatGPT: 2ヶ月で1億人以上のユーザーを獲得し、史上最速で成長したインターネットツールの一つとなった[17]。
- Google BARD: 2023年初頭にGoogleがリリースし、World Wide Webからリアルタイム情報を取得するなど、ChatGPTの一部の欠点を克服すると主張された[1]。
2.1.3 プロンプト作成
生成AIツールのグリーンベストプラクティスへの準拠の効果を(外部/追加入力なしで)テストするため、絞り込まれた6つのルールそれぞれに対して2つの自然言語(NL)プロンプトを手動で作成した。各ルールのNLプロンプトは、それぞれのルールの基本的なタスクが実装されることを確実にする方法で作成された。生成AIツールの出力は、プロンプトタスクに対するデフォルトの動作を表している。
2.2 実験結果と考察
実験を実行するため、ChatGPTとBARDについては各組織のサイトの対話UIツールを活用した。Java/JEEに関連するルールについては、各NLプロンプトの前に「All responses should be for Java language」という文を付加し、ツールの出力でJava構文の使用を保証した。Copilotについては、公式VSCode拡張機能を使用してNLプロンプトに対して最大10個のソリューション(デフォルト設定)を生成し、Copilot提案パネルを明示的にトリガーした。結果として、少なくとも1つの生成AIツールが選択されたGreen ITルールに従っていないことが明確に推察された。ほとんどのGithub Copilotの提案は、研究対象のルールに対してグリーンコーディングパターンを示していない。

3. 制限事項
本研究は生成AIツールのデフォルトの動作を調査することを目的としたが、すべてのエネルギー効率コーディングパターンとベストプラクティスをカバーすることは不可能であった。初期実験で、多くのルールの記述を自然言語プロンプトで複製することが困難であることを発見した。例えば、継承がデリゲーションパターンよりもエネルギー効率的であるという実証研究があるが、コードパターンを明示的に言及せずに自然言語プロンプトを作成しようと試みたところ、LLMの非決定論的な応答には継承やデリゲーションパターンを含む解決策が含まれなかった。このような問題により、多くのルールの評価が極めて困難となった。
4. 今後の研究と結論
本研究では、多様な生成AIツールがグリーンコードを生成する際の懸念される「デフォルト」動作を強調した。グリーンコードの観点から生成AIツールのデフォルト動作を探索し、その出力を盲目的に信頼しないことが重要であることが観察された。いくつかの新しいソリューションは、持続可能なコーディングベストプラクティスの検討を開発者から移行させ、開発の後段階での再作業と認知的作業負荷を削減するのに役立つ可能性がある。今後の研究では、持続可能性の観点からより大きな生成AIまたはLLMツールセットのより包括的な動作プロファイリングを実施する予定である。また、持続可能なコーディング実践とは独立してタスクを設定し、その後プロファイリングを行うという逆方向からのアプローチも検討している。