1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Aiderを使ってみた話

Posted at

はじめに

先日はVue Fes Japan 2024に参加し、いろいろいい話を聞いてきました。

スポンサーLTの中で、Vue2からVue3に移行する時、Aiderというツールを使ったという話がありました。
結局人が確認しないといけないというネックはあるとの結論でしたが、7割ほどのコードが有効活用できたとのことでしたので使えそうだなと思いました。

聞いた感じすごく興味が湧いてきたため、使ってみて思ったことを書いていきたいと思います!

Aiderとは?

Aider lets you pair program with LLMs, to edit code in your local git repository.

要するに、ローカルのgit環境と言語モデルをつなげてくれるんですね。

ターミナル上でローカルのレポジトリを読み取って、コミットやPR作成までやってくれる点が特徴です。

Aiderの素晴らしい点は、このサービス自体は無料ということです。もちろん生成AIのAPIの使用料はかかりますが、ソフト自体は課金が必要ないので手軽に試すことができます。

使い方

ものすごくシンプルです。

以下のコードを実行することで簡単にインストールできます。
(環境によってコマンドが変わります、私の実行環境はM3 Macbook Airです!)

$ python3 -m pip install -U aider-chat

私はClaude信者ですので、言語モデルはClaude-3.5-sonnetにしたいと思います。

ユーザー登録の過程は飛ばし、Anthropic ConsoleからAPIキーを取得しましょう。

1.「Get API Keys」をクリック。
スクリーンショット 2024-10-27 9.08.53.png

2.「Create Key」からキーを取得します。

これ以降このキーを見ることはできないので、どこかに控えておきましょう。

スクリーンショット 2024-10-27 9.09.15.png

3. keyをターミナルで読み込ませる

Claudeを使っている場合は以下のコマンドを実行します。

$ export ANTHROPIC_API_KEY=取得したキー

4.実行

環境によってはaiderと入力するだけで実行できるらしいですが、私は以下のコマンドで実行しています。

$ python3 -m aider

注意
実行後、以下のような文言に今回選んだモデルが設定されているか確認してください。

スクリーンショット 2024-10-27 16.42.42.png

できること

生成AIに聞く

あとは、ターミナルで直接生成AIに質問することができます。

私は以下のようにプロジェクトの中で最適化できそうな箇所を探してほしいと言ってみました。

今回は英語で書いているのですが、Cluadeは日本語もできるので日本語で聞いても問題ありません。(ターミナル上だと全角のリアルタイムな入力が見られないのは少し残念...)

スクリーンショット 2024-10-27 16.46.40.png

すると、初めての質問ではAiderがレポジトリの中身を読み取る作業が始まります。
小さな個人プロジェクトだと数秒で終わりますが、大きなプロジェクトは10分ほどかかったりもします。

レポジトリの読み取りが終わると、自動的に質問に対して生成AIが答え始めます。

以下のようにどのファイルを直せばいいか教えてくれます。普段使っている生成AIでは想像できないことですね。自動的にレポジトリの中を読み取ってくれるので、すごく便利です。

スクリーンショット 2024-10-27 16.51.31.png

コスト確認も可能

返答のあとは、今回かかったトークンとコストも教えてくれます。
使用回数によっては月額で生成AIを契約することより安く使える可能性もありますね。

Claudeのログを見てみると処理によって軽いモデルに任せることもあるので裏でコストが最適化できるように動いてくれていることもわかります。

スクリーンショット 2024-10-27 17.16.12.png

プロンプトのキャッシュもサポートしているため、コスト最適化もできそうです。

また、最後の緑色の文字のところですが、実際に生成AIに参照させるファイルを追加することができます。変更しても問題ないものであったため、エンターキー連打しました。

コード生成

それからは以下画像のように生成AIがコードを書き換え始めます。

スクリーンショット 2024-10-27 16.56.41.png

コミット

最後には、コストの確認とともに、コミットまでしてくれていることがわかります。
コミット名まで勝手につけてくれる...!

スクリーンショット 2024-10-27 16.59.06.png

実際にコミットがされていることも確認できます。コミットした人の名前の後ろに(aider)が付くんですね。

スクリーンショット 2024-10-27 17.00.07.png

PR作成

次はPR作成まで頼んでみましょう。

スクリーンショット 2024-10-27 17.03.20.png

賢いAIくんはまずブランチから切ってくれました。

スクリーンショット 2024-10-27 17.04.35.png

次はpushを行ってくれます。

スクリーンショット 2024-10-27 17.04.50.png

次はエンターを連打することでPRまで作ってくれます!

おまけ

Aiderは他にも色々機能がついています。

ボイスモードを使って声で質問することもできます。

また、AiderはE2EテストのツールであるPlaywrightを使うこともでき、ネットから情報をスクレイピングすることもできます。そのため、GitHubのPRやissueを貼って質問することもできます。

他にも面白い機能がいっぱいあるのでぜひ公式ドキュメントを読んでみてください!

おわりに

普段は生成AIに何かを聞くときにいちいちコードを貼る作業が必要でした。

しかし、レポジトリを読み取ってくれることでその必要はなくなり、RAGのように動いてくれて自分でも知らなかったことについて気づくこともできます。

最近Claudeが強くなったことで、Aiderとともに使ったら生産性爆上がりの予感がしますね!
それでは良い生成AIライフを!

1
1
0

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?