このページの本文へ

前へ 1 2 次へ

「もはやソフトウェア開発にAIは不可欠」、それでも変わらないもの

GitHub CEOに聞く―「Project Padawan」の狙いは? 未来のソフト開発はどう変わるか?

2025年04月01日 12時30分更新

文● 末岡洋子 写真・編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

GitHubは今年2月、「Project Padawan(パダワン)」を発表した(画像はYouTubeより

 GitHubが、AIによるコーディング支援ツール「GitHub Copilot」を最初に発表してから4年近くが経つ。コードの補完や生成をはじめ、バグや脆弱性の検出と修正提案、テストコードやドキュメントの生成など、AIが開発者を支援する機能は次々に進化、拡大してきた。

 「もはやソフトウェア開発にAIは不可欠だ」――そう断言するのはGitHubのCEO、トーマス・ドムケ氏である。

 GitHubでは今年(2025年)2月、GitHub Copilotの新機能「エージェントモード」のプレビュー提供を開始するとともに、将来構想として、AIエージェントがタスク全体を自律的に処理するという「Project Padawan(パダワン)」も発表している。

 Project Padawanで何を実現しようとしているのか、そして、AIによって変わる未来のソフトウェア開発をどう予想しているのか。東京を訪れたドムケ氏に聞いた。

GitHub CEOのトーマス・ドムケ(Thomas Dohmke)氏

Project Padawan:Copilotエージェントが自律的にイシューを解決する世界へ

――2月に発表されたProject Padawanは「SWEエージェント」と位置付けられています。まずはこのSWEエージェントとは何なのか、そこから教えていただけますか。

ドムケ氏:SWEエージェントという言葉は、GitHubが考え出したわけではなく、ソフトウェアエンジニアリング(SWE)の研究者たちが2024年に発表した論文に由来しています。その論文では、ソフトウェアエンジニアリングの自動化を可能にするコンピューターインタフェースを「SWEエージェント」と定義しています。

 Project PadawanはGitHub上のSWEエージェントであり、開発者の代わりに行動することで、ソフトウェアエンジニアリングを支援するシステムです。

 このプロジェクトを始めるにあたって、われわれはまず、GitHubにあるPythonリポジトリから人気の高いものを選び、2000件以上のイシュー(課題)とそれを実装するプルリクエストで構成されたデータセットを作りました。そして、そのイシューを開発者と同じように解決できるよう、OpenAIやAnthropicなどのLLMをトレーニングしました。

 先ほど挙げた論文では(AIモデルのソフトウェア開発能力を評価する)SWE-benchというベンチマークも発表されています。トレーニングしたモデルをベンチマーク評価してみると、スコアは最も高いものでも64~65%程度でした。つまり、2000件以上あるイシューのうち、65%しか解決できなかったのです。学生のテストが65点ならば(最高評価の)“A評価”はもらえませんよね。これが現在の実力です。

 そこでわれわれは、このエージェントを「Padawan」と命名しました。Padawanとは、映画「スター・ウォーズ」の中(劇中の階梯制度)で、ルーク・スカイウォーカーやオビ=ワンのようなJedi(ジェダイ)を目指す「見習い、弟子」を意味します。

――つまり“一人前ではない”ということですね(笑)。このプロジェクトが成功したとき、エージェントはどんなことをしてくれるようになるのでしょうか。

ドムケ氏:GitHubでCopilotにイシュー、フィーチャーリクエスト、バグレポートなどをアサインすると、Copilotが自動的に作業を開始します。Copilotエージェントが作業を進める方法は、人間の開発ワークフローと似ています。

 人間の開発チームのワークフローを考えてみましょう。朝、開発チームはバックログを見ながら、誰がどんな作業に取り組む予定なのかを確認したうえで、イシューを開発者に割り当てます。その開発者は、コードを確認してイシューの解決方法を検討し、ときには同僚にチャットで「どうすればいいかな?」と相談もしながら作業を進めます。修正コードが書けたら、プルリクエストを出してチームにレビューを依頼し、チームが「LGTM(Looks Good To Me:問題なし)」と判断すれば、そのコードがマージされるわけです。

 エージェントはこのワークフローを代行します。クラウドで仮想マシンを起動し、コードをチェックし、必要であればターミナルを使ってツールをインストールしたり、ブラウザを使って作業方法を決定したりもします。そしてコードを実装したうえで、(人間のレビューを受けるために)プルリクエストを出す。こうした一連の作業をエージェントに代行させる、これがProject Padawanの目標です。

開発者は多数のCopilotエージェントを率いる“Jedi”になる

――すごい。開発者の作業効率が飛躍的に向上しそうですね。

ドムケ氏:ただし、先ほど言ったようにPadawanは“Jediの見習い、弟子”です。したがって、人間の開発者は幅広いスキルをしっかり身につけて“Jedi”にならなければなりません。Jediになれば、複数のエージェント(Padawan)に作業をアサインし、全体をオーケストレーションしながらプロジェクトを進められるようになります。

 単純な作業はエージェントに任せ、エージェントが作業している間に、開発者自身はより高度で複雑なコーディングを行う。そうすれば、開発者が一人で作業するよりもはるかに多くのことを達成できるわけです。

――Padawanと(すでにプレビュー提供されている)Copilotのエージェントモードの違いは何でしょうか。

ドムケ氏:Copilotのエージェントモードは、IDE(統合開発環境)の中で開発者の日常的な作業を補助するための機能です。これまでと同じように、開発者が“操縦士”として主導権を握り、エージェントが“副操縦士(Copilot)”として支援する構図です。言い換えれば、開発者とCopilotが“同期的に働く”仕組みです。

GitHubではCopilotのエージェントモードをプレビュー提供開始している(画像はプレスリリースより

 これに対してPadawanでは、開発者がエージェントにタスクをオフロードして“非同期で働く”仕組みが実現します。そのため、エージェントにタスクを任せ、開発者はほかの作業に時間を割くことができるわけです。ほかの作業をしているうちに、エージェントから「プルリクエストを作成したのでレビューをお願いします」という通知が届きます。それを見た開発者が「ここは別のライブラリを使ってほしい」「別のアプローチが良い」といったアドバイスをすれば、エージェントは作業をやり直します。

 簡単にたとえると、Copilotのエージェントモードは「隣に座って一緒に作業する」機能、Padawanのエージェントは「別の建物にいるチームメンバーと作業する」機能ですね。

――しかし、作業を任せるためには「Padawanを信頼していること」が前提になります。

ドムケ氏:PadawanはJediではありませんから、やはりトレーニングも監督も必要です。それでも、最終的には人間が作業結果をレビューするので、Padawanに作業を任せることはできると思います。

 エージェントやAIシステムに知性はなく、人間が決断を下し、指示を出す必要があります。生成AIによるコーディングが普及し始めて「ソフトウェア開発者は今後も必要か?」という議論がありますが、わたしの答えは「イエス」です。エージェントに多くの作業を任せられる時代になっても、最後に検証し、監督する人間はこれからも必要です。

 わたしは、ソフトウェア開発という作業は「職人技」だと思っています。日本は職人を大切にする文化なのでご理解いただけると思いますが、職人の技は何年も、何十年もかけて培われるものです。そして最高の職人は、絶えず練習や訓練を重ねて研鑽(けんさん)を積み、高みを目指します。エージェントは、そうしたソフトウェア開発者の職人技を代行することはできません。

――Project PadawanはいつGA(一般提供開始)になるのでしょうか。

ドムケ氏:今年(2025年)中、おそらく今年の後半には提供を開始する予定です。

前へ 1 2 次へ

カテゴリートップへ

  • 角川アスキー総合研究所