> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Aider

[Aider](https://aider.chat/) は、オープンソースのターミナルベース AI ペアプログラミングツールです。大規模で活発なコミュニティを持ち、自然言語の指示に基づいてコードベースを直接編集し、git と完全に連携して動作します。

## 前提条件

* [SambaCloud](https://cloud.sambanova.ai/?utm_source=aider\&utm_medium=external\&utm_campaign=cloud_signup) アカウントと [API キー](https://cloud.sambanova.ai/apis?utm_source=aider\&utm_medium=external\&utm_campaign=cloud_signup)
* Python 3.9 以上 (`pip` でインストールする場合は 3.10 〜 3.12)
* 作業対象となる git リポジトリ (Aider はすべての編集で git を使用します)

## セットアップ

**1. Aider のインストール**

Aider が公式ドキュメントで案内しているインストール方法です。

```bash theme={}
python -m pip install aider-install
aider-install
```

これにより、Aider は専用の分離された環境にインストールされ、`aider` コマンドが `PATH` に追加されます。プロジェクトが使用する Python 環境が何であっても影響を受けません。

> [!TIP]
>
> ご自身の仮想環境への通常の `pip install aider-chat` でも動作しますが、その場合は Python 3.10 〜 3.12 が必要です。サポート外のバージョンでは、`pip` はエラーを報告せず、古い Aider リリースをそのままインストールします。`aider-install` は Aider 自身が推奨する方法であり、プロジェクトのパッケージとの依存関係の競合も回避できます。

**2. プロジェクトディレクトリへの移動**

```bash theme={}
cd /path/to/your/project
```

Aider はすべての編集で git を使用するため、このディレクトリは git リポジトリである必要があります (リポジトリでない場合は、先に `git init` を実行してください)。

**3. SambaCloud API キーのエクスポート**

Aider では、カスタムの OpenAI 互換エンドポイントを環境変数 `OPENAI_API_BASE` と `OPENAI_API_KEY` 経由で指定します。

```bash theme={}
export OPENAI_API_BASE="https://api.sambanova.ai/v1"
export OPENAI_API_KEY="your-sambanova-api-key"
```

> [!TIP]
>
> これらのエクスポートは、同じシェルにすでに設定されている OpenAI の認証情報を上書きします。両者を分けて使いたい場合は、コマンドラインで `--openai-api-base` と `--openai-api-key` を渡すか、両方の変数をファイルに記述して `--env-file` で読み込んでください。

**4. SambaNova モデルでの Aider の起動**

モデル名に `openai/` プレフィックスを付けます。

```bash theme={}
aider --model openai/MiniMax-M3
```

これで、現在の git リポジトリ内で Aider の対話型チャットが開きます。

## 利用方法

Aider に編集させたいファイルを、コマンドラインで指定します。これによりファイルが「チャットに追加」され、Aider がその内容を参照・変更できるようになります。

```bash theme={}
aider --model openai/MiniMax-M3 calculator.py
```

```text theme={}
Aider v0.86.2
Model: openai/MiniMax-M3 with whole edit format
Git repo: .git with 1 files
Repo-map: using 1024 tokens, auto refresh
Added calculator.py to the chat.

calculator.py>
```

プロンプトで、加えたい変更を平易な言葉で記述します。

```text theme={}
calculator.py> Add a function that computes a factorial
```

> [accordion] プロンプト例の日本語訳
>
> 階乗を計算する関数を追加してください

追加するのは、実際に編集が必要なファイルだけにしてください。Aider はリポジトリの残りの部分から関連するコンテキストを自動的に取り込むため、ファイルを追加しすぎるとトークンを浪費し、モデルを混乱させる可能性があります。ファイルを指定せずに Aider を起動し、依頼内容から編集対象を判断させることもできます。また、セッションの途中でチャット内コマンド `/add` を使ってファイルを追加することもできます。

Aider による変更はすべて自動的に git にコミットされるため、変更のレビューも取り消しも簡単です。意図した変更でなかった場合は、チャット内コマンド `/undo` で元に戻せます。

## 使用例: 非対話モードでの編集

`--message` を使うと、特定のファイルに対して非対話モードで実行できます。スクリプトからの利用に便利です。

```bash theme={}
aider --model openai/MiniMax-M3 --message "Add a subtract(a, b) function to calculator.py that returns a - b" calculator.py
```

> [accordion] プロンプト例の日本語訳
>
> `calculator.py` に、`a - b` を返す `subtract(a, b)` 関数を追加してください

```diff Output (abridged) theme={}
calculator.py

 def add(a, b):
     return a + b
+
+def subtract(a, b):
+    return a - b

Tokens: 746 sent, 30 received.
Applied edit to calculator.py
```

編集内容は即座にディスクに書き込まれ、git にコミットされます。

## モデルの実際のコンテキストウィンドウの登録

追加の設定がない状態では、Aider は `MiniMax-M3` を認識できず、次の警告を出力します。

```text theme={}
Warning for openai/MiniMax-M3: Unknown context window size and costs, using sane defaults.
```

これを解消するには、リポジトリのルート (またはホームディレクトリ) に `.aider.model.metadata.json` を作成します。

```json .aider.model.metadata.json theme={}
{
  "openai/MiniMax-M3": {
    "max_tokens": 1048576,
    "max_input_tokens": 1048576,
    "max_output_tokens": 1048576
  }
}
```

> [!NOTE]
>
> このファイルを配置すると警告が消え、Aider のリポジトリマップ (repo map) がデフォルトの 1024 トークンから 4096 トークンに拡大します。`MiniMax-M3` は 1048576 トークンの上限を入力と出力で共有しているため、各値が同じになっています。他のモデルのコンテキストウィンドウについては [SambaCloud モデル](https://docs.sambanova.ai/docs/ja/models/sambacloud-models.md) をご参照ください。

## トラブルシューティング

> [accordion] Warning: Unknown context window size and costs, using sane defaults
>
> Aider は SambaNova モデルのメタデータを組み込みで持っていません。上記のとおり `.aider.model.metadata.json` ファイルを追加してください ([モデルの実際のコンテキストウィンドウの登録](#モデルの実際のコンテキストウィンドウの登録) をご参照ください)。

> [accordion] モデルは応答するが、編集が適用されない
>
> 対象ファイルを引数として渡したこと (または対話型チャット内で追加したこと) を確認してください。Aider が編集するのは、チャットのファイルリストに含まれるファイルだけです。

> [accordion] command not found: aider または ModuleNotFoundError が発生する
>
> `aider-install` を使用した場合は、インストーラーが最後まで完了し、そのインストール先が `PATH` に含まれていることを確認してください。`pip install aider-chat` で直接インストールした場合は、誤って `pip install aider` を実行していないこと (これは無関係の別パッケージです) と、仮想環境が有効化されていることを確認してください。

> [accordion] 認証エラーまたは 401 が発生する
>
> Aider を実行しているのと同じシェルセッションで、`OPENAI_API_BASE` と `OPENAI_API_KEY` の両方がエクスポートされていることを確認してください: `echo $OPENAI_API_BASE` および `echo $OPENAI_API_KEY`。

## 参考情報

* [Aider ドキュメント](https://aider.chat/docs/)
* [OpenAI モデルで Aider を使用する](https://aider.chat/docs/llms/openai.html)
* [Aider の OpenAI 互換 API ガイド](https://aider.chat/docs/llms/openai-compat.html)
* [高度なモデル設定](https://aider.chat/docs/config/adv-model-settings.html)
* [SambaCloud の対応モデル](https://docs.sambanova.ai/docs/ja/models/sambacloud-models.md)
