GitHub Copilot Agent を使って非同期・完全自動で作業させてみた!

tech May 22, 2025 siraken 12 min read
GitHub Copilot Agent を使って非同期・完全自動で作業させてみた!

こんにちは、白澤です。こうやってあまり間を空けずにブログが書けるようになりたいですね(9 日ぶり)。

さて、先日 20 日に GitHub Copilot の新機能が発表されました。

GitHub Copilot:新しいコーディングエージェント

Novalumo ではこれまでも GitHub Copilot を使ってきていて、特に最近は VSCode の Copilot 周りが進化してきたので Agent モードを使ってゴリゴリ修正してもらったりしていました。

Copilot が始まったばかりの数年前は「AI がちょっとだけ補完候補を出してくれて、コーダーは Tab を押す」だけでも結構便利だったのですが、最近はより作業を任せられるようになっていて、まさに AI 恐るべし。

どんな機能が追加された?

今回追加されたのは、Copilot が GitHub Actions を使ってバックグラウンドで作業をしてくれる、というもの。イメージとしては Devin に近いかなといった感じです。作業をして PR を作ってくれるあたりは同じ。

Copilot へのタスクの振り方はいくつかあって、

  1. GitHub Copilot Chat から @github で PR を開くように依頼する
  2. GitHub Issues で Assignee に Copilot を指定する

こんな感じ。多分感覚としては 1 の方が Devin 感はあるかもしれません。が、今回は 2 の方で作業を実際にしてもらいました。

使おうとしたら契約でつまずく

まずはプランの確認。この Copilot の新機能は上記記事に記載の通り、

対象プラン: すべての GitHub Copilot Enterprise / GitHub Copilot Pro+契約者に提供されます。

とのこと。契約していたのが Copilot Pro だったので、Pro+ にアップグレードします。

ここで若干つまずく。契約中だったのが年間プランで、今回のアップグレードで月額プランに変えようとしました。理由としては、「この流行の移り変わりが早い AI 時代に年間プランを契約するのはリスクだ」という投稿を Twitter X で見かけたからです。

しかし年間 → 月額に変更しようとすると Copilot Pro+ へのアップグレードが Pending になります。どうやら年間プランの期限満了まで待たないといけないようでした。そのため、結局 Pro+ も年間プランで契約することになりました、、、

Invoice

たっけええええええええええええええええ!(まあ月額じゃないだけ良いと思え)

作業をおまかせしてみる

さて、契約も無事に完了したので早速 Copilot に作業をお願いしてみます。作業内容は AI にお任せするにはちょうど良い簡単なタスク。このブログの足りていない機能を実装してもらいました。

GitHub Issue

これは実際に Copilot Agent におまかせして作業が終わったクローズ済みの Issue です。表示の通り Assignee に Copilot を指定します。すると Issue の説明文に 👀 の絵文字が付きます(これ結構 Slack とかいろんなところで使いますよね、何気に便利な絵文字だと思う)。

絵文字がつくと早速作業を開始してくれます。まずは PR を何よりも先に作成してくれます。PR は何もコミットがないと作成できないので、Copilot はまず Initial plan for issue という空コミットを作成しています(コミット履歴が汚れる!と言われたらそこまでですが)。

PR を作成したら思考フェーズに入ります。Issue の内容からどういった作業が必要かをプランニングしてくれます。プランニングが終わると、実際に作業を開始してくれます。

PR

そしてこれが Copilot が作成してくれた PR です。PR のタイトルは Issue の内容を元に生成してくれています。この PR の説明文 は作業の進捗に応じて Copilot が何度も更新してくれます。例えば、Changes の内容は最初はチェックボックスでした。進捗があるたびチェックをつけていって、作業が全て完了するとサマリーとして箇条書きで書いてくれたりします。そもそも PR のタイトルには、最初は [WIP] と付きますが、作業完了時にタイトルも更新してくれます。

作業変更ログ

コミットして、説明文を書き換えて、タイトルも書き換えて、レビュアーに自分を指定してきて、、、本当に勝手に作業を進めてくれてます。Cloudflare Pages でデプロイしているので、Copilot のコミットがされると勝手にステージング環境にデプロイされるので、自分の環境でプルしてローカルで確認したりする必要がなかったのも体験が良かったですね。

レビューを依頼してくるので、その際に修正依頼のコメントを出したりするとその修正作業も 👀 の絵文字で反応して作業してくれます。また、レビューをする際、Approve は出せませんでした。Copilot に作業依頼をした (initiated) 本人が Approve できないよ、ということらしいです。

クローズしたPR

使ってみてそれなりに良さそうだったので、複数お願いしてみました。今回は 1 つずつお願いしましたが、Bulk update で Copilot を複数の Issue にアサインすると並列で作業してくれるらしいので今度やってみたいですね。

そして、使ってみていくつか注意点も見つけました。

使ってみてわかった注意点

npm 以外だと設定が必要かも

Copilot は GitHub Actions を使ってバックグラウンドで作業をしてくれます。基本的に package.json があるようなプロジェクトでは npm を使おうとするので、例えば Novalumo ではパッケージマネージャとして全体的に使っている Bun を使っていると、パッケージのインストール時に引っかかったり、ビルドで不具合が発生しているのかめっちゃ時間がかかったりします。

どうしよう、、、となるのですが、今回は GitHub Actions で動いている というのが肝で、CI / CD で使ったりしているいつもの Workflow ファイルのように環境をセットアップしてあげることができます。yaml ファイルですね。最低限こんな感じにしてみました。

name: Copilot Setup Steps

on: workflow_dispatch

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest

    permissions:
      contents: read

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.2.11

      - name: Install dependencies
        run: |
          bun install

このような環境のカスタマイズについては公式の Customizing the development environment for Copilot coding agent を参考にしてください。

GitHub Actions なので作業時間が気になる

GitHub Actions 上で動いている、ということは Actions のビルド時間にカウントされていそうです。実際、こんな感じで Usage が結構増えていました。

Metered Usage

個人的に「好きなところ、GitHub Actions なとこ。嫌いなとこも、GitHub Actions なとこ。」みたいな感じがちょっとしました。お手軽さは好きだけどコストも気にしなきゃ、、、みたいな。

(=LOVE の「とくべチュ、して」の歌詞、重くてすごく良いですよね。天才的。)

なので、先ほど書いたようにパッケージインストールやビルドなどで無駄に時間がかかったりすると単純に使用量が増えるので危ないです。これって Self-hosted runner 使うとコストかからないのかしら 🤔

これから「プレミアムリクエスト」を使うようになる

2025 年 6 月 4 日以降、GitHub Copilot コーディングエージェントは、エージェントが行うモデルリクエストごとに 1 つのプレミアムリクエストを使用します。

とあるように、他の Cursor などの AI ツールと同様に「プレミアムリクエスト」を消化するようになります。これまた使いすぎ注意ってとこですね。モデルごとに使用するプレミアムリクエストが違うかもしれない(これをざっくりみた感じ)ので、要確認ですね。

まとめ

ということで、GitHub Copilot の新機能を使ってみました。自律型エージェントは色々試していて、Devin はもちろん OpenHands とか使っていましたが、今回の Copilot は使いやすい方かなと思います。Devin のように非同期で作業をしてくれるのが本当に体験として良いので、今後も使いたいなと思いました。

他にも先日 Google I/O 2025 での発表もあって、最近の AI 界隈はめっちゃ盛り上がっているので、これまたキャッチアップして実際に使ってみたいですね!