210
134

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「Clineに全部賭ける」勇気がでないのでGitHub Copilot Agentでお安く試してみる 2025年4月追記

Last updated at Posted at 2025-02-26

はじめに

mizchiさんの記事を読んで以下の部分に衝撃を受けた。

ペアプロでいうとClineがドライバーで、ユーザーがナビゲータになる。役割を交代する。

ここ2ヶ月ほどの間自分は生成AIの作ったコードを評価するために

  • 設計,デザインパターン
  • リファクタリング
  • TDD,テストとの向き合い方

を主に学習していたが,これは自分がAIエージェントにサポートを受けることを前提に考えてのことだった。

今後,我々人間がAIのサポートをするような時代がくることを考えると,早いうちにAIエージェントとうまく付き合っていくやり方を考えるのは急務であると思われ,そのためにはAIエージェントをできるだけ自分で使ってみるべきであると思われる。

しかし,Clineをゴリゴリつかうと1時間で5ドルが飛んでいくくらしく,貧乏性な上に個人事業主でもない自分にはコストが高すぎる。

前置きが長くなってしまったが,とりあえずお安くAIエージェントと遊ぶためにGitHub Copilot AGENT MODEを使った際の防備録としてこの記事を書いた。

2025年4月4日にVS Code version 1.99がリリースされ公式にAI Agentが使用できるようになったので記載内容を多少改定した。
version 1.99リリースノート


環境構築方法

2025年4月4日以前はVS CodeのInsider版のみのサポートであったが,現在はStableバージョンのVS CodeとGitHub CopilotでAI Agentを使用できる。

VS Codeインストール/アップデート

VS Codeをインストール or version 1.99以上にアプデする。

旧手順: VS Code Insider版のインストール

Insiderでみ,AIエージェントがサポートされていた頃の旧手順

VSCodeのInsiders版をインストール

2025年2月27日現在では,GitHub Copilot AGENT MODEはVSCodeのInsiders版でのみ提供されている。

VSCode Insidersからインストールする。

CopilotとCopilot Chatのプレリリース版をインストール

Insider版のVSCodeのインストールが済んだら,CopilotとCopilot Chatのプレリリース版をインストールする。
やることは至って簡単で,通常のExtensionsを入れるのと同じだ。

AGENT MODEに切り替えてみる

AGENT MODEに切り替えるにはまず,GitHub Copilot Chatの画面から,Copilot Editに移動した後,切り替え可能になる。

  1. Copilot Chatを開く
    image.png
  2. Copilot Editに変更
    image.png
  3. AGENT MODEに切り替え
    image.png

AGENT MODEを有効化する

settings.jsonに"chat.agent.enabled": true,を追加することでAgentが有効化される。

settings.json
  "chat.agent.enabled": true,

GUIからでも設定できる。Chat AgentをEnabledに変更。

image.png


とりあえず,使ってみる

1: テストを書いてもらう

簡単なflask cliのコマンドに対する単体テストを書いてもらった。
特に許可なども求められず,新規ファイルが作成され,単体テストが作成された。

image.png

2: テストを実行してもらう

テストを実行するたびに許可が求められた。
承認されるまで動いてくれないというのも面倒なのでどうにかならないか調べてみた。

image.png

Introducing GitHub Copilot agent mode (preview)によると,

To easily intervene and undo in those situations, every tool invocation is transparently displayed in the UI, terminal tool requires approval

とあるので許可をオフにする設定は2025年2月27日現在はないようだ。

2025年4月5日現在はYOLO Modeが追加されている。
YOLOモードを有効にするとユーザの承認なしでコマンドを実行できるようになるのでClineほどではないが,ある程度ほったらかしてもAI Agentが作業を進められるようになった。

settings.json
  "chat.tools.autoApprove": true, // YOLO

GUIでのYOLO Mode有効化方法も一応記載
image.png

3. TDDをやってみる

新機能を作る前にテストを作成し,このテストが通るようにしてとAIエージェントにお願いする作戦。
個人的にはTDDをうまく使えればAIエージェントの生産性をめちゃくちゃ向上させられるのではと思っている。

  • タスクの終了条件が明確になる
  • コードのアーキテクチャ等を人間がチェックした上でAIエージェントにタスクをお願いできる

というのがやはり強いのではないか。

image.png

4. AIエージェントに対して普段から使うルールを登録しておく

Clineであれば,.clinerulesに記載しておけばある程度制御が可能らしい。
GitHub Copilotの場合.github/copilot-instructions.mdというのがこれにあたりそうなので試してみる。

自分は常にTDDで実装してもらえるように以下を追加してみた。

## 重要

実装時には必ずTDDで行ってください。

1. 依頼内容を1つの単体テストになるまで細分化する
2. 上記の単体テストを実装する
3. 単体テストをとりあえず,通すようにソースコードを書く
4. ユーザにレビューを依頼する
5. テストが通ることを確認しながら実装を進める
6. 機能ができあがったら,重複を削除するためにリファクタリングを行う

特に.github/copilot-instructions.mdをアクティブなタブとして開いていないが,上記を考慮してタスクを実施してくれてそうではある。

image.png

「語尾にござるをつけて」copilot-instructions.mdに書いてみたらちゃんとやってくれた
image.png


まとめと感想

  • Clineと違ってコマンドの承認が必要な点を考慮するとまだ,AIに任せる度合いは少なめではある。 StableバージョンにYOLOモードが追加されたので期待できる。
  • APIを叩くたびに課金されないので安心して使える。とりあえず試してAIエージェントに慣れるのは良さそう。
  • copilot-instructions.mdを書くことである程度制御ができそうなので,これの書き方には研究の余地がありそう。

備考

  • TDDをやる良い方法を「テスト駆動開発」の訳者のt_wadaさんとmizchiさんが話してるこのツリー参考になりそう
210
134
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
210
134

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?