AIエージェント入門

LangChain Deep Agentsとは何か|自律エージェントの設計思想

LangChain Deep Agentsとは何か|自律エージェントの設計思想

この記事の結論

LangChain Deep Agentsは、計画・メモリ・コンテキスト分離の3要素でClaude CodeやManusと同じ自律エージェント設計思想をオープンソースで再現したライブラリ。0.4.8の機能とPythonコード例を解説。

「自律エージェントを作るには何が必要か」という問いに、2026年3月15日、LangChainがひとつの答えを出した。

Deep Agents(deepagents)バージョン0.4.8のリリースだ。Claude CodeやManusが独自に実装してきた「長時間・複数ステップ・状態保持」のエージェント構造を、誰でも使えるオープンソースライブラリとして整理したものである。

正直、これを見て「あ、そういうことか」と思った。Claude Codeの約2,000行のシステムプロンプト、Manusの仮想コンピューティング環境、Deep Researchの計画ループ——それぞれ独自実装に見えるが、設計の骨格は同じだった。Deep Agentsはその骨格を明文化したライブラリだ。

LangChain Deep Agentsを3つの視点で読み解く

視点1: 「ループ」だけでは足りない理由

多くのLLMエージェントは「LLMがツールを呼び出す → 結果をLLMに戻す → また呼び出す」というシンプルなループで動作する。短いタスクならこれで十分だ。

しかし複雑なタスク——たとえば「GitHubリポジトリを解析して改善提案書を作る」「競合他社の製品を網羅的に調査してレポートにまとめる」——になると、このシンプルループは崩壊する。理由は3つある。

  • コンテキスト爆発:調査結果や中間成果物がどんどんコンテキストウィンドウを埋め、途中でクラッシュする
  • 計画の欠如:「次に何をすべきか」を毎回ゼロから考え直すため、方向がブレる
  • 状態の消失:前のステップで得た知識がコンテキスト限界を超えると消える

Claude CodeやManusが成功したのは、このシンプルループに4つの要素を追加したからだ。Deep Agentsはその4要素を体系化している。

AIエージェントの設計パターン全般については、AIエージェント構築完全ガイドで詳しく解説している。

視点2: 4要素の具体的な中身

LangChainがDeep Agentsで定義した4要素は以下の通りだ:

要素 役割 Claude Codeでの例 DeepAgentsの実装
詳細なシステムプロンプト ツール使用の指示、シナリオ別の例 約2,000行のプロンプト 汎用化されたベースプロンプト
計画ツール(Todoリスト) タスク分解と進捗管理 TODO管理ブロック write_todosツール
サブエージェント 専門タスクへのコンテキスト分離 並列タスク実行 taskツール(分離コンテキスト)
ファイルシステム コンテキスト管理+状態永続化 ファイル読み書きツール群 仮想ファイルシステム抽象化

なかでも興味深いのは「計画ツール」の扱い方だ。write_todosは機能的には「何もしない」ツールだ。タスクリストを書き込むだけで、実行は別のツールが行う。しかしこれがコンテキストエンジニアリングとして機能する。エージェントが「次にやること」を明示的に書き出すことで、ループが迷子になりにくくなるのだ。

視点3: コンテキスト管理の革新——85%ルールと要約圧縮

Deep Agentsの技術的な差別化ポイントは、コンテキスト管理の精巧さにある。コンテキスト使用率が85%に達した時点で、3段階の圧縮処理が走る。

第1段階は「大規模ツール出力のオフロード」だ。20,000トークンを超えるツール応答をファイルシステムに保存し、ファイルパスの参照と最初の10行のプレビューで置き換える。検索したWebページの全文がコンテキストを占領する問題を解決する。

第2段階は「古いファイル操作のオフロード」だ。ファイル読み書きの古い呼び出しをディスク上のポインタで置き換え、アクティブなコンテキストサイズを削減する。

第3段階は「要約処理」だ。LLMがセッション意図・成果物・次のステップを含む構造化要約を生成し、元の完全なメッセージ履歴はファイルシステムに保存する(後で検索可能)。

