Aiderとは何か

Aiderは、ターミナルでLLMと会話しながらコードを修正できるオープンソースのCLIツールだ。Paul Gauthier氏が開発し、GitHubで公開されている。Claude Codeと同じくターミナルで動くコーディングエージェントだが、設計の思想が少し異なる。

Aiderの最大の特徴はgitとの深い統合だ。AIが加えた変更を自動的にgitコミットする仕組みが組み込まれており、変更の追跡とロールバックが容易になっている。「AIがこっそり変えた」という不安感が少ないのはこのためだ。

インストール方法

pipまたはpipxでインストールできる。Pythonの環境が必要だ。

pip install aider-chat

環境の汚染が嫌な場合はpipxが便利だ。

pipx install aider-chat

インストール後、使うモデルのAPIキーを環境変数に設定する。Claudeを使う場合は以下の通り。

export ANTHROPIC_API_KEY=your_api_key

基本的な使い方

プロジェクトのルートディレクトリでaiderコマンドを実行すると起動する。

aider

起動後、AIと会話するプロンプトが表示される。ファイルを指定して作業させることもできる。

aider src/utils/date.ts src/utils/format.ts

こうすると、指定したファイルがコンテキストに読み込まれた状態で会話が始まる。

会話の例

> date.tsのformatDate関数を、タイムゾーンに対応した実装に書き直して

こう指示すると、Aiderはファイルの内容を読み、修正案を提示し、承認後に自動でgitコミットする。コミットメッセージも自動生成される。

git連携の仕組み

Aiderの特徴的な機能のひとつがgitとの自動連携だ。AIが変更を加えるたびに、その変更内容を説明したコミットメッセージが自動生成される。たとえばこんなコミットメッセージが残る。

aider: formatDate関数にタイムゾーン引数を追加し、Intl.DateTimeFormatを使って変換するよう修正

これにより、AIが何を変えたかの履歴が明確に残る。問題があればgit revertで元に戻せる安心感がある。

使えるモデル

AiderはOpenAIとAnthropicの主要モデルに対応している。また、Ollamaを通じたローカルモデルにも対応しているため、APIコストをかけずに試すことも可能だ。

デフォルトモデルを指定するには起動時に--modelオプションを使う。

aider --model claude-3-5-sonnet-20241022

Claude Codeとの比較

Claude Codeと比べたとき、Aiderの強みと弱みを整理しておく。

Aiderの強みはオープンソースである点と、モデルの選択肢の広さだ。Anthropic以外のモデルも使えるため、コストの最適化がしやすい。またgit連携の設計が明示的で、変更の追跡が容易だ。

弱みは、コンテキストの管理を自分で行う必要があることだ。Claude Codeはリポジトリを自律的に探索するが、Aiderは基本的に「どのファイルを参照させるか」を明示的に指定する。大規模なリポジトリで広い範囲の作業を任せる場合、Claude Codeの方が得意だ。

実践的な活用例

小規模なスクリプトの修正や、特定ファイルの書き直しにはAiderが使いやすい。たとえば以下のような用途に向いている。

  • 既存のPythonスクリプトに引数パーサーを追加する
  • 複数ファイルにわたる変数名のリネーム
  • テストを書いていない関数に対してunittestを追加する
  • 古い書き方で書かれたコードを現代的なスタイルに書き直す

これらの作業はスコープが明確なため、Aiderの「ファイルを指定して作業させる」スタイルとの相性が良い。

まとめ

Aiderは、オープンソースでモデルを自由に選べる点と、gitとの自動連携が設計に組み込まれている点が特徴的なCLIコーディングツールだ。Claude Codeと競合するというより、用途によって使い分けるのが現実的だ。特に既存コードの局所的な修正やリファクタリングを繰り返す場面では、Aiderの使い勝手は良い。まずは手元の小さなプロジェクトで試してみることをすすめる。