要点
GitHub が、開発者のようにコードベースを探索し修正案を提案してプルリクエストを作成する「エージェント型自動修正」機能を、Code Security と Copilot ライセンスを持つ組織向けに公開した。
コードスキャンアラートに対する「エージェント型自動修正」機能が、パブリックプレビュー版として利用可能になりました。この機能は開発者が行うようにコードベース全体を探索し、関連するファイルを調査して修正案を提案します。その後、CodeQL を再実行してアラートが解消されたことを確認した上で、レビュー用のプルリクエストを作成します。
エージェント型自動修正を利用するには、GitHub Code Security(または GitHub Advanced Security)と、Copilot クラウドエージェントが有効化された Copilot ライセンスの両方を組織で保有している必要があります。
仕組み
コードスキャンアラートを Copilot に割り当てると、以下の処理が行われます。
- コードベース内の関連ファイルを探索する
- 修正案を生成する
- CodeQL を再実行して修正が有効であることを検証する
- 必要に応じて反復処理を行い、レビュー待ちのドラフトプルリクエストを開く
修正の生成には通常 2〜4 分かかります。作成されたプルリクエストには、修正内容の概要、なぜその修正でアラートが解消されるのかという理由、そして Copilot が検証のために実施した手順が記載されます。
修正を含むプルリクエストが完成したら、コメント機能やリポジトリの「Agents」タブでのセッション操作を通じて、Copilot にさらに変更を加えるよう指示を出すことができます。
使い方
エージェント型自動修正は、個々のコードスキャンアラートにあった無料の「Fix を生成」オプションに代わり、「Copilot に割り当て」ボタンとして表示されます。Copilot クラウドエージェントを利用するため、AI クレジットが消費される点にご注意ください。
エージェント型自動修正を起動する方法は以下の通りです。
- 任意のコードスキャンアラートから、そのアラートを Copilot に割り当てることで開始できます。
リポジトリのセキュリティアラート一覧から、Copilot に修正させる対象を 1 つ以上選択し、単一のプルリクエストとして一括で修正できます。
また、セキュリティキャンペーン内でも同様に、Copilot に修正させるアラートを複数選択して、1 つのプルリクエストにまとめて処理することが可能です。
REST API を使用して「コードスキャンアラートの更新」を行う場合も、アサインees 配列を ["copilot-swe-agent[bot]"] に設定することで実現できます。
アクセス条件
エージェント型自動修正機能の公開プレビューを利用するには、以下のライセンスが必要です。
- GitHub Code Security または GitHub Advanced Security の有効なライセンス
- Copilot クラウドエージェントが有効になっている Copilot ライセンス
組織管理者またはリポジトリ管理者は、設定画面から「Copilot 自動修正」機能をオフにできます。企業管理者がポリシーで無効化した場合、従来の自動修正機能とエージェント型自動修正の両方が利用できなくなります。
課金について
公開プレビュー期間中、エージェント型自動修正には組織の AI クレジットが使用されます。Copilot に割り当てたアラートに対して実際に修正処理が行われた場合にのみクレジットが消費されます。なお、公開プレビュー中はエージェント型自動修正の使用量が他の Copilot の活動と区別されて表示されないため、個別の内訳は確認できません。詳細は「Copilot の利用量ベース課金」をご覧ください。
また、エージェント型自動修正による処理には、GitHub Actions の実行分もカウントされます。
GitHub コミュニティ内で議論に参加することも可能です。
この投稿は、The GitHub Blog に掲載された「コードスキャンアラートに対するエージェント型自動修正の公開プレビュー」に続く第 2 報です。