はじめに
GitHubが2025年12月12日、AI技術を活用したソフトウェア最適化の新しいアプローチ「Continuous Efficiency」を公式ブログで発表しました。GitHub NextチームとGitHub Sustainabilityチームが協力して開発したこの概念は、継続的なAI活用とグリーンソフトウェアの実践を組み合わせ、ほぼ労力なしでコードベースを最適化し続けるという野心的な取り組みです。本稿では、この発表内容をもとに、Continuous Efficiencyの仕組みと可能性について解説します。
参考記事
- タイトル: The future of AI-powered software optimization (and how it can help your team)
- 著者: Paull Young
- 発行元: GitHub Blog
- 発行日: 2025年12月12日
- URL: https://github.blog/news-insights/policy-news-and-insights/the-future-of-ai-powered-software-optimization-and-how-it-can-help-your-team/
要点
- Continuous Efficiencyは、継続的AI(Continuous AI)とグリーンソフトウェア(Green Software)を組み合わせた新しい実践手法である
- GitHubのAgentic Workflowsフレームワーク上で実装され、GitHub Actions環境で自動実行される
- 自然言語によるルール定義が可能で、従来のリントツールや静的解析を超える広範なカバレッジを実現する
- コードベースレビューとパフォーマンス改善の2つの領域で、実際のプロジェクトへの適用が進められている
- Markdownで記述したワークフローをコンパイルし、標準的なGitHub Actions YAMLとして実行できる
詳細解説
Continuous Efficiencyとは何か
GitHubによれば、Continuous Efficiencyとは「労力をほとんど必要とせず、常時稼働する持続可能性のためのエンジニアリング」を実現する概念です。開発チームの日常業務では、「どうすればより持続可能にできるか」という問いが優先リストに上がることは稀であり、グリーンソフトウェアの実践者も少ないのが現状です。しかし、GitHubはAI技術の進化により、この状況を変えられると考えています。
この概念は、継続的AI(Continuous AI)とグリーンソフトウェア(Green Software)の交差点から生まれました。継続的AIは、ソフトウェア開発プラットフォームやCI/CDワークフローにおけるLLM駆動の自動化を指します。一方、グリーンソフトウェアは、エネルギー効率が高く環境への影響が低いソフトウェアの設計と構築を目指す実践です。この2つを組み合わせることで、コードベースが自律的に継続改善していく世界を実現しようとしています。
ソフトウェアの効率性は、従来から開発者にとって本質的な関心事でした。Continuous Efficiencyは、パフォーマンス向上、コード標準化、変更品質保証といった開発者が日常的に求める価値を、持続可能性という観点と統合する試みと言えます。
開発者とビジネスにとっての価値
GitHubの発表では、Continuous Efficiencyが開発者とビジネスの両方に価値をもたらすと説明されています。
開発者にとっては、デジタルの持続可能性とグリーンソフトウェアは「効率性」と本質的に結びついており、これはソフトウェアエンジニアリングの中核をなすものです。パフォーマンスの高いソフトウェア、コードの標準化、変更品質保証などの恩恵を受けられます。
ビジネス面では、持続可能性のための構築が測定可能な価値を生むとされています。具体的には、電力とリソース消費の削減、効率性の向上、コード品質の改善、ユーザー体験の向上、そしてコスト削減です。
従来、持続可能性はロードマップや優先リストにすら入らないことが多かったものの、コードベースが自律的に改善し続ける世界が実現すれば、この状況は変わると考えられます。つまり、明示的な取り組みとして意識されなくても、日常的な開発プロセスの中で自然に持続可能性が向上していく仕組みと言えます。
Agentic Workflowsによる実装
Continuous Efficiencyの実装基盤となっているのが、GitHub NextチームとGitHub Sustainabilityチームが開発した「Agentic Workflows」です。GitHubによれば、これはGitHubリポジトリにおいて、プロアクティブで自動化されたイベント駆動型のエージェント動作を探索するための実験的フレームワークであり、GitHub Actions内で安全に実行されます。
現在は「研究デモンストレーター」ステータス、つまり実験的プロトタイプの段階にあり、プレリリースであり変更やエラーの可能性があるとされています。しかし、すでに公開されオープンソース化されているため、開発者は試用できます。
Agentic Workflowsでは、従来のYAMLやスクリプトではなく、自然言語(Markdown)で自動化処理を記述できます。Markdownファイルの冒頭にYAML風の「フロントマター」(トリガー、権限、ツール、安全な出力などを定義)を配置し、その後に平易な英語で指示を記述します。ビルド時にgh aw compileコマンドを実行すると、Markdownが標準的なGitHub Actions ワークフロー(.yml)にコンパイルされ、通常のGitHub Actionsランタイムで実行できるようになります。
コンパイルされたワークフローが実行されると、サンドボックス環境内でAIエージェント(GitHub Copilot CLI、Claude Code、OpenAI Codexなどに対応)が起動します。エージェントはリポジトリのコンテキストを読み取り、人間が記述した自然言語の指示(例:「不足しているドキュメントを探し、READMEファイルを更新し、プルリクエストを開く」)を適用し、コメント、プルリクエスト、その他のリポジトリ変更などの出力を生成します。GitHub Actions環境で実行されるため、権限境界、安全な出力制限、ログ、監査可能性、その他のセキュリティ制御が維持されます。
自然言語での記述は、開発者にとって敷居を下げる効果があると考えられます。複雑なYAML構文を習得しなくても、意図を平易な言葉で表現すれば、AIエージェントがそれを解釈して実行してくれるためです。
ルールと標準の実装
GitHubの取り組みは2つの主要領域に焦点を当てており、その1つがルールと標準の実装です。
最新のLLMとエージェントワークフローにより、エンジニアリング標準とコード品質ガイドラインを直接自然言語で表現し、従来は達成できなかった規模で適用できるようになりました。この能力は、従来のリントツールや静的解析アプローチを3つの重要な点で超えています。
第1に、宣言的で意図ベースのルール作成です。自然言語で意図を記述すれば、モデルがそれを解釈して実装します。ハードコードされたパターンやロジックは不要です。
第2に、意味的な汎化性です。単一の高レベルなルールを、多様なコードパターン、プログラミング言語、アーキテクチャ全体に適用できるため、従来のツールやアプローチよりもはるかに広範なカバレッジが得られます。
第3に、インテリジェントな修復です。このアプローチは、プルリクエストの作成や変更へのコメントと提案編集の追加といった、エージェント的でプラットフォーム統合されたアクションを通じて、問題や違反を包括的に解決します。
具体的な事例として、GitHubは2つのケーススタディを紹介しています。
1つ目は、グリーンソフトウェアルールの実装です。GitHubチームは、標準的および特定のグリーンソフトウェアのルール、戦術、パターンを幅広く実装し、これらをコードベースやリポジトリ全体に完全にエージェント的に適用できるようにしました。resolveプロジェクトとの協力では、コードベースを複数のルールでスキャンし、エージェント的に改善提案を提供しました。すべての出力が完璧ではなかったものの、最近承認・マージされたプルリクエストの1つは、頻繁に呼び出される関数内からRegExpリテラルを「巻き上げる」(hoisting)ことで、小さなパフォーマンス改善を実現しています。このプロジェクトはnpmで月間5億回以上ダウンロードされているため、小さな改善でも大規模な影響を及ぼします。
2つ目は、ウェブサステナビリティガイドライン(WSG)の実装です。W3CのWSGは、ウェブ製品やサービスをより持続可能にするための優れたリソースです。GitHubチームは、ウェブ開発セクションを20のエージェントワークフローに実装し、これらのガイドラインをAIでも利用できるようにしました。GitHubとMicrosoftのウェブプロパティでWSGワークフローを実行したところ、遅延読み込みの活用からネイティブブラウザ機能や最新言語標準の使用まで、改善の機会と解決策を見つけることができました。
これらの事例は、自然言語によるルール定義が、実際のプロジェクトで具体的な改善をもたらしていることを示しています。
異種パフォーマンス改善への取り組み
Continuous Efficiencyのもう1つの焦点は、異種パフォーマンス改善です。
GitHubによれば、パフォーマンスエンジニアリングは、現実世界のソフトウェアが非常に多様であるため、極めて困難です。すべてのリポジトリが異なる言語とアーキテクチャの組み合わせをもたらし、単一のコードベース内でさえ、パフォーマンス問題の原因はアルゴリズムの選択からキャッシュ動作、ネットワークパスまで多岐にわたります。
専門のパフォーマンスエンジニアはこの複雑さをうまく扱えますが、業界全体の作業の多様性と量を考えると、より優れたツールとスケーラブルな支援が必要です。
GitHubチームが取り組んでいるのは、「任意のソフトウェアに対処して実証可能なパフォーマンス改善を行える汎用エージェント」を構築するという壮大な課題です。これは、実際のソフトウェアが持つ膨大な曖昧性と多様性を扱う必要があり、簡単な課題ではありません。
半自動パフォーマンスエンジニアリングは、人間の指導の下でエージェントが調査、計画、測定、改善を繰り返す自動化された反復ワークフローを通じて、このニーズに応えることを目指しています。プロセスは「リポジトリ適合」発見から始まります。つまり、特定のプロジェクトをビルド、ベンチマーク、測定する方法を把握してから、最適化を試みます。最新のLLMベースのエージェントは、リポジトリを探索し、関連するパフォーマンスツールを特定し、マイクロベンチマークを実行し、対象を絞ったコード変更を提案できます。
初期の結果は大きくばらつきがあるものの、一部では、ガイド付き自動化が大規模にソフトウェアパフォーマンスを有意に改善できる可能性を示しています。
具体的なケーススタディとして、「Daily Perf Improver」が紹介されています。これは3段階のワークフローで、小規模な日次スプリントで実行されることを想定しています。(1)改善の調査と計画、(2)リポジトリのビルド方法とベンチマーク方法の推論、(3)測定された最適化を反復的に提案、といった処理が可能です。FSharp.Control.AsyncSeqに対する最近の集中的なパイロットでは、パフォーマンスバグ修正の再発見や検証済みマイクロベンチマーク駆動の最適化を含む、複数の承認されたプルリクエストを生成することで、すでに実際の成果を上げています。
これらの事例から、AIエージェントが実際のコードベースに対して有用な改善を提案できる段階に達していることがわかります。ただし、完全な自動化ではなく、人間の監督の下での半自動化というアプローチが現実的と考えられます。
実装プロセスとワークフロー作成
GitHubチームが内部でContinuous Efficiencyワークフローを作成するプロセスは、シンプルで反復可能なパターンに従っています。
第1段階は意図の定義です。公開標準またはドメイン固有のエンジニアリング要件に基づいて定義します。
第2段階はMarkdownでのワークフロー作成です。構造化された自然言語を使用し、create-agentic-workflowエージェントによって対話的にガイドされます。
第3段階はYAMLへのコンパイルです。Markdownを標準的なGitHub Actionsワークフローに変換します。
第4段階はGitHub Actionsでの実行です。選択されたリポジトリでワークフローを実行します。
このプロセス全体が、開発者にとって比較的アクセスしやすい形で設計されていると言えます。特に、自然言語での記述とエージェントによる対話的なガイドは、技術的なハードルを下げる効果があると考えられます。
開発者への呼びかけと今後の展開
GitHubは、実験段階が好きな開発者に対して、すでにGitHub ActionsでAgentic Workflowsを実行できると呼びかけています。「Daily performance improver」を含むさまざまな例をすぐに試せるほか、自然言語を使用して独自のワークフローを作成することも可能です。
GitHub Sustainabilityチームは、近日中にルールセット、ワークフロー、その他のリソースを公開する予定です。早期採用者またはデザインパートナーに興味がある場合は、著者のPaull Youngに連絡できるとのことです。
現時点では実験的プロトタイプの段階ですが、GitHubがオープンソースとして公開し、開発者コミュニティの参加を募っている点は注目に値します。コミュニティからのフィードバックと貢献により、この技術がさらに洗練されていく可能性があります。
まとめ
GitHubが提唱するContinuous Efficiencyは、AIによる自動化とグリーンソフトウェアの実践を組み合わせた新しいアプローチです。自然言語でルールを定義し、AIエージェントが自律的にコードベースを改善していく仕組みは、持続可能性を開発プロセスに自然に組み込む可能性を秘めています。現在は実験段階ですが、具体的な成果も報告されており、今後の発展が期待されます。開発者の方は、実際にAgentic Workflowsを試してみることで、この新しい潮流を体験できます。
