11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Deep Agents入門 — 計画・メモリ・サブエージェントを備えたOSSエージェントハーネス

11
Last updated at Posted at 2026-03-17

Deep Agentsアーキテクチャ概要

はじめに

LangChainが2026年3月15日にリリースした Deep Agents は、長期的・複数ステップのタスクに特化したオープンソースのエージェントハーネスである。LangGraphランタイム上に構築され、タスク計画(Planning)、仮想ファイルシステムによるコンテキスト管理、サブエージェント生成という3つの中核機能を備える。

従来のLLMエージェントは短いツール呼び出しループでは機能するものの、ステップ数が増えるとコンテキストウィンドウの圧迫やステート管理の破綻が起きやすい。Deep Agentsはこの「長期タスク問題」を構造的に解決するために設計されたフレームワークである。

Terminal Bench 2.0ベンチマークではClaude Sonnet 4.5使用時に約42.65%のスコアを記録し、同モデルで動作するClaude Codeと同等の性能を達成している。MITライセンスで公開されており、GitHub上で10,000以上のスターを獲得した。

この記事で学べること

  • Deep Agentsのアーキテクチャと設計思想
  • create_deep_agent APIを使ったエージェント構築の基本
  • 計画ツール・ファイルシステムバックエンド・サブエージェントの仕組み
  • Claude Code・Codex CLIとの比較と使い分け

対象読者

  • AIエージェント開発に取り組むPythonエンジニア
  • LangChain / LangGraphを既に使用しているか、導入を検討している方
  • Claude CodeやCodex CLIと比較検討したい方

TL;DR

  • Deep AgentsはLangGraph上に構築されたオープンソースのエージェントハーネス(MITライセンス)
  • write_todos による計画、仮想ファイルシステムによるコンテキスト管理、task によるサブエージェント生成が中核機能
  • モデル非依存で、Anthropic・OpenAI・Google等15以上のプロバイダーに対応
  • Terminal Bench 2.0でClaude Code同等のスコア(約42.65%、Sonnet 4.5使用時)
  • pip install deepagents で即座に利用開始可能

Deep Agentsの3層アーキテクチャ

Deep Agentsのアーキテクチャ

Deep Agentsは3つのレイヤーで構成される。

Foundation Layer(SDK)

コアとなる deepagents パッケージが create_deep_agent() 関数を提供する。この関数はLangGraphの CompiledStateGraph を返すため、LangGraphのストリーミング、永続化、チェックポイント、LangGraph Studioでの可視化がそのまま利用できる。

from deepagents import create_deep_agent

agent = create_deep_agent(
    system_prompt="You are a research assistant",
    tools=[my_custom_tool],
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "Analyze the latest AI trends"}]}
)

create_deep_agent() はミドルウェアパイプラインを内部で組み立てる。計画(TodoListMiddleware)、ファイル操作(FilesystemMiddleware)、サブエージェント(SubAgentMiddleware)、メモリ(MemoryMiddleware)といったミドルウェアが自動的に組み込まれる。

Application Layer(CLI・ACP)

SDK上に構築されたCLIアプリケーション(deepagents-cli)は、ターミナルベースの対話型コーディングエージェントとして動作する。

# インタラクティブモード
deepagents

# 非インタラクティブモード(パイプ入力)
echo "Fix the bug in main.py" | deepagents -n

CLIは HITLMiddleware(Human-in-the-Loop)によるコマンド承認フローを備え、シェルコマンドの許可リストを設定できる。

Integration Layer(サンドボックスバックエンド)

Modal、Runloop、Daytonaといったリモート実行環境との統合レイヤーである。ローカル実行だけでなく、隔離されたサンドボックス環境でのエージェント実行をサポートする。

中核機能 1: タスク計画(Planning)

Deep Agentsの計画フロー

Deep Agentsは write_todos ツールによる明示的なタスク計画を採用している。エージェントが複雑なタスクを受け取ると、まずサブタスクに分解し、各ステップの進捗を追跡しながら実行する。

# エージェント内部で自動的に呼び出される計画ツールの動作イメージ
# write_todos ツールがタスクを分解する
todos = [
    {"id": 1, "task": "既存コードの構造を把握する", "status": "done"},
    {"id": 2, "task": "テストケースを追加する", "status": "in_progress"},
    {"id": 3, "task": "リファクタリングを実施する", "status": "pending"},
]

TodoListMiddleware がこの計画機能を提供する。暗黙的な推論チェーンではなく、明示的なTODOリストとしてタスクを管理するため、進捗の可視化やデバッグが容易になる。

中核機能 2: ファイルシステムバックエンド

Deep Agentsはすべてのファイル操作を BackendProtocol で抽象化し、6つのファイルツールを提供する。

ツール名 機能
read_file ファイル読み込み
write_file ファイル書き込み
edit_file ファイル編集(差分適用)
ls ディレクトリ一覧
glob パターンマッチによるファイル検索
grep ファイル内容の正規表現検索

バックエンドは用途に応じて切り替えられる。

バックエンド 用途
StateBackend インメモリ(デフォルト、エフェメラル)
FilesystemBackend ローカルディスク+サブプロセス実行
StoreBackend LangGraph Storeベースの永続ストレージ
CompositeBackend パスベースのルーティング(一時ファイル処理)
SandboxBackendProtocol リモート実行インターフェース(Modal等)