この仕組みにより、理論上は無限に続く長時間タスクを安定して実行できる。

実際に動かしてみる

DeepAgentsはpip install deepagents一発で使える。以下が最もシンプルな実装だ。


# 動作環境: Python 3.11+, deepagents>=0.4.8
# インストール: pip install deepagents
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

from deepagents import create_deep_agent

# 基本的なエージェントの作成
agent = create_deep_agent()

# メッセージの送信
result = agent.invoke({
    "messages": [
        {"role": "user", "content": "Pythonのasync/awaitパターンを調査して、ベストプラクティス一覧を作成してください"}
    ]
})

print(result["messages"][-1].content)

カスタムツールを追加したい場合はこうなる:


# 動作環境: Python 3.11+, deepagents>=0.4.8, openai>=1.30.0
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

from deepagents import create_deep_agent
from langchain_openai import ChatOpenAI
import os

# カスタムツールの定義
def search_internal_docs(query: str) -> str:
    """社内ナレッジベースを検索するツール"""
    # 実際の実装ではベクターDBやAPIを呼ぶ
    return f"社内ドキュメント検索結果: {query} に関する情報..."

# カスタムエージェントの作成
agent = create_deep_agent(
    # モデルは任意のLangChain互換モデルが使える
    model=ChatOpenAI(
        model="gpt-4o",
        api_key=os.environ["OPENAI_API_KEY"]  # 環境変数から取得(ハードコード禁止)
    ),
    tools=[search_internal_docs],  # 既存ツールに追加
    system_prompt="あなたは社内情報を参照できる業務支援エージェントです。必ず日本語で回答してください。"
)

result = agent.invoke({
    "messages": [{"role": "user", "content": "新入社員向けのオンボーディング手順をまとめて"}]
})

0.4.8から追加された要約ツールミドルウェアを使うと、コンテキスト管理の動作をカスタマイズできる:


# 動作環境: Python 3.11+, deepagents>=0.4.8
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

from deepagents import create_deep_agent
from deepagents.middleware import create_summarization_middleware

# 要約ミドルウェアの設定(0.4.8新機能)
summarization = create_summarization_middleware(
    threshold=0.85,  # コンテキスト使用率85%で発動
    summary_model="gpt-4o-mini",  # 要約には安価なモデルを使用
)

agent = create_deep_agent(
    middleware=[summarization],
    # バックエンドを変更(デフォルトはLangGraph State)
    # backend="local"  # ローカルファイルシステム
    # backend="s3"     # S3バケット(長期永続化)
)

ManusとClaude Codeが証明した「深さ」の意味

LangChainがDeep Agentsを作った背景には、明確なリバースエンジニアリングがある。Harrison Chase(LangChain CEO)は公式ブログでこう書いている。

“Applications like Deep Research, Manus, and Claude Code have gotten around this limitation by implementing a combination of four things: a planning tool, sub agents, access to a file system, and a detailed prompt.”

Manusは、Claude 3.5/3.7とAlibaba Qwenを基盤モデルとして、クラウド上の仮想コンピューティング環境でブラウザ・シェル・コード実行ツールを組み合わせて動作する。その核心は「ツール群のオーケストレーション」ではなく、状態を持ちながら長時間タスクを実行する能力だ。

Claude Codeが約2,000行のシステムプロンプトを持つのも同じ理由だ。短いプロンプトでは「どのタイミングでファイルを読むか」「サブタスクに分割すべき判断基準は何か」「エラーが出たらどう対応するか」を一貫して処理できない。詳細なシステムプロンプトは冗長ではなく、長時間の安定動作に必須の要素だ。

Deep Agentsはこの設計思想を汎用化し、誰でも「Deep Research的な」エージェントを構築できるようにしたのだ。

よくある誤解——「また別のエージェントフレームワーク?」

deepagentsを見て「LangChain、LangGraph、そして今度はdeepagents?」と思う人は多い。ポジションを整理しておく。

