LangChain は、LLM と外部のツールやデータをつなぐ処理を組み立てるためのフレームワークだ。プロンプト・モデル呼び出し・検索・後処理を Chain として連結し、判断しながらツールを使い分ける Agent も抽象化されている。RAG パイプラインなら Retriever と VectorStore の組み合わせがほぼ既製部品として揃う。
速さの正体
LangChain の利点は、ゼロから書けば配線だらけになる処理を、共通インターフェース越しに短く書ける点にある。LLM プロバイダの切り替えも差し替えやすく、「OpenAI と Anthropic でどちらが良いか試す」といった実験のサイクルを速く回せる。プロトタイピングでの初速はやはり強い。
抽象化のコストを直視する
抽象化が厚いことの裏返しの弱点もある。内部で何が起きているかが見えにくく、デバッグで結局ソースを追うことになりがちで、バージョン間の破壊的変更も少なくない。これに対しては LangSmith でチェーンの実行をトレースでき、複雑なエージェントは LangGraph でステートマシンとして明示的に組める。
バージョンとパッケージ構成の変遷
LangChain は発展の過程でパッケージ分割や API の整理が何度も行われてきた。ネット上のサンプルコードは書かれた時期のバージョンに依存しており、そのまま貼ると import が通らない、非推奨の書き方になっている、ということが起きやすい。導入時は現行ドキュメントを基準にし、依存バージョンを固定しておくと、ある日突然動かなくなる事態を避けられる。
中核ロジックは素の API も天秤に
本体は OSS で無料、LangSmith は有料プランがある。プロトタイプを素早く立ち上げる段階では恩恵が大きいが、本番の中核ロジックでは話が変わる。処理の流れが単純な RAG や 1 ステップの生成なら、フレームワークを挟まず LLM API を直接叩いた方が、挙動が読みやすくバージョン追従の負担も減る。「フレームワークの抽象化に乗る価値があるほど処理が複雑か」を基準に、機能ごとに採否を分けて判断するのが現実的だ。