
はじめに
こんにちは、小野です。昨年12月に開催されたAWS re:Invent 2025に参加してきました。
今回のre:Inventでは、多くのセッションでAI Agentがキーワードとして語られていたのが印象的でした。
re:InventというとAWSの発表が中心というイメージがありますが、実際にはスポンサー企業によるセッションも数多く開催されています。そうした中で、個人的に興味を惹かれて参加したのが、GitHubによるGitHub Copilotのセッションでした。
開発の現場において存在感を増しているCopilotですが、本記事ではこのセッションの内容をもとに、Copilotがどのように進化しつつあるのか、また開発スタイルにどのような変化をもたらすのかを整理していきます。
セッション概要
本セッションでは、GitHub Copilotが従来のコード補完ツールから、自律的にタスクを遂行するAI Agentへと進化していく流れと、それに伴うソフトウェア開発ライフサイクルの変化について説明されていました。
以下のリンクからセッションを視聴できます。
ソフトウェア開発におけるCopilotの位置づけ
現在、コード補完やチャットによる支援は一般的になりましたが、これまではあくまで人間が主体、AIが補助という関係性です。
しかし本セッションでは、その関係性自体が変わりつつあることが示されていました。
補助ツールからエージェントへ
GitHubはCopilotの進化を以下の3つのフェーズで定義しています。
- Wave1: コード補完
- IDE上でのコード補完やチャットによる支援
- Wave2: エージェント化
- Issueの解決やテスト作成など、特定のタスクを自律的に実行
- Wave3: 自律的なタスク実行
- 複数のエージェントが非同期・並列にタスクを遂行
現在は、Wave2からWave3へ移行しつつある段階にあり、単一のタスクであればすでにAIエージェント単体で実行可能なレベルに到達していると説明されていました。

エージェント型SDLCの未来像
エージェント化が進むことで、開発プロセス全体もさらに変化していきます。
セッションでは、以下のような役割分担が例として示されていました。
- 要件整理を行うエージェント
- タスク分解を行うエージェント
- 実装を行うエージェント
- セキュリティ・品質を検証するエージェント
- 本番環境を監視するエージェント
問題が発生した場合は、それをIssueとして再度エージェントに渡すことで、改善サイクルが継続されます。

このように、人間は実装そのものよりも、全体の流れを管理・判断する役割へとシフトしていく、という方向性が示されていました。
デモ
セッションでは、エージェントによる開発の具体例としていくつかのデモが紹介されていました。
その中で印象に残ったものをいくつか紹介します。
ECサイトのカートページの作成
React + Node.jsで構成されたECサイトに対して、カートページを実装するデモです。
従来であれば、
- 仕様を検討する
- 方針を決める
- 実装する
という流れで進めることが一般的です。
一方でCopilotのエージェントを利用した場合、
- 複数パターンの実装を並列で生成
- 約25分でPRを作成
- 各PRにスクリーンショットを自動添付
といった形で複数の選択肢を同時に得ることができます。
最適な案を考えて作るのではなく、生成されたものから選ぶことが可能となります。
自動コードレビューと品質チェック
Copilot Code Reviewでは、PR作成時に以下が自動で実行されます。
- 変更内容の要約
- セキュリティチェック
- 品質チェック
さらに、問題が検出された場合は、
- 修正案の提案
- ワンクリックで適用
が可能です。
人間は整理された結果をもとに判断するだけでよくなり、レビューの心理的・時間的負担は大きく軽減されるといえます。
Planning Agentによる設計支援
UIデザインや要件を入力するだけで、実装プランや技術選定の提案が行われます。
UIデザインを入力し、簡単な要件を記述することで、
- 実装プランの生成
- 技術選定の提案
- 不足要件の洗い出し
が行われます。
たとえば、認証の有無やデータ保存の方法といった観点も補完されるため、設計段階での抜け漏れを早期に減らせる点が特徴的でした。
まとめ
今回のセッションを通じて、開発フローの前提が変わりつつあると感じました。
これまでのように人間が中心となって開発フローを回すのではなく、 タスクをどう分解し、どのようにエージェントに任せるかが重要になります。
Copilotはすでに実用的なツールですが、セッションで示された内容を見る限り、今後もさらなる進化が期待できます。 今後の変化を前提に、どのように開発スタイルを適応させていくかが重要になると感じました。