LangChainのDeepAgentsフレームワーク
(blog.langchain.com)- 従来のLLMベースのエージェントは、単にツールを繰り返し呼び出す「浅い(shallow)エージェント」構造が一般的だったが、Deep Agents は複雑で長期的な課題も深く解決する 計画的・構造的なAIエージェント である
- Deep Research、Manus、Claude Code のような最新のエージェントは、より深いテーマ探索とコンテキスト管理が可能な「ディープエージェント」を実装している
- 詳細なシステムプロンプト、計画ツール、サブエージェント、ファイルシステムの活用 が「ディープエージェント」の中核
- LangChainは、誰でも自分のvertical(ドメイン)に合ったdeep agentを簡単に作れるよう、オープンソースパッケージ
deepagentsを公開- カスタムプロンプト・ツール・サブエージェントの設定が可能で、研究・開発などさまざまな分野で応用できる汎用フレームワークを提供
従来のLLMエージェントの限界とDeep Agentsの特徴
- 従来型エージェント: LLMがループしながらツールだけを呼び出す → 短い文脈、短期・単純な作業にしか適さない
- Deep Agents: 長期的な目標や複雑なタスクも、自ら分解・計画・追跡・協調できる
Deep Agentsを構成する4つの要素
-
詳細なシステムプロンプト
- Claude Code などの代表例のように、ツールの使い方や行動例を詳しく明示したプロンプトを活用
- 複雑な指示とfew-shot例によって、より「深い」思考と実行を促す
-
計画(Planning)ツール
- 実際の機能がなくても、「To-Doリスト」などの計画ツールをルーチンに組み込み、文脈管理と実行力の維持 に役立てる
- no-op(何もしない動作)であっても、プロンプトに文脈を与える効果がある
-
サブエージェント(Sub Agents)
- 下位作業ごとに サブエージェントを生成・分割 し、各エージェントが個別に作業した後に結果を統合
- 大規模・複雑な問題も並列・分業構造で処理
-
ファイルシステム
- 実際のファイル操作だけでなく、ノート・コンテキスト保存領域 として活用
- 複数のエージェント・サブエージェントがファイルシステムを共有し、協調と長期的な文脈維持を実現
LangChainのDeep Agentsフレームワーク: deepagents
- オープンソースのPythonパッケージ(
pip install deepagents)で、カスタムプロンプト・ツール・サブエージェントの設定が可能- Claude Codeに着想を得たシステムプロンプトを、より汎用的に修正
- no-opのToDoリスト計画ツール(Claude Codeと同様)
- サブエージェントの生成とカスタム指定が可能
- LangGraphの概念を利用した仮想ファイルシステム(エージェントの状態を利用)
- 例としてdeep research agentのサンプルを提供し、vertical特化エージェントを容易に制作可能
活用例と価値
- 研究・開発、コード生成、リサーチ、複雑な自動化など、長期・複合的なAI作業 に最適化
- 詳細なコンテキスト設計と分業構造 により、深みのある結果を生成可能
- 誰でもドメインに合った「ディープエージェント」を構築でき、AI活用の次の段階を示す
1件のコメント
Hacker Newsのコメント
著者です。最近では claude code、manus、deep research のような一連のエージェントが、長い時間軸にわたる作業を特にうまく実行しているのが印象的です。実際のところ、内部では LLM がループしながらツールを呼び出しています。しかし、何も考えずにこうすると、LLM が複雑または長い作業をきちんとやり遂げられないという問題が起きます。そこで、他のエージェントはこれをどう実現しているのか気になりました。共通して見つかった点は次のとおりです。1) プランニングツールを使う 2) サブエージェントを使う 3) ファイルシステムのようにコンテキストをオフロードする構造を使う 4) 詳細なシステムプロンプトを設計する(プロンプトエンジニアリングは今でも重要です) それぞれは以前からあった手法ですが、実際にエージェント開発をするときに広く使われているやり方ではありません。この組み合わせこそがむしろ重要なインサイトだと思います。フィードバック歓迎です
いろいろな意見を見ていると、deep agents という概念も結局は agent + tool の組み合わせと大きくは違わない、という点には同意します。私にとっての核心は次のとおりです。1) ベースとなる知識には優れた LLM が必要 2) LLM を適切に導くためのプロンプトが重要(エージェントに仕立てるため) 3) 別個の判断を必要としない機能はツールとして実装する 4) agent+tool のフローが複雑になったら、フォーカスしたプロンプトと少数のツールを持つサブエージェントに分割して、各ドメインを分離する
deep agents = プランニングが追加されたエージェント + エージェントツールの組み合わせなので、結局は従来のエージェントと似たようなものだと思います。LangChain は単純な概念までいつも複雑に見せて、わざわざ新しい用語や概念を作って宣伝しているように感じるので残念です。もちろん LangSmith をもっと売りたいなら仕方ないのでしょうが
私が予想していた結果に近いです。もう MCP サーバーを直接書くのはあまり通用しないことが明らかになってきたので、すばやく波に乗れる新しい方法が必要な状況です。gemini や claude code のように直接エージェントを作ってみるのが最近のトレンドです。参入障壁が低く、ある程度は役に立ち、深い AI の専門知識も不要で、宣伝もしやすい。まるで「cursor for X」方式ですが、むしろもっと速く製品化できます。こうして作られるコーディングエージェントは大量に増えそうですが、今のところ何か新しい感じはあまりしません。それでも、これほど速く始められるなら、直感的に作った claude code クローンの価値はすぐ 0 に収束するだろうという点では前向きに見ています
このリポジトリのコードを追いながら分析し続けています https://github.com/ghuntley/claude-code-source-code-deobfuscation 作者が Claude Code をリバースエンジニアリングして、アーキテクチャをうまく説明してくれています。リンクをより良いリポジトリに変更しました
rust で汎用 agent cli+library を作っています: https://github.com/fdietze/alors まだ開発初期ですが、すでにこれ自体の開発にも使っています。フィードバック歓迎です
私の見るところ、Jetbrains の Junie が最初に非常に高品質な to do list 機能を書いていて、それがいちばん気に入っていました。有料化されてからは使っていませんが、当時の Junie は遅い代わりに慎重でした。Cursor は問題のないファイルまで繰り返し上書きし、Claude はその中間という感じでした
いちばん興味深い部分が完全に隠されています。パースから実行まで、ツールコールをどう管理しているかが肝です
sub agent でコンテキストを分離するのが本当の革新ポイントです。残りはただの langgraph react agent です
todo list ツールが no-op だという部分について、もう少し情報があるのか気になります。正確にどう動くのか知りたいです