この仮想ファイルシステムが、コンテキストウィンドウ圧迫の問題を解決する鍵となる。エージェントは中間成果物(コード、レポート、検索結果)をファイルに書き出してプロンプトウィンドウから解放し、必要なときに読み戻す。状態が約80,000文字を超えると SummarizationMiddleware が自動的に会話履歴を要約し、/offloaded_history/ に退避する。

中核機能 3: サブエージェント生成

SubAgentMiddleware が提供する task ツールにより、親エージェントがコンテキスト隔離された子エージェントを生成できる。

# エージェント内部でのサブエージェント呼び出しイメージ
# task ツールで専門化されたサブエージェントを生成
result = task(
    instruction="Search for the latest pricing of GPT-5.4 API",
    # サブエージェントは親とは独立したコンテキストで動作
)

この階層的なエージェント分解により、各サブタスクを専門化されたエージェントに委任できる。サブエージェントの実行結果は親エージェントの会話状態に直接統合される。

MCP統合

Deep Agentsは langchain-mcp-adapters を通じてModel Context Protocol(MCP)サーバーとの統合をサポートする。MCP経由で外部ツール(データベース、API、ファイルシステム等)をエージェントに接続できるため、既存のMCPエコシステムの資産をそのまま活用できる。

モデル設定とプロバイダー対応

LangChainの init_chat_model() を通じて、15以上のLLMプロバイダーに対応する。

from deepagents import create_deep_agent

# Anthropic
agent = create_deep_agent(model="anthropic:claude-sonnet-4-6")

# OpenAI
agent = create_deep_agent(model="openai:gpt-5.3-codex")

# Google
agent = create_deep_agent(model="google:gemini-3-pro")

CLIではTOMLベースの ModelConfig でセッションごとのモデル選択と切り替えが可能である。

Deep Agents vs Claude Code vs Codex CLI 比較

Claude Code・Codex CLIとの比較

Deep Agentsの公式ドキュメントには、Claude Agent SDKおよびCodex SDKとの比較ページが用意されている。主要な差異を整理する。

項目 Deep Agents Claude Code Codex CLI
ライセンス MIT(無料) 有料($200/月) 無料(OSS)
モデル対応 15+プロバイダー Claude系列 GPT系列
サンドボックス ツールレベル アプリケーションレベル(17フックイベント) OSカーネルレベル
計画機能 write_todos(明示的) 内部推論 内部推論
永続メモリ LangGraph Memory Store なし なし
可観測性 LangSmith統合 なし なし
Terminal Bench 2.0 約42.65%(Sonnet 4.5) 同等(Sonnet 4.5) 77.3%(GPT-5.3-Codex)

安全モデルの違い

安全性の実装アプローチは3者で大きく異なる。

  • Deep Agents: 「LLMを信頼し、ツールレベルで境界を設ける」方針。パストラバーサル防止やHITL承認フローはあるが、OS レベルのサンドボックスは持たない
  • Claude Code: アプリケーションレベルで17種のフックイベントによる細粒度制御を提供
  • Codex CLI: OSカーネルレベルの粗粒度サンドボックスで隔離を実現

信頼できない入力を本番環境で処理する場合は、Deep Agents単体ではなく、Modal等のリモートサンドボックスバックエンドとの組み合わせが推奨される。

NVIDIA連携とエンタープライズ展開

2026年3月16日のNVIDIA GTC 2026で、LangChainはNVIDIAとの包括的な連携を発表した。Deep Agents + LangGraph + LangSmithのスタックが、NVIDIA Agent Toolkit(NIM マイクロサービス、Nemotronモデル、NeMo Agent Toolkit、OpenShell)と統合される。

NIMマイクロサービスは標準デプロイと比較して最大2.6倍のスループットを実現し、クラウド・オンプレミス・ハイブリッド環境に対応する。Adobe、Atlassian、Salesforce、SAP等17社がこの統合プラットフォームの採用を表明している。

セットアップ手順

インストール

pip install deepagents
# または
uv add deepagents

基本的な使い方(SDK)

from deepagents import create_deep_agent

# カスタムツールを定義
def search_docs(query: str) -> str:
    """ドキュメントを検索する"""
    return f"Results for: {query}"

# エージェントを作成
agent = create_deep_agent(
    tools=[search_docs],
    system_prompt="You are a documentation assistant.",
)

# 実行
result = agent.invoke(
    {"messages": [{"role": "user", "content": "Find the API reference for auth"}]}
)

CLI利用

# CLIのインストール
pip install deepagents-cli

# インタラクティブモードで起動
deepagents

# ワンショット実行
echo "Refactor the utils module" | deepagents -n

まとめ

Deep Agentsは、LLMエージェントの「長期タスク問題」に正面から取り組んだフレームワークである。

  • 計画: write_todos による明示的なタスク分解と進捗追跡
  • コンテキスト管理: 仮想ファイルシステムによるプロンプトウィンドウの圧迫回避
  • 委任: サブエージェント生成によるタスクの階層的分解
  • モデル非依存: 15以上のプロバイダーに対応し、ベンダーロックインを回避
  • 可観測性: LangSmith統合による実行トレースとデバッグ

Claude CodeやCodex CLIが特定モデルに最適化された垂直統合型であるのに対し、Deep Agentsはモデル非依存のオープンな水平統合型として位置づけられる。MITライセンスで無料利用でき、LangGraphエコシステムとシームレスに統合できる点が、既にLangChainを採用しているチームにとっては大きな利点となる。

参考リンク

11
11
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
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?