LangGraphは汎用のグラフ実行エンジンだ。ノードとエッジで任意のワークフローを定義できる。柔軟性が高い反面、「エージェントらしい動作」を実現するには多くのコードが必要になる。

deepagentsはLangGraph上に構築されたハーネス(装備済みフレームワーク)だ。計画ツール、コンテキスト管理、サブエージェント機能が最初から組み込まれている。「ゼロから作りたい」場合はLangGraph、「すぐ動く高機能エージェントが欲しい」場合はdeepagentsという使い分けになる。

ちなみにこの分類は公式ドキュメントでも明記されている(最終確認: 2026-03-15)。

ライブラリ ポジション 向いているケース
LangChain 標準パターンで素早くデプロイ RAGや単純なQA、シンプルなエージェント
LangGraph 任意のワークフローをグラフで定義 カスタムオーケストレーション、複雑な条件分岐
DeepAgents 長時間・多ステップ・状態保持に特化 コーディングエージェント、調査エージェント、自律タスク実行

私の結論

Deep Agentsは「革命的な新技術」ではない。正直に言うと、Claude CodeやManusが既に実装していた設計パターンの整理だ。

だからこそ価値がある、と私は思っている。

ClaudeやManusの設計を参考にしたくても、クローズドなシステムプロンプトや独自の実行環境を再現するのは難しかった。deepagentsは「この4要素があれば長時間自律エージェントが動く」という設計思想をオープンにした。LangGraphとの統合でストリーミング・永続化・チェックポイントも使える。

今後の自律エージェント開発で「どこから始めるか」という問いに対して、deepagentsは有力な答えになりうる。まだ0.4.x系であり、本番大規模導入には慎重な評価が必要だが、プロトタイプから始めるには十分な成熟度に達している。

Difyやn8nとの比較、LangChainエコシステム全体との統合についてはこちらで詳しく解説している。AIエージェント構築ツール徹底比較もあわせて確認してほしい。

【要注意】deepagents導入でよくある失敗パターン

失敗1: バックエンドを選ばずにデフォルトのまま本番運用

❌ デフォルト(LangGraph State)のまま本番に投入する

⭕ タスクの性質に応じてバックエンドを選択する

なぜ重要か:デフォルトのインメモリバックエンドはプロセス再起動で全状態が消える。長時間タスクには永続化バックエンド(S3やデータベース)が必須だ。要約処理で「後で検索できる」とあるが、状態が消えていては検索できない。

失敗2: システムプロンプトを最初から詳細に書きすぎる

❌ 最初から500行のシステムプロンプトを作成する

⭕ デフォルトプロンプトで動作を確認してから段階的に追加する

なぜ重要か:Claude Codeが2,000行のプロンプトを持つのは長年の運用で洗練された結果だ。最初から長大なプロンプトを書いても、互いに矛盾する指示になりやすい。動作を見ながら必要な指示だけを追加していくほうが安定する。

失敗3: サブエージェントを使いすぎてコストが爆発する

❌ 全てのサブタスクにサブエージェントを生成する

⭕ コンテキスト分離が本当に必要なタスクだけサブエージェント化する

なぜ重要か:サブエージェントはそれぞれ独立したコンテキストウィンドウを持つため、LLM API呼び出しが増加する。0.4.8で追加されたsolve_rateメトリクスでサブエージェント使用コストを測定し、費用対効果を確認すること。

失敗4: バージョン固定なしで本番デプロイ

pip install deepagents(バージョン未固定)でデプロイ

pip install deepagents==0.4.8(バージョン固定)でデプロイ

なぜ重要か:deepagentsは活発に開発中で、マイナーバージョンアップでも動作が変わることがある。0.4.11が既にリリースされているが(2026年3月13日)、変更内容を確認してから移行すること。

参考・出典


AIエージェント導入についてのご相談は お問い合わせフォーム からどうぞ。

この記事はAIgent Lab編集部がお届けしました。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年3月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事