
複数の LLM プロバイダーを使い始めると、ある時点で「あ、これ毎回同じようなコード書いてるな」と気づく瞬間がきます。
OpenAI で動くものを Anthropic でも試したい、Groq と比べてみたい——そういう場面で地味に手が止まる。
aisuite はそのフリクションをピンポイントで解消するライブラリです。
「どういう問題を解くか」を整理したうえで、実際に動くコードで使い勝手を確認し、LangChain・LiteLLM との使い分け基準まで言語化します。
プロバイダーをまたぐたびに増えていく「小さな摩擦」
OpenAI の SDK で書いたコードを Anthropic に持っていこうとすると、思ったより手が動かなくなります。
クライアントの初期化の書き方が少し違う。
system ロールの扱いが微妙に異なる。
レスポンスのアクセスパスも、choices[0] ではなく content[0].text になる。
Groq を追加しようとすると、また別のクライアントが増える。
1つ1つは小さい差異です。
でも「また同じような初期化コードを書いて、またレスポンス構造を調べて」という繰り返しが、実験のテンポを確実に落とします。
これは技術的負債というより、 実験速度を削るフリクション です。
正直なところ、「将来の乗り換えに備えて抽象化しておこう」という動機で動く人はあまりいません。
もっと即物的な動機——「今すぐ3つのモデルに同じプロンプトを投げて比べたい」「来週から Anthropic に切り替えたいのでコードを最小限の変更で済ませたい」——が先にあって、そのために薄いラッパーが欲しくなる。
aisuite はその需要に正直に応えています。
aisuite が選んだ「薄さ」という設計
aisuite を作った Andrew Ng は「1つの文字列を変えるだけ」という表現でこのライブラリを説明しています。
model 引数に渡す文字列を **

