0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LangChain 1.0 徹底解説:エージェント中心設計で始まる新アーキテクチャ

Posted at

LangChain 1.0が2025年10月に正式リリースされました。
今回のアップデートは「単なるメジャーアップデート」ではなく、LangGraph統合によるアーキテクチャの再定義と、エージェント設計の完全リニューアルを特徴としています。

この記事では、

  • 旧バージョンとの違い
  • 新API create_agent の使い方
  • Middleware・Structured Outputのしくみ
  • Content Blocksによる観測可能性強化
    をコード付きで解説します。

1. LangChain 1.0の全体像

新構成(Namespace再編)

LangChain v1ではモジュール構成が整理されました:

モジュール 機能 備考
langchain.agents create_agent, AgentState 標準エージェント構築API
langchain.messages content_blocks など 新メッセージ形式
langchain.tools @tool, BaseTool ツール登録を統一
langchain.chat_models 統一的モデル初期化 init_chat_model()
langchain-classic 旧Chain機能 段階的互換性維持

これにより、旧来のRAGやChainベースの構築もlangchain-classicを通じて継続利用できます。


2. create_agent:新しい基本構文

LangChain 1.0の核となるAPIは create_agent() です。
従来のinitialize_agent()を置き換え、LangGraphを内部的に利用して状態管理・ループ実行・エラー再送をネイティブにサポートします。

from langchain.agents import create_agent

agent = create_agent(
    model="anthropic:claude-sonnet-4-5",
    tools=[search_web, send_email],
    system_prompt="あなたは研究支援に特化したAIアシスタントです。"
)

result = agent.invoke({
    "messages": [{"role": "user", "content": "LangChain 1.0の特徴を紹介して"}]
})
print(result["output"])

LangGraphによる「ステップ実行」や「中断・再開」も、ユーザコードで特別対応が不要です。


3. Middleware:実行フローの横断制御

新しく追加されたMiddleware機構は、リクエスト前後の横断的制御レイヤーです。
これにより「監査ログ」「要約」「情報マスキング」といった機能を簡単に注入可能です。

from langchain.agents.middleware import PIIMiddleware, SummarizationMiddleware

agent = create_agent(
    model="openai:gpt-4o-mini",
    tools=[read_email, send_email],
    middleware=[
        PIIMiddleware(patterns=["email", "電話番号"]),
        SummarizationMiddleware(max_tokens_before_summary=300)
    ]
)

複雑な業務アプリでも、ガバナンスを担保した形でLangChainを運用できます。


4. Structured Output:型安全な応答構築

従来の「文字列→JSONパース」処理に代わり、LangChain 1.0ではPydanticモデルへの直接マッピングが可能になりました。

from pydantic import BaseModel
from langchain.agents import create_agent
from langchain.agents.structured_output import ToolStrategy

class Weather(BaseModel):
    temperature: int
    condition: str

def weather_tool(city: str):
    return f"{city}は晴れ、25℃です"

agent = create_agent(
    model="openai:gpt-4o-mini",
    tools=[weather_tool],
    response_format=ToolStrategy(Weather)
)

result = agent.invoke({"messages": [{"role": "user", "content": "東京の天気は?"}]})
print(result["structured_response"])

出力結果:

Weather(temperature=25, condition='晴れ')

この設計で出力の安定性・LLMコスト最適化・テスト容易性が大幅に向上します。


5. Content Blocks:マルチLLM時代の共通形式

LangChain 1.0では、OpenAI・Anthropic・Geminiなど各社の異なる出力構造を統一的に扱えるcontent_blocksが導入されています。

from langchain_anthropic import ChatAnthropic

model = ChatAnthropic(model="claude-sonnet-4-5")
res = model.invoke("フランスの首都は?")

for block in res.content_blocks:
    if block["type"] == "reasoning":
        print("推論:", block["reasoning"])
    elif block["type"] == "text":
        print("回答:", block["text"])

これにより、生成・推論・ツール呼び出しの可視化が容易になり、エンタープライズ開発での「監査・分析」が現実的になりました。


6. 実例:RAG × LangChain 1.0 (シンプル構成)

Qiita上でも複数の事例が報告されており、v1.0でも既存RAGをほぼ変更なしで動作可能です。[1]

from langchain_community.document_loaders import TextLoader
from langchain_community.vectorstores import Chroma
from langchain.embeddings import init_embeddings
from langchain.agents import create_agent
from langchain.tools import tool

@tool
def search_docs(query: str) -> str:
    return vector_store.similarity_search(query, k=3)

vector_store = Chroma.from_documents(
    TextLoader("./data/documents").load(),
    embedding=init_embeddings("openai:text-embedding-3-small")
)

agent = create_agent(
    model="openai:gpt-4o-mini",
    tools=[search_docs]
)

agent.invoke({"messages": [{"role": "user", "content": "LangGraphとは何か?"}]})

実際、このコードでLangGraphを透過的に利用した耐久エージェント実行が可能です。


7. LangGraphとの統合:Durable Agentの実現

LangChain 1.0の裏側ではLangGraphが状態管理・再実行・永続化を担当します。
これにより、AutoGPTや長期チャットボットの開発が正式サポートされました。

LangGraphは「オーケストレーション層(低レベル)」、LangChainは「構築層(高レベル)」として明確に役割分担されています。


まとめ:LangChain 1.0は“実践フェーズ”へ

観点 旧バージョン 1.0以降
開発対象 チェーン/RAG中心 エージェント中心
内部実装 単一実行 LangGraphによる耐久実行
出力形式 テキスト中心 Structured Output + Content Blocks
安全性 手動制御 Middlewareで自動対応

LangChain 1.0は「プロトタイピング用フレームワーク」から「耐久エージェント基盤」へと進化しました。
AIアプリを本番運用するうえで、LangGraph × LangChainの組み合わせが今後の標準構成になると考えられます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?