AIエージェントは、質問に答えるだけの存在から、タスクを最初から最後まで処理する存在へと進化しており、その有用性が増しています。LangChain Deep Agentsは、エージェントが作業を分解し、さまざまなツールを使い、情報を管理し、小さなタスクを調整することを助けることで、より高い制御性と柔軟性をもたらします。これにより、常に人の指示を必要とせずに実際の業務ワークフローを処理できるエージェントを作りやすくなります。LangChain Deep Agentsの仕組みと、それを使って何が構築できるのかを見ていきましょう。
LangChain Deep Agentsとは何ですか?
LangChain Deep Agentsは、LangChainの中核となるビルディングブロックとLangGraphランタイムの上に構築されたエージェントフレームワークです。ファイルシステムへのアクセス、サブエージェントへの委任、プランニング、メモリ、ヒューマン・イン・ザ・ループのサポートといった機能を標準のエージェントワークフローに追加しています。Deep Agentsは、推論、ツール呼び出し、反復的な実行を組み合わせたエージェントループを使用しており、複数のステップ、大量のコンテキスト、調整されたワークフローを必要とする複雑なタスクに適しています。
単純なループでツールを呼び出すだけの基本的なエージェントとは異なり、Deep Agentsは長時間にわたるタスクを処理するための追加のインフラを備えています。ファイルの管理、専門のサブエージェントへの作業の委任、複雑なワークフローをまたいだコンテキストの維持、必要に応じた人の介入が可能です。これらの組み込み機能により、高度なエージェントシステムを構築する際に必要となる独自の開発作業を減らすことができます。
LangChain Deep Agentsの仕組み
Deep Agentがタスクを受け取ると、そのリクエストを分析し、完了に必要なステップを計画します。その後、検索、コード実行、ファイルシステム操作などの利用可能なツールを使って情報を収集し、アクションを実行します。
実行中、Deep Agentsはファイルの読み書きによってコンテキストを管理します。すべての中間結果を会話履歴の中に保持するのではなく、大量の情報を外部に保存し、必要なときに取得できます。このアプローチにより、コンテキストウィンドウのサイズに起因する制約を抑えつつ、より長いワークフローを処理できます。
複数の作業領域が関わる複雑なタスクでは、Deep Agentsが特定のサブタスクを専門のサブエージェントに委任できます。各サブエージェントは定められた目的に集中し、関連する結果をメインエージェントに返します。メインエージェントは、サブエージェントの出力、取得した情報、保存されたファイルを組み合わせて、完全で一貫性のある応答を生成します。
プランニング、ツールの利用、ファイルシステム管理、サブエージェントの連携、人による監督といった機能により、LangChain Deep Agentsは、複数ステップにわたる実際の業務タスクを処理できる、より高機能なAIシステムを構築するための基盤となります。
Deep Agentsの中核機能:プランニング、ツール、実行
Deep Agentsは、複数のステップ、判断、アクションを必要とするタスクを処理できます。その中核機能は、作業の計画、適切なツールの利用、手動での入力を減らしながら各ステップを効率的に完了させることを支えます。これらの機能を詳しく見ていきましょう。
タスクプランニング
タスクプランニングにより、エージェントは実行中に構造化されたタスクリストを作成・管理できます。複雑な目標を単一の指示として扱うのではなく、それを小さなステップに分割し、進行状況を追跡し、ワークフロー全体を通してタスクの状態を更新できます。
プランニングを使うべき場面
長く複雑な複数ステップのタスク
明確な進行状況の追跡や構造化された実行が有効なタスク
エージェントの状態から進行状況をストリーミング表示するUI
有効化する方法
middleware パラメータに TodoListMiddleware を渡します。これにより、エージェントはステータス管理(pending、in_progress、completed)付きの構造化されたタスクリストを維持するための write_todos ツールを利用できるようになります。
from deepagents import create_deep_agent
from deepagents.middleware import TodoListMiddleware
agent = create_deep_agent(
model="your-model",
middleware=[TodoListMiddleware()],
)タスクはエージェントの状態に永続化され、長時間にわたる作業を整理するための軽量なプランニングレイヤーをエージェントに提供します。
仮想ファイルシステムツール
Deep Agents は、インメモリ状態、ローカルディスク、LangGraph ストア、複合ルーティング、あるいは権限ルールを備えたカスタムバックエンドなど、プラグイン可能なバックエンドを基盤とする設定可能な仮想ファイルシステムを提供します。
組み込みのファイルシステムツール
| ツール | 説明 |
|---|---|
ls | ディレクトリ内のファイルをメタデータ(サイズ、更新日時)とともに一覧表示する |
read_file | 行番号付きでファイルの内容を読み取る。大きなファイル向けにオフセット/リミットに対応し、画像・動画・音声・文書のマルチモーダルコンテンツブロックも返す |
write_file | 新規ファイルを作成する、または既存ファイルを上書きする |
edit_file | ファイル内の厳密な文字列置換を行う(グローバル置換モードあり) |
delete | ファイルまたはディレクトリを再帰的に削除する |
glob | パターンに一致するファイルを検索する(例: **/*.py) |
grep | 複数の出力モードでファイルの内容を検索する |
execute | 環境内でシェルコマンドを実行する(サンドボックスバックエンドのみ) |
対応するマルチモーダル拡張子
画像:
.png、.jpg、.jpeg、.gif、.webp、.heic、.heif動画:
.mp4、.mpeg、.mov、.avi、.flv、.mpg、.webm、.wmv、.3gpp音声:
.wav、.mp3、.aiff、.aac、.ogg、.flac文書:
.pdf、.ppt、.pptx
ファイルシステムの権限
ハーネスは、エージェントがどのファイルやディレクトリを読み書きできるかを制御する宣言的なパーミッションルールをサポートしています。ルールは上から下へ評価され、最初にマッチしたものが優先されます。
from deepagents import create_deep_agent
agent = create_deep_agent(
model="anthropic:your-model",
permissions=[
{"operations": ["read", "write"], "paths": ["/workspace/**"], "mode": "allow"},
{"operations": ["read"], "paths": [".env", "**/secrets/**"], "mode": "deny"},
],
)from deepagents import create_deep_agent
agent = create_deep_agent(
model="anthropic:your-model",
permissions=[
{"operations": ["read", "write"], "paths": ["/workspace/**"], "mode": "allow"},
{"operations": ["read"], "paths": [".env", "**/secrets/**"], "mode": "deny"},
],
)これにより、エージェントを特定のディレクトリに制限したり、機密ファイルを保護したり、サブエージェントに親エージェントよりも狭いアクセス権を与えたりできます。
ツールアクセスの制限
FilesystemMiddleware に tools 許可リストを渡すことで、ファイルシステムツールの一部だけを公開できます。read_file は常に含める必要があります。
from deepagents import create_deep_agent
from deepagents.middleware import FilesystemMiddleware
# Read-only agent
agent = create_deep_agent(
model="your-model",
middleware=[
FilesystemMiddleware(backend=backend, tools=["read_file", "ls", "glob", "grep"]),
],
)from deepagents import create_deep_agent
from deepagents.middleware import FilesystemMiddleware
# Read-only agent
agent = create_deep_agent(
model="your-model",
middleware=[
FilesystemMiddleware(backend=backend, tools=["read_file", "ls", "glob", "grep"]),
],
)サブエージェント(委任)
ハーネスには、メインエージェントが独立した長時間・複数ステップ・並列タスク用に一時的なサブエージェントを作成できる、組み込みの task ツールが含まれています。
主な特徴
フレッシュなコンテキスト: 呼び出しごとに、独自のコンテキストを持つ新しいエージェントインスタンスが作成されます
自律的な実行: サブエージェントは完了まで独立して実行されます
単一の受け渡し: メインエージェントに最終的なレポートを1件返します
設定可能な戦略: デフォルトの
general-purposeサブエージェントを使うか、カスタムサブエージェントを定義できますコンテキストの効率性: 重いサブタスクの作業は分離され、コンパクトな結果に圧縮されます
サブエージェントの無効化
task ツールなしでエージェントを実行するには、ハーネスプロファイル経由で自動追加されるサブエージェントを無効化し、subagents= に同期サブエージェントを渡さないようにします。excluded_middleware 経由で SubAgentMiddleware を削除しようとしないでください。これは意図的に拒否されます。
ツール呼び出しの機能
Deep Agents は3種類のツールをサポートしています:
カスタム関数とLangChainツール
tools= パラメータを介して、カスタム関数やLangChainツールを直接渡します:
MCP(Model Context Protocol)
Deep Agents はMCPを完全にサポートしており、標準インターフェースを通じてデータベース、API、ファイルシステムなどに接続できます。
コード実行
サンドボックスバックエンド: 分離環境でシェルコマンドを実行する
executeツールを公開しますインタープリター: スコープ化されたQuickJSランタイムでJavaScriptを実行する
evalツールを追加し、軽量なプログラム可能なレイヤーを実現します
これらの機能が組み合わさることで、エージェントを動かす言語モデルが全体のセットアップにおいて重要な役割を担うようになります。有能なモデルは、Deep Agentsが指示を理解し、タスクを推論し、利用可能なツールをより有効に活用するのを助けます。Kimi API はこのモデルレイヤーを提供でき、より高性能なDeep Agentワークフローを構築するための自然な次のステップとなります。
6ステップでKimi APIをLangChain Deep Agentsに接続する
有能なモデルは、Deep Agentがタスクを効果的に処理するために必要な言語理解と推論力を与えます。Kimi API は、エージェントがツールを扱い、タスクを管理し、複雑な指示を処理する際にこれらの機能を提供できます。モデルレイヤーが整えば、Kimi API とLangChain Agentsの接続に自然に進むことができます。以下は、Kimi API をLangChain Deep Agentsに接続する方法です:
ステップ1:Kimi API キーを取得する
Kimi API プラットフォームにサインインし、新しいAPIキーを作成します。Deep Agentsのセットアップに追加する必要があるため、キーをコピーして安全に保存してください。このAPIキーはリクエストを認証し、LangChainのDeep AgentsがAPI経由でKimiモデルにアクセスできるようにします。
ステップ2:環境変数を設定する
Kimi API キーを環境変数として設定します。Kimi API は Moonshot API のエンドポイントを使用するため、次の変数を設定してください。
export MOONSHOT_API_KEY="your-api-key-here"export MOONSHOT_API_KEY="your-api-key-here"API のベース URL は次のとおりです。
https://api.moonshot.ai/v1https://api.moonshot.ai/v1ステップ3:依存関係をインストールする
Deep Agents と必要な LangChain の依存関係をインストールします。
pip install deepagents langchain-openai
``````bash
pip install deepagents langchain-openaiKimi API は OpenAI 互換であるため、langchain-openai を使うことで LangChain は OpenAI 互換インターフェース経由で Kimi モデルに接続できます。
Deep Agent に Web 検索機能を追加したい場合は、Tavily をオプションでインストールできます。
pip install tavily-pythonpip install tavily-pythonTavily プラットフォームで Tavily API キーを作成したら、それを環境変数として設定します。
export TAVILY_API_KEY="your-tavily-api-key"export TAVILY_API_KEY="your-tavily-api-key"Tavily が必要になるのは、エージェントに Web 検索ツールを追加する場合のみです。
ステップ4:Kimi API で Deep Agent を設定する
Kimi API は OpenAI API 形式と互換性があるため、init_chat_model を通じて LangChain Deep Agents に接続できます。
以下の例は、Kimi を利用した基本的な Deep Agent を作成します。必要に応じて、Web 検索などのツールで拡張できます。
Kimi を利用した基本的な Deep Agent
Web 検索機能を追加する(オプション)
Web 検索を有効にするには、Tavily などの検索ツールを接続します。
この構成により、Deep Agents は Kimi を推論モデルとして使いながら、Tavily 経由で外部の検索機能を利用できます。
ステップ5:Kimi を利用した Deep Agent を実行する
Deep Agent が Kimi で設定されたら、エージェントを実行してタスクやツール呼び出しの処理方法をテストします。
result = agent.invoke(
{"messages": [{"role": "user", "content": "What is LangGraph?"}]}
)
print(result["messages"][-1].content)result = agent.invoke(
{"messages": [{"role": "user", "content": "What is LangGraph?"}]}
)
print(result["messages"][-1].content)ステップ6:LangSmith のトレーシングを有効にする(オプション)
LangSmith のトレーシングは、ツール呼び出しや中間ステップ、モデルの応答を含め、エージェントの実行状況を監視するのに役立ちます。
次の環境変数でトレーシングを有効にします。
export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY="your-langsmith-api-key"export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY="your-langsmith-api-key"エージェントのワークフローをより詳しく可視化したい場合や、デバッグ、パフォーマンス分析が必要な場合は LangSmith を使用してください。
Kimi API を使うメリット
Kimi API と Deep Agents を連携させることで、複雑なワークフローの能力を高め、管理をしやすくできます。この組み合わせにより、エージェントはツールの利用やファイルの取り扱い、複数タスクの処理を行いながら、より強力な推論能力を持てるようになります。この構成が提供する主なメリットを見ていきましょう。
エージェントの推論とタスク実行を強化する
Kimi モデルは高い言語理解力と推論能力を備えており、Deep Agents が複雑な指示を分析し、タスクを分解し、より正確な応答を生成するのを助けます。これにより、エージェントは人手による指示を減らしながら、より効果的に多段階のワークフローを処理できるようになります。
より高機能な AI ワークフローを構築する
Kimi API を Deep Agents に接続することで、開発者は Kimi のモデル機能と、LangChain がサポートするツール、ファイルシステム、外部連携を組み合わせられます。これにより、エージェントは調査、文書処理、コード解析、データ処理といったタスクを、統一されたワークフローの中で実行できるようになります。
自律的なエージェントで複雑なタスクをスケールさせる
Kimi を利用した Deep Agents は、計画を立て、ツールを使い、必要に応じてサブタスクを委任することで、長時間にわたるタスクを管理できます。これにより、繰り返しの手作業を減らしながら複雑なワークフローを完了できる AI アプリケーションを構築しやすくなります。
まとめ
信頼性の高いAIエージェントを構築するには、複雑なワークフローに適した基盤を選ぶことが出発点になります。LangChain Deep Agentsは、計画を立て、ツールを使い、コンテキストを管理し、少ない手作業でマルチステップのタスクを処理できるエージェントを作るためのツールと構造を提供します。適切なモデルと設定があれば、開発者は高度なエージェントのアイデアを実用的なアプリケーションに落とし込むことができます。Kimi APIを組み込むことで、強力な推論能力と長文コンテキスト処理を活かし、Deep Agentのワークフローをさらに強化できます。Kimi APIを試して、AIエージェントで何が作れるか確かめてみましょう。