はじめに:昨日開催されたMicrosoft Buildカンファレンスで、GitHub Copilotコーディングエージェントが初公開されました。
今年初め、GitHubは Project Padawanを発表することを予告しました。これは、ソフトウェアエンジニアを支援し、コードレビュー、リファクタリング、トラブルシューティングなどの日常業務を彼らに代わって処理することを目的としたエージェントプログラムです。
昨日(5月19日)、年次Microsoft Buildカンファレンスで、GitHubはこのコーディングエージェントの最初のバージョンを、GitHub Copilotコーディングエージェントという名前でリリースしました。この新しいソフトウェアエンジニアリング(SWE)エージェントは、GitHubエクスペリエンスに完全に統合され、GitHub Issueを受け取り自律的に処理できるようになります。本日より、Copilot EnterpriseおよびCopilot Pro+ユーザー向けに提供が開始されます。
コーディングエージェントにはかなりの計算能力が必要なため、GitHub Actionsを使用してクラウドで実行されます。開発者がエージェントにIssueを割り当てると、GitHub Actionsでカスタマイズ可能な開発環境が立ち上がり、プルリクエストの作業を行います。
ただし、人間の承認なしに、エージェントはいかなるCI/CDワークフローも実行できません。エージェントは自分で作成したブランチにのみプッシュでき、デフォルトブランチや開発者が作成したその他のブランチには触れることができません。開発者は、エージェントがアクセスできるMCPサーバーやウェブサイトを制限できます。さらに、レビュー効率をさらに向上させるために、エージェントにプルリクエストを開くよう要求した開発者自身がそれを承認することはできません。
「今日の世界では、エージェントの信頼性は人間の開発者ほど高くありません」とGitHub CEOのThomas Dohmke氏は語りました。「まるで、面接や身元調査などを行わずに誰かをチームに迎え入れるようなものです。したがって、エージェントは人間の開発者よりも制御された環境にある必要があると考えています。」
現在、このエージェントはAnthropicのClaude Sonnet 3.7によって駆動されています。Dohmke氏が私に語ったように、チームはこのモデルが現在、「コード品質と開発者の好みに合致する最適な組み合わせ」を持っていると考えているからです。
Dohmke氏は最近、Copilotが開発者のピアになりつつあることについて語りました。多くの点で、それは確かに起こっています。
「ワークフローはこうです。開発者として、あなたは(できればVS Code上で)好きなソフトウェアを構築し、好きなことをするために時間の大部分を費やすでしょう」と、彼は本日の発表前のインタビューで語りました。「タスクがあるとき、または誰かがGitHub Issueをあなたに割り当てたとき、またはバグレポートがあったとき、あなたはそれをコーディングエージェントに投げます。そして、クラウドでいくつかのエージェントセッションを実行し、あなたのローカルマシンはあなたのために利用可能で、フロー状態にあります。願わくば、魔法のようなことをしているでしょう。」
開発者は、GitHub.com、GitHub Mobile、またはGitHub CLIを使用して、同僚に割り当てるようにエージェントにIssueを割り当てることができます。すると、エージェントは👀絵文字を追加して作業を開始します。開発者は、セッションログでエージェントの推論ステップとコード検証作業を確認することで進捗を監視できます。
GitHubは、これらの機能すべてが、単一のGitHub Issueで対処できる、明確に定義された要求に最適であることを強調しました。「このエージェントは、機能の追加、バグ修正、テストの拡張、コードのリファクタリング、ドキュメントの改善など、十分にテストされたコードベースにおける低〜中程度の複雑さのタスクに優れています」とDohmke氏は述べています。
コード補完からコーディングエージェントへ
この新しいエージェントは、IDEで実行されるCopilotの既存のエージェントモードを補完します。エージェントモードは、ゼロからコードを作成したり、既存のコードベースを編集したり、必要に応じてツールを使用したりすることもできます。ちなみに、このエージェントモードは以前はVS Codeでのみ利用可能でしたが、現在ではJetBrains、Eclipse、Xcodeでも利用可能です。
Dohmke氏は、現在の製品は、コード補完とエージェントモード(コーディングの内側のループをカバー)からコーディングエージェントまで、連続的なスペクトルであると考えていると強調しました。
彼は説明しました。「アイデアはこうです。コーディングエージェントがプルリクエストを作成し、5つのコミットを作成したと想像してください。ほぼ完了です。ここで決定を下す必要があります。エージェントに正確にあなたが望む場所まで到達するように継続的にプロンプトを出し続けるのが持続可能ですか?それとも、GitHub CLIを使用してそのプルリクエストを素早くチェックアウトする方が速いかもしれませんか?VS Codeを開き(エージェントモードを使用するかどうかに関わらず)、変更を加え、プッシュバックしますか?プルリクエストは、エージェントがあなたをここまで連れてきてくれたと言える理想的なポイントを提供し、その後、マージの準備をするために同じプルリクエストにさらにいくつかのコミットを戻すことができます。」
MicrosoftのSREエージェント
コーディングエージェントに加えて、Microsoftは今週、Azure向けのVisual Reliability Engineering(SRE)エージェントも立ち上げました。これは、新しいGitHub SWEエージェントを使用して問題を自律的に修正できます。
「ここでの重要な点は、システムを24時間体制で監視し、発生する問題を自動的にトラブルシューティングできることです」と、Microsoftの開発者部門担当コーポレートバイスプレジデント兼製品責任者であるAmanda Silver氏は私に語りました。「そして、GitHubワークフローと連携して動作できます。そのため、Issueの根本原因が判明すると、実際には自動的に修正を試みることもできますが、GitHubにこれらのIssueを記録することもできます。そのため、SREエージェントに本番システムを監視させることができるという、本当に素晴らしい相互作用もあります。SREエージェントがIssueを見つけると、そのIssueをGitHubにIssueとして記録し、その後、私たちが立ち上げているGitHub CopilotコーディングエージェントであるSWEエージェントがそのIssueを受け取り、修正に取り組むことができます。」
Silver氏は、このSREエージェントは、Microsoftが開発し自社で使用している内部エージェントに基づいていると述べました。そのデータは、同社がエンジニアがAzureサービスのトラブルシューティングを支援するために提供するのと同じガイダンスに基づいています。
Microsoftはまた、New Relicと提携し、そのアプリケーションパフォーマンスモニタリング(APM)サービスからのデータをこのワークフローに取り込みました。このエージェントは、ServiceNow、PagerDuty、およびその他のインシデント管理システムとも連携できます。
DevOpsに楽しさを取り戻す
Silver氏は、これらすべてはDevOpsに楽しさを取り戻すことであると述べました。
「私たちは、このカテゴリー全体が実際に『エージェントDevOps』であり、DevOps全体の次のフェーズであると考えています」とSilver氏は語りました。「これは、AIエージェントが開発のあらゆる段階、つまり計画から本番まで、コーディングからデプロイメントまで、に組み込まれる世界です。これは、ソフトウェアデリバリーを本当に加速させ、品質を向上させ、そして多くの楽しさを取り戻すのに役立つでしょう。」
特典:VS Code Copilot拡張機能がオープンソース化
コーディングエージェントは、間違いなく昨日のGitHubの発表のハイライトでした。しかし、GitHubがVS Code GitHub拡張機能もオープンソース化していることは注目に値します。VS Codeはすでにオープンソースであり、開発者が依存している多くの拡張機能も同様です。Copilot拡張機能(そのシステムプロンプトを含む)は、今後VS Codeと同じGitHubリポジトリに置かれます。
「ここでの重要な点は、これによりエコシステムが私たちと共に共進化することを本当に促進するということです」とSilver氏は語りました。「VS Codeは常にオープンソースであり、拡張機能こそがVS Codeの魔法が存在する場所です。明らかに、AI支援コーディングの分野では多くの革新が起こっていますので、VS Codeがそのすべての革新の中心であり続けることを保証したいと考えています。」
開発者にとって特に注目すべきは、AppleのXcode IDE用のCopilot Extensionがすでにオープンソースであることです。
編集者:场长
関連リンク:
関連読書: