動画記事 · LangChain
Deep Agents で並列エージェントを信頼性高く実行する動的サブエージェント
動画の文字起こしと公開情報をもとにAIで要約・構成しています。 正確な発言は元動画と時間位置で確認してください。
まず要点
Deep Agents の新機能「Dynamic Subagents」により、エージェントがコードで並列処理を制御することで、大規模タスクの信頼性と完全性が劇的に向上する。
エージェントの「抜け漏れ」を消す:LangChain の新機能「動的サブエージェント」が変える大規模タスク処理
LangChain が発表した Deep Agents の新機能「動的サブエージェント(Dynamic Subagents)」は、AI エージェントが自らコードを書いてサブエージェントを生成・管理する仕組みです。従来のツール呼び出しに依存したオーケストレーションでは困難だった大規模な並列処理や複雑なループ制御を可能にし、タスクの抜け漏れや中途半端な完了という根本的な課題を解決します。
推論からコードへ:オーケストレーションの信頼性向上
従来の Deep Agents では、メインエージェントがサブエージェントのツールを呼び出し、その結果を確認して次の行動を決めるという「推論ベース」のループを回していました。これは小規模なタスクでは問題ありませんが、数百ファイルの処理や反復的な作業になると、エージェントは文脈の中で追跡を失い、項目をスキップしたり、完了と誤判断したりするリスクが高まります。
動的サブエージェントはこの課題に対し、オーケストレーション(調整)のロジックを「エージェントの推論」から「コード」へ移行させることで解決します。エージェントはループや分岐、並列実行などの制御フローを数行のコードとして記述し、それを基盤上で実行します。
オーケストレーションのロジックをエージェントが各ターンで生成するよりも、コードで記述した方が簡単かつ信頼性が高い場合、エージェントはコードを記述する能力を持ちます。
これにより、例えば「500 ファイルすべてを処理する」という指示に対し、気分次第で 75 ファイルだけ処理するような不確実性がなくなります。ループが確実に全アイテムに対して実行されるため、スケールにおける網羅性と完全性が担保されます。
コード解釈ミドルウェア:安全にコードを実行する基盤
エージェントが生成したコードをどう実行するのか?ここにはコード解釈ミドルウェア(Code Interpreter Middleware)が重要な役割を果たします。これは軽量なメモリ内サンドボックス環境であり、エージェントに対して eval ツールへのアクセス権を与えます。
- エージェントはコードブロックを作成し、
evalツールに渡す。 - ランタイム(ミドルウェア)がそのコードを実行する。
- 最終結果のみがエージェントに戻ってくる。
この仕組みにより、コンテキストがクリーンに保たれつつ、サブエージェントをプログラム的に起動・管理できます。特に重要なのが「タスクグローバル」という機能です。これはタスクツールのプログラム版であり、コード内からサブエージェントを生成するための関数呼び出しとして使われます。
エージェントは
taskにawaitを付けて説明とサブエージェントタイプを指定し、オプションで動的に生成されたレスポンススキーマも渡すことができます。これにより、タスクからの結果が型付きで返されます。
この「型付きの結果」こそが、エージェントにサブエージェントの戻り値に基づいてループや分岐を行わせる複雑なワークフローを可能にする鍵となります。
6 つの実装パターン:タスク形状に応じた標準ワークフロー
動的サブエージェントは、解決すべきタスクの形状に応じて自然に現れる6 つの標準的なワークフローパターンを提供しています。これらはすべて「workflow」というキーワードを含むリクエストを送ることでトリガーされます。
1. Classify and Act(分類して実行)
入力データが混在している場合、まず種類を判定し、それぞれに適したサブエージェントへ振り分けるパターンです。
- 用途: サポートチケットの選別、エラーログの整理、ユーザーフィードバックのルーティング。
- 指示例: 「200 件のチケットを取り扱い、各項目が何であるかを特定し、適切に処理する」
エージェントはまずファイルを読み込み、コード内で各アイテムを分類します。その後、分類結果に基づいて「バグ調査者」「機能分析者」「サポート対応者」など異なるサブエージェントタイプへ並列でタスクを分散させます。
2. Fanout and Aggregate(分散して統合)
同じタスクを多数のアイテムに対して実行し、最終的に一つの統合された回答として出力するパターンです。
- 用途: ファイルごとのコードレビュー、バッチドキュメント分析、サービス群全体のチェック。
- 指示例: 「この PR のすべてのファイルをレビューし、問題点の要約を 1 つ返してください」
「すべて」という言葉でカバレッジを強制し、「要約 1 つ」で統合ステップを加えることで、エージェントは各ファイルに対して並列処理を行い、結果を集約して優先順位付けされた単一レポートを生成します。
3. Adversarial Verification(敵対的検証)
精度が全てであり、誤った回答が高コストとなる場合に使用します。候補生成と独立した検証の 2 つのパスを経由し、最終的な多数決で生き残った発見のみを報告します。
- 用途: セキュリティ監査、コンプライアンスチェック、高リスクレビュー。
- 指示例: 「セキュリティ上の問題を見つけるが、確信があるものだけを報告し、二重チェックしてください」
まずステージ 1 で全ファイルを並列に監査して候補(発見事項)を生成します。次にステージ 2 で検証者サブエージェントが各候補を独立して再検証します。「おそらく」や「理論的なリスク」は排除され、実際に確認された問題のみが最終レポートとして返されます。
4. Generate and Filter(生成とフィルタリング)
複数のサブエージェントに同じ課題に取り組ませた後、エージェント自身が評価して最も優れた案を採用するパターンです。
- 用途: アーキテクチャ提案、リファクタリング戦略、コンテンツのバリエーション作成。
- 指示例: 「異なるアプローチを 3 つ提示し、どれが最善か根拠とともに教えてください」
「いくつかの異なるアプローチ」で多様性を生み出し、「どの案が最善か」でフィルタリングを行います。エージェントは生成された複数の案(ファイルや設計図)を評価基準に基づいて比較し、最も優れたものを推薦します。
5. Loop Until Done(完了までループ)
特定の条件を満たすまで、またはタスクが完了するまで反復処理を行うパターンです。推論ベースのループでは失われがちだった追跡能力をコードで保証します。
- 用途: データのクリーニング、継続的なモニタリング、反復的な修正作業。
6. Tournament(トーナメント)
複数のエージェントが競い合い、勝者を決める構造です。大規模な選別やランキング処理に適しています。
まとめ:エンタープライズレベルの実務への道
動的サブエージェントは、単なる機能追加ではありません。AI エージェント開発における「抜け漏れ」や「中途半端な完了」という根本的な課題を解決する技術です。コードによるオーケストレーションと 6 つの標準パターンにより、エンタープライズレベルのセキュリティ監査や大規模コードベースの分析など、高信頼性が求められる実務への AI 導入が加速します。
エージェントはコードを書くことでサブエージェントの生成と調整を可能にします。これにより、より確実に大規模タスクを分解し、通常なら苦労する箇所でも小さな並列作業項目に分割できるようになります。
"workflow" キーワードを含めるだけでこれらの強力な機能を発動できるため、開発者は複雑なロジックを記述する手間を減らしつつ、信頼性の高い AI エージェントを構築できます。
Original Source
元動画で発言を確認
プレイヤーは必要になるまで読み込みません。YouTubeのCookieと通信も再生を選ぶまで開始しません。
時間位置から根拠を確認
章や引用を選ぶと、元動画をその位置から再生します。