93
54

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でお安く試してみる

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を使った際の防備録としてこの記事を書いた。


環境構築方法

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

とりあえず,使ってみる

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日現在はないようだ。

無理やりお願いしてみたがだめだった。
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に任せる度合いは少なめではある。
  • APIを叩くたびに課金されないので安心して使えるので,とりあえず試してAIエージェントに慣れるのは良さそう。
  • copilot-instructions.mdを書くことである程度制御ができそうなので,これの書き方には研究の余地がありそう。

備考

  • TDDをやる良い方法を「テスト駆動開発」の訳者のt_wadaさんとmizchiさんが話してるこのツリー参考になりそう
93
54
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
93
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?