Back

Aider入門:ターミナルから使うAI駆動のコーディング

Aider入門:ターミナルから使うAI駆動のコーディング

コードに対するAIアシスタンスを得るためだけにターミナルとIDEを行き来することに疲れているなら、Aiderは魅力的な選択肢となります。このオープンソースのAider AIコーディングアシスタントは、LLM駆動のペアプログラミングを直接コマンドラインにもたらし、IDEプラグインやブラウザタブを必要とせずに既存のgitリポジトリとシームレスに連携します。

重要なポイント

  • Aiderは、任意のgitリポジトリと連携し、AIペアプログラミングを直接ターミナルにもたらします
  • GPT-4シリーズ(例:GPT-4o)、Claude 3.7 Sonnet、ローカルモデルなど、複数のLLMをサポート
  • AI生成のすべての変更に対して、説明的なgitコミットを自動作成
  • クラウドモデル使用時のコストは通常、機能あたり$0.01〜0.10の範囲

Aiderとは?ターミナルファーストアプローチの理解

Aiderは、ローカルのgitリポジトリをGPT-4o、Claude 3.5 Sonnet、DeepSeekなどの最新のLLMに接続するコマンドラインツールです。IDEの拡張機能として動作するGitHub CopilotやCursorとは異なり、Aiderはコマンドライン中心の開発プラクティスに自然にフィットするAiderターミナルワークフローを採用しています。

このツールは、リポジトリマップ(基本的には関数シグネチャとファイル構造の集合)を作成し、LLMにコードベース全体のコンテキストを提供します。これにより、プロジェクトのアーキテクチャを尊重しながら、インテリジェントな複数ファイルの編集が可能になり、自動的に説明的なコミットでクリーンなgit履歴を維持します。

インストール:異なるワークフローに対応する複数の方法

pipによる簡単セットアップ

最もシンプルなインストールは、Pythonのパッケージマネージャーを使用します:

python -m pip install aider-install

独立した環境の場合は、pipxまたはuvの使用を検討してください:

pipx install aider-chat
# または
uv tool install aider-chat

Dockerによる代替方法

完全な分離またはCI/CD統合の場合:

docker pull paulgauthier/aider
docker run -it --volume $(pwd):/app paulgauthier/aider --openai-api-key $OPENAI_API_KEY

前提条件とトラブルシューティング

AiderにはPython 3.9+とgitが必要です。一般的なインストールの問題には以下が含まれます:

  • Pythonバージョンの競合:仮想環境またはpyenvを使用
  • Windows上の権限エラー:管理者としてPowerShellを実行
  • gitの欠落:システムのパッケージマネージャー経由でインストール

コアワークフロー:実践的なAIペアプログラミングCLI

セッションの開始

任意のgitリポジトリに移動し、Aiderを起動します:

cd your-project
aider

ツールはデフォルトで「コードモード」で起動し、直接ファイル編集の準備が整います。

コンテキストへのファイル追加

Aiderが作業するファイルを指定します:

# 特定のファイルで開始
aider src/main.js src/utils.js

# またはセッション中にファイルを追加
/add src/components/Button.jsx

プロのヒント:編集が必要なファイルのみを追加してください。Aiderは明示的に追加しなくても、関連ファイルから自動的にコンテキストを取得し、トークン使用量を効率的に保ちます。

自然言語による変更の実行

平易な英語(または日本語)でリクエストします:

fetchData関数にリトライロジック付きのエラーハンドリングを追加

UserServiceクラスを依存性注入を使用するようにリファクタリング

認証モジュールのユニットテストを作成

Aiderはコミット前にdiffを表示し、すべての変更の透明性を確保します。

効率的なワークフローのための必須スラッシュコマンド

AIペアプログラミングCLIの体験は、以下の主要なコマンドを中心に展開されます:

  • /add - 編集コンテキストにファイルを含める
  • /drop - トークンスペースを解放するためにファイルを削除
  • /undo - 最後のAider作成コミットを元に戻す
  • /diff - 最近の変更を確認
  • /model claude-3-5-sonnet - セッション中にLLMを切り替え
  • /tokens - コンテキスト使用量とコストを監視
  • /run pytest - テストを実行し、Aiderに失敗を修正させる

設定:APIキーと環境セットアップ

LLM接続のセットアップ

プロジェクトルートまたはホームディレクトリに.envファイルを作成します:

OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
DEEPSEEK_API_KEY=...

Ollama経由のローカルモデルの場合:

# 最初にOllamaサーバーを起動
ollama serve

# 次にAiderで使用
aider --model ollama/deepseek-coder-v2

YAMLによる高度な設定

永続的な設定のために.aider.conf.ymlを作成します:

model: gpt-4o
auto-commits: true
dark-mode: true
edit-format: diff

AiderとIDEツールの比較:適切な選択

Aiderが優れている場合

Aiderターミナルワークフローは、以下のような開発者に最適です:

  • vim、emacs、またはターミナルベースのエディタを好む
  • リモートサーバー上でSSH経由で広範に作業する
  • クリーンなコミット履歴を持つgitファーストの開発を重視
  • スクリプト可能で再現可能なAIアシスタンスが必要
  • LLMの選択とコストを完全に制御したい

IDE拡張機能と比較したトレードオフ

CopilotやCursorとは異なり、Aiderは:

  • 明示的なファイルコンテキスト管理が必要
  • インライン補完を提供しない
  • エディタの選択とは独立して動作
  • トークン使用量の完全な透明性を提供
  • チャットコマンドを介してセッション中に複数のLLM間で切り替えをサポート

コスト最適化とパフォーマンス

/tokensでトークン使用量を監視し、以下により最適化します:

  • /dropを使用して不要なファイルを削除
  • シンプルなタスクにはDeepSeekのような効率的なモデルに切り替え
  • Anthropicモデルで--cache-promptsを有効にしてプロンプトキャッシングを活用
  • プライバシーに敏感なコードにはローカルモデルを活用

GPT-4oでの機能実装あたりの典型的なコストは$0.01〜0.10の範囲で、DeepSeekやローカルモデルではさらに低くなります。

まとめ

Aiderは、AI支援開発における異なる哲学を表しています。それは、IDEの利便性よりもターミナル効率、git統合、開発者の制御を優先するものです。コマンドラインワークフローに慣れており、ターミナルを離れずに透明で強力なAIアシスタンスを求める開発者にとって、Aiderは従来のIDEベースのツールに対する魅力的な代替手段を提供します。任意のエディタで動作し、複数のLLMをサポートし、クリーンなgit履歴を維持する能力は、多様なツール選好や厳格な開発ワークフローを持つチームにとって特に価値があります。

よくある質問

はい、AiderはOllama経由でローカルモデルをサポートし、OpenAI互換の任意のAPIエンドポイントに接続できます。CodeLlamaやDeepSeekなどのモデルをローカルで実行することで、コードの完全なプライバシーと制御が可能です。

Aiderは現在のgitブランチ上で動作し、標準的なコミットを作成します。マージ中にコンフリクトが発生した場合は、gitを使用して通常通り解決します。その後、Aiderはマージされたコードを分析して、結果として生じる問題の修正を支援できます。

Aiderが行うすべての変更は、説明的なメッセージとともにgitにコミットされます。/undoコマンドを使用して最後のコミットを即座に元に戻すか、標準のgitコマンドを使用して特定の変更をcherry-pickまたはrevertできます。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay