AI フレームワークの記事を読むと「LangChain」という名前を必ず見かけるのに、結局それが何をしてくれる道具なのか像を結ばない——そんな方が多いと思います。Chain・Memory・Retrieval・Agent と機能名が並ぶほど、かえって「で、私は何をすればいいの?」と迷子になりがちです。
私自身、業務では LangChain を必要な場面でだけ部分的に使い、主軸は公式 SDK(Anthropic / OpenAI / Google)を直接呼ぶ自前の組み方です。そこでこの記事は機能の網羅より、「LangChain は結局何の道具か」と「使うとき・使わないときの判断軸」を背骨に置いて整理します。読み終えるころには、名前に振り回されず、自分の用途で要るか要らないかを判断できる状態を目指します。
最短で全体像だけ掴みたい方は、結論の一行マップと使う・使わないの判断軸の 2 つだけ先に読んでも大丈夫です。
結論とLangChainの正体|「部品を連結するレゴブロック箱」と読み方・由来
📖 この章で使う用語
- LangChain(ラングチェーン):LLM アプリの部品(プロンプト・モデル・検索・記憶・ツール)をつなぐためのフレームワーク。LLM アプリ用の「レゴブロック箱」のイメージ。
- フレームワーク:よくある処理の「型」をあらかじめ用意してくれる土台。毎回ゼロから組まなくて済む道具箱。
- LLM(大規模言語モデル):ChatGPT や Claude の正体。膨大な文章を学習した「次の言葉を予測する装置」。
- 直 API:Anthropic や OpenAI などの公式の窓口を直接呼ぶこと。フレームワークという包みを挟まない方法。
結論から言うと、LangChain は「LLM を使ったアプリを組むときに、部品を連結する土台」です。LangChain 公式は自身を「エージェントと LLM を使ったアプリケーションを作るためのフレームワーク」と説明しています(LangChain Overview|公式ドキュメント、取得:2026-06-09)。一言にすると「LLM アプリ用のレゴブロック箱」で、よく使う処理(複数のモデルを呼ぶ・文書を検索する・会話を覚える・外部ツールを使う)を、毎回ゼロから書かずに組み合わせられます。
ただ、私は業務で LangChain にすべてを任せてはいません。主軸は公式 SDK を直接叩く自前の組み方で、「ここは LangChain に乗せると楽だ」という場面で部分的に使う立場です。だからこの記事は機能を端から並べるチュートリアルではなく、「何の道具か」と「自分の用途に要るのか」を判断するための地図として書きます。
本記事で扱うのは LangChain 本体の概念です。次のテーマはそれぞれ専門の記事に送ります。
- LangChain と LangGraph の違いの深掘り:LangGraph とはへ(本記事は違いの要点だけ)
- RAG そのものの基礎:RAG とはへ
- ベクトル検索ライブラリ:FAISS とはへ
- AIエージェント構築の全体像(4ルート比較):AIエージェント 作り方へ
- LLM そのものの基礎:LLM とはへ
読み方・名前の由来と、なぜ生まれたか
読み方は「ラングチェーン」です。「Lang」は Language(言語)の頭で、「Chain」は処理を数珠つなぎにすること。つまり「言葉を扱う処理を、数珠つなぎにする道具」というのが名前の由来です。
LangChain は OSS(オープンソース)で、本体のライセンスは MIT、本体そのものは無料で使えます(langchain-ai/langchain|GitHub、取得:2026-06-09)。Python 版と JavaScript / TypeScript 版があり、本記事は Python を前提に進めます。
LLM 単体は「質問すると答えを返す」ことはできても、「手元の文書を読む」「前の会話を覚えておく」「外部のツールを呼ぶ」といった作業は、自分でつなぎのコードを書かないとできません。そのつなぎの部分を定番の型としてまとめてくれたのが LangChain です。商談の「アポ → ヒアリング → 提案 → クロージング」のような一直線の流れ(フロー)を処理に置き換えたもの、と考えると入りやすいと思います。
何ができるか|Models・Chains・Memory・Retrieval・Agent の役割
📖 この章で使う用語
- Models(モデル):LLM を呼ぶための共通の窓口。Anthropic でも OpenAI でも、同じ作法で呼べるようにする部分。
- Prompts(プロンプト):AI への指示文を組み立てる部分。営業時代の「話す前に整える台本」のイメージ。
- Chains(チェーン):処理を一方向に数珠つなぎにする部分。名前の由来。
- Memory(メモリ):会話の履歴・文脈を覚えておく仕組み。
- Retrieval(リトリーバル):外部の文書から関連情報を検索して取り出すこと。RAG の土台。
- Agents(エージェント):AI が自分で手順を考えてツールを使う仕組み。
LangChain ができることは、ざっくり「LLM を中心に置いて、その周りの定番の部品を組み合わせること」です。公式ドキュメントでは、モデル・埋め込み・ベクトルストア(あとで出てくる検索のための保存先)などに対して「共通のインターフェース(窓口)」を提供する、と説明されています(LangChain Overview|公式ドキュメント、取得:2026-06-09)。下の図が、その「部品箱」の全体像です。
中核の部品が「何を肩代わりしてくれるか」を一覧にすると、こうです。
| 部品 | 何を肩代わりするか |
|---|---|
| Models | LLM を呼ぶ共通の窓口。Claude と GPT の呼び方の違いを吸収し、同じ作法で呼べる |
| Prompts | 指示文の組み立て。「この変数をここに差し込む」を、手で文字列をつなぐより整理された形で書ける |
| Chains | 「プロンプトを組む → モデルを呼ぶ → 答えを整形する」を一本の流れにする。名前の由来 |
| Memory | 会話の履歴・文脈を覚える。LLM 単体は持たない「前のやりとり」を踏まえた返答にする |
| Retrieval | 外部文書から関連情報を検索して取り出す。RAG の土台 |
| Agents | AI が自分で手順を考えてツールを使う仕組み |
このうち Retrieval と Agents は特に深いテーマなので、RAG での使われ方とAgent での使われ方で個別に扱います。さらに踏み込んだ全体像はRAG とは・AIエージェント とはへ。
つなぎ方とRAG・Agent|LCELの「|でつなぐ」書き方から実用パターンまで
📖 この章で使う用語
- LCEL(LangChain Expression Language):
prompt | model | parserのように、|(パイプ)で部品をつなぐ書き方。- Runnable(ランナブル):LCEL でつなげる、共通の作法を持った部品の単位。
- パイプ(
|):左の出力を右の入力に渡す記号。工場のベルトコンベアのイメージ。- langchain-community:コミュニティ製の外部連携部品をまとめたパッケージ。
近年の LangChain を理解するうえで外せないのが LCEL(LangChain Expression Language)です。これは prompt | model | parser のように、|(パイプ)で部品をつなぐ書き方を指します。| は「左の出力を、右にそのまま渡す」という意味で、工場のベルトコンベアを想像すると分かりやすい。素材(入力)が左から流れ、各工程(部品)を通り、最後に製品(答え)が出てくる流れです。その「ベルトコンベアに乗せられる部品」の単位が Runnable で、LangChain の部品は共通の作法を持つので | で素直につなげられます。
私自身の使用感も書いておきます。| でつなぐ書き方は読みやすく、後から部品を差し替えやすい良さがあります。ただ薄い処理(プロンプトを一回投げて答えを受け取るだけ)では、LCEL でも公式 SDK 直叩きでも体感はあまり変わりませんでした。| の恩恵が効くのは、つなぐ部品が増えて分岐や差し替えが多くなったときです。この感覚は後の判断軸につながります。
外部サービスとの連携部品は langchain-community というパッケージにまとまっています。細かい仕様は版によって変わるので、使うときは公式ドキュメントで自分の版を確認するのが安全です。
RAG での使われ方|検索の前後の「つなぎ」を肩代わりする
📖 この章で使う用語
- RAG(検索拡張生成):外部文書を検索して、その内容を LLM の回答に使う仕組み。
- 埋め込み(embedding):テキストを「意味を表す数値の並び」に変える操作。「カレー」と「シチュー」を近い場所に置くような変換。
- ベクトルDB:意味が近いものを素早く取り出せる保存先。本屋の「ジャンル別の棚」のイメージ。
RAG(検索拡張生成)は、手元の文書を検索してその中身を LLM の回答に使う仕組みです。社内マニュアルや議事録のように「LLM が学習していない自分たちの文書」を答えに反映させたいときに使います。LangChain で組む典型的な流れは、文書を扱いやすいサイズに分割 → 埋め込み(意味を表す数値)に変換 → ベクトルDB に入れる → 質問が来たら近いものを検索 → 取り出した文書を LLM に渡して答えさせる、というもの。この一連の「つなぎ」を定番の型として提供してくれます。
私の実際の組み方も書いておきます。RAG を全部 LangChain に任せるのではなく、検索の中心になるベクトルDB(業務では FAISS や Chroma を使うことが多い)は直接扱い、その前後の「つなぎ」だけ LangChain に乗せてきました。検索の精度や挙動は RAG の心臓部なので、自分の手で握っておきたいという判断です。ローカルで動かす構成(Ollama など)にも対応していますが、これも必要な部分だけ使うのが私のやり方です。
RAG の基礎、ベクトル検索の中身はRAG とは・FAISS とはに詳しく書いています。本記事は「LangChain が RAG のどこを肩代わりするか」に絞ります。
Agent での使われ方|「考えて道具を使う」ループと、LangGraph の境目
📖 この章で使う用語
- AgentExecutor:Agent が「考える → ツールを使う → 結果を見てまた考える」を回す実行係。
- Tools(ツール):Agent が使える外部の道具(検索・計算・API 呼び出しなど)。
Agent(エージェント)は、AI が自分で手順を考えながらツールを使い、タスクを進める仕組みです。「答えを一回返す」LLM に「考えて、道具を使って、また考える」という動きを足したもの、と捉えると分かりやすい。LangChain では、このループを回す実行係(AgentExecutor 的な役割)と、Agent が使える道具(Tools)を組み合わせて作ります。
ただし注意点があります。LangChain の素直な Agent は「一直線寄り」の流れに向いています。途中で行ったり来たりしたい、条件で枝分かれしたい、何度もループさせたい——といった「状態を持つ複雑なフロー」が必要になると、LangGraph のほうが向いてきます。
エージェント構築の全体像(作り方の選択肢)はAIエージェント 作り方に、外部ツール連携の標準的な仕組みはAIエージェント MCPに送ります。
LangChain と LangGraph の違い|一方向のチェーンか、状態を持つグラフか
📖 この章で使う用語
- グラフ(graph):処理を点(ノード)と線(エッジ)で表した構造。行ったり来たり・枝分かれができる。
- State(状態):処理の途中経過を持ち回す入れ物。
違いを一行でいうと、「LangChain=部品とチェーン(基本は一方向)/LangGraph=状態とグラフ(行き来・分岐・ループができる)」です。LangGraph は LangChain の発展形と位置づけられ、公式も「より高度な制御やエージェントの組み立てが必要なとき」のための枠組みとして紹介しています(LangChain Overview|公式ドキュメント、取得:2026-06-09)。
| LangChain | LangGraph | |
|---|---|---|
| 得意な処理 | 一直線の流れ(つなぐ) | 行き来・分岐・ループのある流れ |
| 構造の単位 | チェーン(数珠つなぎ) | グラフ(点と線) |
| 状態の持ち回し | 基本はシンプル | State で明示的に持ち回す |
| 向く場面 | 定番の連結・薄めの処理 | 複雑な制御が要るエージェント |
用途次第で、一直線で済むなら LangChain(や直 API)、状態・分岐・ループが要るなら LangGraph、というのが私の目安です。State・ノード・エッジの中身や最小サンプルでの深掘りは、親記事のLangGraph とはへ。
Pythonの始め方・料金・判断軸|最小サンプルから「使う/使わない」の線引きまで
📖 この章で使う用語
- pip:Python のライブラリを入れる道具。スマホにアプリを入れる感覚。
- パッケージ:機能ごとにまとめられたライブラリの単位。
始め方はシンプルで、pip install langchain で本体を入れ、使う LLM のプロバイダに合わせた部分を追加で入れます。公式ドキュメントでは、プロバイダ別のパッケージを合わせて入れる書き方が案内されています(LangChain Overview|公式ドキュメント、取得:2026-06-09)。
インストール(langchain + プロバイダ別パッケージ)
# 本体を入れる
pip install langchain
# 使うプロバイダに合わせて追加(Anthropic の Claude を使う例)
pip install "langchain[anthropic]"
# OpenAI なら langchain[openai]、Google Gemini なら langchain[google-genai]
Python のバージョンは、新しめのものが必要になることが多いです。これは版によって変わるので、入れる前に公式ドキュメントで自分が使う版の要件を確認するのが確実です。
最小の流れ(prompt | model を 1 回動かす)
# プロンプト → モデル を | でつなぐ、最小の流れ
from langchain.prompts import ChatPromptTemplate
from langchain_anthropic import ChatAnthropic
# APIキーは環境変数(ANTHROPIC_API_KEY 等)から読む想定。コードに直書きしない
prompt = ChatPromptTemplate.from_template("{topic} を、小学生にも分かるように一言で説明して")
model = ChatAnthropic(model="claude-sonnet-4-5")
chain = prompt | model # ベルトコンベアに乗せるイメージ
answer = chain.invoke({"topic": "LangChain"})
print(answer.content)
新しいフレームワークでは「いきなり全機能を使おうとせず、まず最小で 1 回動かす」のが大事だと思っています。最小サンプルが 1 回動くと、そこから先の理解がぐっと速くなります。
API キーの発行先はAnthropic Console 使い方・Anthropic API・Gemini API 使い方へ。日本語対応は、LangChain は土台で言語に依存しないため、使うモデルが日本語に対応していれば問題なく動きます。
料金|本体は無料、有料は LangSmith・Platform・LLM API
📖 この章で使う用語
- LangSmith:LLM アプリの動きを記録・観測・評価するサービス。無料枠と有料枠がある。
- LangGraph Platform:作ったアプリを動かす・公開する(デプロイする)ためのサービス。
- 従量課金:使った分だけ料金がかかる方式。
LangChain 本体(OSS / MIT)は無料です。お金が関わってくるのは、主に次の 3 つです。
- LangSmith(アプリの動きを記録・観測・評価するサービス)
- LangGraph Platform(作ったアプリを動かす・公開するサービス)
- 実際に呼ぶ LLM API の従量課金(Claude / GPT / Gemini を呼んだ分の料金)
LangSmith には無料の Developer プランがあります。公式の料金ページでは Developer は「$0 / seat per month、その後は従量課金」、Plus は「$39 / seat per month、その後は従量課金」と案内されています(LangChain Pricing|公式、取得:2026-06-09)。金額やプラン構成は変更されることがあるので、申し込む前に公式の料金ページで最新を確認してください。
つまり「学ぶ段階・最小サンプルを動かす段階では本体は無料で、お金の心配はほぼいらない」ということです。コストがかかるのは、呼ぶ LLM API の分と、観測・デプロイの周辺サービスを本格的に使い始めてからです。
使う・使わないの判断軸|直 API+自前との線引き
📖 この章で使う用語
- 自前パイプライン:フレームワークに頼らず、必要な処理だけを自分のコードで組んだ流れ。
- オーバーエンジニアリング:必要以上に複雑に作り込んでしまうこと。
ここがこの記事でいちばん伝えたいところです。私の立ち位置は「主軸は公式 SDK の自前の組み方、LangChain は必要な場面でだけ部分的に使う」。絶対に正解とも不要とも思っておらず、適材適所だと考えています。
私が「LangChain に乗せると楽だ」と感じるのは、こういう場面です。
- 複数のプロバイダを差し替えたいとき:Claude と GPT を場面で切り替えたい、といった要件で、共通の窓口が効く
- RAG や Agent の定番処理を素早く組みたいとき:つなぎを毎回ゼロから書かずに済む
- チームで共通の型を持ちたいとき:人によって書き方がばらつくのを抑えられる
- つなぐ部品が多く、分岐や差し替えが頻繁なとき:
|で組む読みやすさが効いてくる
反対に、「直 API + 自前で十分」と感じる場面はこうです。
- 一直線の薄い処理:プロンプトを投げて答えを受け取るだけなら、フレームワークを挟む意味が薄い
- 依存と学習コストが見合わないとき:版が変わると書き方も変わるので、薄い用途では維持コストのほうが重く感じることがある
- 後から読み返す保守性を最優先したいとき:自分のコードだけのほうが、半年後の自分が追いやすい場面もある
「これは本当に LangChain が要る処理か?」を一度立ち止まって自問するのを、私は習慣にしています。シンプルな処理にまで重い枠組みを被せると、オーバーエンジニアリング(必要以上の作り込み)になりがちだからです。未経験のうちは「とりあえず有名な LangChain を入れておけば安心」と思いがちですが、まず素の API で 1 回動かし、「これは自分で書くと面倒だな」と感じた部分から乗せていく順番のほうが、結果的に道具に振り回されずに済むと思います。
つまずきポイントと対処|版ずれ・パッケージ迷子・被せすぎ
📖 この章で使う用語
- langchain-core:LangChain の中核部分だけをまとめたパッケージ。
未経験の方がハマりやすい点を、私自身が引っかかった対処とセットで挙げます。
- 版が違ってコードが動かない:LangChain は変化が速く、少し前の記事のコードがそのままでは動かないことがよくあります(写経したらインポートの書き方が変わっていた、など)。対処は公式ドキュメントで自分の版の書き方を確認すること。
- パッケージが分かれていて迷う:
langchain/langchain-core/langchain-community/ プロバイダ別(langchain-anthropicなど)と分かれ、「結局どれを入れればいいの?」となりがち。対処はまず本体と使うプロバイダのパッケージから入れ、足りなければ後から足す。 - 最初から全機能を使おうとして挫折:ドキュメントが膨大なので、全部理解してから書こうとすると進みません。対処は最小で 1 回動かすを起点にすること。
- LangChain と LangGraph の責務を混同:「一直線か、行き来・分岐があるか」で住み分けるのがコツ。迷ったら違いの一行に立ち返る。
- 「とりあえず LangChain」で被せすぎる:薄い処理にまで枠組みを被せると重くなります。対処は判断軸に立ち返ること。
まとめ|「部品を連結する土台」、フル依存より適材適所
背骨をもう一度。LangChain は「LLM アプリの部品(モデル・プロンプト・検索・記憶・ツール)を連結する土台」です。単発の薄い処理なら直 API でも足り、状態・分岐・ループのある複雑なフローなら LangGraph が向く。大事なのは機能を全部覚えることより、「自分の用途に、これは要るのか」を判断できることだと思います。
次の一歩は興味のある方向へ。違いを知りたいならLangGraph とは、検索を組みたいならRAG とは、エージェントを作りたいならAIエージェント 作り方、そもそもの LLM を押さえたいならLLM とはへ。最初は名前の多さに圧倒されると思いますが、「まず最小で 1 回動かす」を起点にすれば、一つずつ像を結んでいきます。この積み重ねを職種として捉えたくなったら生成AIエンジニアになるにはもどうぞ。
よくある質問
Q1: LangChain の読み方は?
A. 「ラングチェーン」です。「Lang」は Language(言語)の頭、「Chain」は処理を数珠つなぎにすること。「言葉を扱う処理を、数珠つなぎにする道具」が名前の由来です。
Q2: LangChain と LangGraph は、どちらを使えばいいですか?
A. 用途次第です。一直線の流れなら LangChain(や直 API)、行き来・分岐・ループのある複雑な流れなら LangGraph が向きます。どちらが絶対に優れているという話ではありません。深掘りはLangGraph とはへ。
Q3: LangChain は無料で使えますか?
A. 本体は OSS(MIT)で無料です。費用が関わるのは LangSmith / LangGraph Platform などの周辺サービスと、実際に呼ぶ LLM API の従量課金です。金額・プランは変更されることがあるので、公式の料金ページで最新を確認してください。
Q4: Python が必須ですか?
A. 本記事は Python を前提にしています。JavaScript / TypeScript 版もあります。まずは Python で最小サンプルを動かすのが、いちばん分かりやすいと思います。
Q5: 未経験でも触れますか?
A. 最小サンプルなら動かせます。LLM や API の基礎があると理解が速いので、不安なら先にLLM とは・RAG とはに目を通しておくのがおすすめです。
関連記事
- LangGraph とは:LangChain の発展形。状態・分岐・ループのあるフローの組み方を深掘り(親ハブ)
- RAG とは:LangChain の Retrieval が支える「検索拡張生成」の全体像
- FAISS とは:RAG の心臓部、ベクトル検索ライブラリの中身
- AIエージェント 作り方:Agent 構築の選択肢を 4 ルートで俯瞰
- LLM とは:ChatGPT や Claude の中身、生成 AI の土台を整理
- LM Studio 使い方——ターミナル不要の GUI でローカル LLM を入れる→モデル管理→OpenAI 互換 API まで、Ollama との使い分けも整理
営業 7 年から生成AIエンジニアになった aikun が、業務で LangChain を「使うとき・使わないとき」で線引きしてきた手触りをもとに書いています。
※本記事の料金・仕様は 2026-06-09 時点で公式ドキュメントを確認したものです。LangChain は変化が速いため、実際に使う際は必ず公式の最新情報をご確認ください。内容に誤りを見つけられた場合は、お問い合わせ(send@bon-bon-tools.com)からご連絡いただけると助かります。
出典
- LangChain Overview|LangChain 公式ドキュメント(取得:2026-06-09)
- langchain-ai/langchain|GitHub(取得:2026-06-09)
- LangChain Pricing(LangSmith)|LangChain 公式(取得:2026-06-09)