この記事の要約
LangChain を company metric の物語ではなく、LangChain、LangGraph、LangSmith、Deep Agents の役割分担から読み直す。agent loop、middleware、persistence、human-in-the-loop、eval を軸に導入判断を整理する。
LangChain を今読むなら、企業スナップショットや人気指標の話よりも先に、どのレイヤーが何を担当するのか を切り分ける方が実務的です。
現行の公式 docs では、LangChain は agent を素早く組み始めるための framework、LangGraph は長時間・状態付きの orchestration runtime、LangSmith は observability と eval、Deep Agents はそれらを束ねた batteries-included な harness として整理されています。
最初に押さえたい current state の見方
本記事の表記について
関連記事: 軽量な handoff 設計から見たい場合は OpenAI Swarmとは?Agent と Handoff で学ぶ軽量マルチエージェント設計 も参考になります。
| 項目 | 内容 |
|---|---|
| トピック | LangChain ecosystem の current guide |
| 主な一次情報 | LangChain docs、LangGraph docs、LangSmith docs、LangChain GitHub |
| 中核レイヤー | LangChain、LangGraph、LangSmith、Deep Agents |
| 向いている読み方 | 役割分担、state 管理、運用境界を整理する導入ガイド |
| 先に見るべき論点 | agent loop、middleware、checkpoints、thread_id、tracing、eval |
LangChainエコシステム古い LangChain 記事が読みづらくなる理由は、framework、runtime、deployment、quality review を全部「LangChain」という1語で説明してしまうからです。
現行 docs は、ここをかなり明確に分けています。
この切り分けを先に理解しておくと、「簡単に始めたい」の話と「本番で止まらずに再開したい」の話を混同しなくなります。
| レイヤー | 何を担当するか | どんなときに使うか |
|---|---|---|
| Deep Agents | planning、subagents、virtual filesystem、long-term memory をまとめた harness | まず複雑な agent を最短で動かしたい |
| LangChain | agent loop、models、tools、messages、middleware | custom agent を比較的高い抽象度で作りたい |
| LangGraph | durable execution、persistence、interrupts、memory、subgraphs | 長時間実行、approval、state 再開、細かい orchestration が必要 |
| LangSmith | tracing、dashboards、alerts、datasets、offline / online evals | demo を超えて品質測定、回帰検知、運用観測を回したい |
大事なのは、これらを全部同時に採用しなければならないわけではないことです。PoC なら LangChain だけで始めてもよいですし、既に独自 runtime があるなら LangSmith だけで observability を入れる選択もあります。
LangChain overview は、LangChain を prebuilt agent architecture と integrations for any model or tool を備えた open source framework と説明しています。要するに、最初の価値は「複雑な graph を自作する前に、tool-calling agent を短いコードで組める」ことです。
現行 docs の最小例は次のような形です。
from langchain.agents import create_agent
def get_weather(city: str) -> str:
return f"It's always sunny in {city}!"
agent = create_agent(
model="anthropic:claude-sonnet-4-6",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
このレイヤーで整理したいのは、派手な benchmark ではなく次の 4 点です。
middleware docs では、LangChain の middleware を agent 実行の各段階を制御する仕組みとして説明しています。logging、tool selection、retries、fallbacks、rate limits、PII detection、human approval を agent loop の中に差し込めるのがポイントです。
from langchain.agents import create_agent
from langchain.agents.middleware import (
HumanInTheLoopMiddleware,
SummarizationMiddleware,
)
agent = create_agent(
model="openai:gpt-4.1",
tools=[search_docs, send_email],
middleware=[
SummarizationMiddleware(...),
HumanInTheLoopMiddleware(...),
],
)
LangChain を単なる「便利 wrapper」としてではなく、tool 実行の境界をどこに置くかを制御する層 と見ると、採用判断がかなり現実的になります。
LangGraph overview は、LangGraph を long-running, stateful agents のための low-level orchestration framework と説明しています。ここで重要なのは、「高機能だから使う」ではなく、途中停止、再開、分岐、承認、履歴追跡 が必要になったら必要になる、ということです。
LangGraph docs で繰り返し出てくるキーワードは次の通りです。
persistence docs では、graph state を step ごとに checkpoint として保存し、thread 単位で履歴を管理する仕組みが中心に置かれています。これにより次が可能になります。
つまり LangGraph では、agent は「毎回ゼロから考える関数」ではなく、thread と checkpoints を持った runtime 上の process として扱われます。
interrupt docs の実例では、interrupt() を呼ぶと graph execution が停止し、state が保存され、外部入力を受け取ってから Command(resume=...) で再開できます。
from langgraph.types import Command, interrupt
def approval_node(state):
approved = interrupt("Do you approve this action?")
return {"approved": approved}
config = {"configurable": {"thread_id": "thread-1"}}
graph.invoke({"input": "draft"}, config=config)
graph.invoke(Command(resume=True), config=config)
この仕組みから読み取れる設計原則は明快です。
thread_id で再開するLangChain で prototype が作れても、本番の approval workflow や長時間タスクで詰まるのはこのあたりです。
Deep Agents overview では、Deep Agents を planning、file systems、subagent-spawning、long-term memory を備えた agent harness と位置づけています。LangChain の agent loop を核にしつつ、LangGraph runtime 上で durable execution や human-in-the-loop を利用する構成です。
ここからわかるのは、Deep Agents は LangChain の代替というより、LangChain の上に置く実装済みの運用ひな形 だということです。
Deep Agents を使っても、最終的に見るべき論点は消えません。
batteries-included で始めても、production で問われるのは結局 責務分割、state 境界、tool 権限 です。
Deep Agents階層構造LangSmith observability docs は、tracing、view traces、dashboards、alerts、automations、feedback collection を中心機能として整理しています。LangSmith の eval docs は、offline eval と online eval を分けて、dataset、evaluators、experiments、feedback loop を回す流れを説明しています。
ここでの本質は、LangSmith を「ログ可視化ツール」とだけ見ないことです。
多くのチームが agent 導入で詰まるのは、「いい demo が出る」までは速い一方で、「悪化をどう検知するか」が未設計なまま本番へ行くからです。LangSmith を読む価値はまさにそこにあります。
LangChain v1 docs は、create_agent を標準の入口に寄せ、langchain namespace を agent building に集中させ、古い chains や retrievers などの legacy 機能を langchain-classic へ移したことを明示しています。
これは重要です。なぜなら、LangChain の学習コストの多くは「難しい理論」ではなく、古い sample と current docs の距離 から生まれるからです。
| 確認項目 | なぜ重要か |
|---|---|
create_agent か | current docs の基本導線に乗れているかを判断しやすい |
langchain-classic 依存 | 旧 tutorial 由来の code path が混ざっていないか確認できる |
| tool 権限 | 危険な action を middleware や approval で止められるか |
thread_id 設計 | run 再開、memory、human review をどう紐づけるかが決まる |
| tracing / eval | 失敗例を trace と dataset に戻せるか |
旧記事や notebook には、LLMChain、旧 OpenAI wrapper、古い retrieval API を中心にした例が今も多く残っています。これらが即座に無価値というわけではありませんが、今から新規導入するなら、現行 docs が何を標準としているか を優先した方が運用しやすくなります。
比較表だけで選ぶと、LangChain はたいてい「高機能だが複雑」と要約されます。ですが実務では、もっと具体的な問いの方が役に立ちます。
LangChain と LangGraph は open source として公開されています。LangSmith や managed deployment の料金・プランは変わりうるため、採用前に current pricing page を確認するのが安全です。
まず agent を早く組みたいなら LangChain、途中停止や再開、approval、stateful workflow を最初から強く意識するなら LangGraph です。現行 docs は、さらに簡単な入口として Deep Agents も用意しています。
LangChain v1 で入口と namespace がかなり整理され、legacy 機能の一部が langchain-classic に移ったためです。現行 docs の create_agent と migration guide を基準に読むと整理しやすくなります。
軽い approval なら middleware で表現できますが、途中停止した state を保存して後で再開する ところまで必要なら LangGraph の interrupts と persistence を理解した方が安全です。
必要です。agent は prompt、tool、model、data source の組み合わせで品質が揺れやすく、offline / online の両面で見ないと regressions を見落としやすくなります。LangSmith docs は、この feedback loop をかなり具体的に整理しています。
agent loop を素早く組み始めるための高レベル framework です。ただし本番運用まで見据えるなら、LangGraph の state 管理と LangSmith の observability / eval をどこで併用するかまで含めて設計した方が失敗しにくくなります。
LangChain を今読む価値は、かつての headline story をなぞることではなく、agent stack の責務分解 を学べる点にあります。
create_agent と middleware の current API を確認する本記事はネクサフローのAI研究シリーズの一部です。
この記事の著者

代表取締役
早稲田大学卒業後、ソフトバンク株式会社にてAI活用やCEO直下案件のプロジェクトマネージャーに従事。その後、不動産スタートアップPit in株式会社の創業、他スタートアップでの業務改善・データ活用を経験後、2023年10月、株式会社ネクサフローを創業し代表取締役CEO就任。