Box AIがDeep Agentsでエンタープライズコンテンツエージェントを構築した方法
Box AIはDeep Agents上にBox Agentを構築し、セキュリティ、権限、モデルの柔軟性を維持しながら、エンタープライズコンテンツの検索、分析、統合を実現しました。親/子エージェントアーキテクチャは複雑なタスクに対して動的に子エージェントを生成し、ミドルウェアが引用、キャッシュ、コンテキスト管理を処理します。
Boxは、10万以上のエンタープライズが非構造化データを保存、保護、管理するために信頼するインテリジェントコンテンツ管理プラットフォームです。Box AIの一部であるBox AgentはDeep Agents上に構築されており、エンタープライズのコンテンツライブラリを検索し、数千のドキュメントにわたる発見を統合し、レポートや分析を生成します。これらすべてがBoxの既存のセキュリティと権限モデルを尊重しながら行われます。
単一ファイルQ&Aからエンタープライズ規模の分析へ Box Agentの最初のバージョンでは、ユーザーは単一のドキュメント内で質問できました。そこからチームはKnowledge Hubsを導入しました。これはRAGベースのレイヤーで、定義された知識ソース全体にわたってクエリを可能にします。BoxのプリンシパルAIアーキテクトであるSesh Jalagam氏は次のように説明します。「エージェントを始めたとき、私たちは検索問題を解決したいと考えていました。エンタープライズ検索は困難です。なぜなら、重複情報、古い情報、一見同じように見えるが各企業が独自の用語を持っているものがあるからです。」これらの機能は価値がありましたが、ユーザーは異なるドメインにわたってますます複雑な質問をし始めました。あるバイオサイエンス企業の研究者は、新しい研究を始める前に既存の研究を統合するようBox AIに依頼するかもしれません。法務チームは、過去10年間の特定の金額を超えるすべての契約を抽出し、リスクルーブリックに照らして評価するよう依頼するかもしれません。よりリッチなAIネイティブ体験のために、Boxは標準的なQ&Aを超えるエージェントアーキテクチャを必要としました。
制御、モデル柔軟性、速度のためにDeep Agentsを選択 Boxはエージェントプラットフォームを構築するにあたり、複数のフレームワークを評価しました。2つの要件が決定を形作りました。完全なモデル非依存性と反復速度です。Boxは顧客にOpenAI、Anthropic、Googleなど複数のLLMプロバイダーの選択肢を提供しており、その柔軟性はプラットフォームレベルで維持される必要がありました。10万以上のエンタープライズ顧客向けにBox Agentを立ち上げ改善するために、Boxチームはエンタープライズ固有の問題にエンジニアリング時間を集中させる必要があり、コアエージェントインフラを再構築する時間はありませんでした。Deep Agentsは両方を満たしました。モデル抽象化層がプロバイダーに依存しないルーティングを処理し、オープンエージェントハーネスが3倍の反復速度を実現しました。Jalagam氏は「私たちはすべてのピースを完全に制御しつつ、将来を見据えたフレームワーク上に構築したいと考えていました」と述べています。
Deep Agentアーキテクチャ:子エージェントを生成する親エージェント Box Agentのアーキテクチャは親/子モデルを使用しており、親とすべての子はDeep Agentsです。親(グローバルエージェントと呼ばれる)はリクエストを受け取り、意図を分類し、直接処理するか子エージェントを生成して作業を分散するかを決定します。子エージェントはツールとして親に公開され、親がキーワード検索を実行する場合でも新たに生成されたサブエージェントに委任する場合でも、呼び出しインターフェースは統一されています。この設計は、専用の検索エージェント、QAエージェント、コンポーズエージェントといったハードコードされた専門サブエージェントを持つ以前のアーキテクチャからの意図的な進化であり、不必要なレイテンシーを引き起こしていました。BoxのAIエンジニアリングリーダーであるShubhro Roy氏は次のように述べています。「質問が非常に単純な場合、または検索が非常に単純な場合、親ノードはそれを行うことができます。計画を立てる必要さえありません。」複雑なタスクの場合、動作はまったく異なります。例えば、過去10年間の閾値を超えるすべての契約を抽出し、リスクルーブリックに照らして評価するよう要求された場合、グローバルエージェントは計画を立て、展開します。1つの子が関連ドキュメントを検索し、別の子が並行してルーブリックを取得し、3番目の子が最初の2つが完了した後に結果を統合・分析します。すべてのエージェント(タスクに応じて任意の数)は分離されたコンテキストウィンドウで実行され、ミドルウェア層を通じて報告します。子エージェントは動的に生成されるため、システムはBoxのプロダクトチームが明示的に設計していないタスクも処理できます。グローバルエージェントは実行時にどの子を作成し、どのツールを与えるかを決定します。親と子の両方が同じ完全なツールレジストリにアクセスでき、BM25キーワード検索、ベクトル検索、スプレッドシートの構造化Q&A、ファイル操作などが含まれます。Boxは、ユースケースが拡大するにつれて、モデルがどのツールを使用するかを決定する方が静的ルーティングロジックよりも優れていることを発見しました。
ミドルウェア:引用、キャッシュ、コンテキスト管理 BoxはDeep Agentsのミドルウェアを使用して、モデルとツールの呼び出しをインターセプトします。ミドルウェアを使用すると、ガードレール、承認、動的コンテキスト、その他のアプリケーション固有の動作でエージェントループをカスタマイズできます。Box Agentの3つの機能には、引用生成、プロンプトキャッシュ、コンテキスト管理が含まれます。複雑なマルチドキュメント回答の場合、引用はレスポンスストリーミング中に並行プロセスとして実行されます。ストリーミング回答が完了するまでに、引用は添付の準備ができています。埋め込みベースのマッチングがソース帰属を処理し、複数のソース間で引用が適切に分散されるようにする組み込みロジックがあります。Roy氏は次のように説明します。「ミドルウェアとして行う利点は、回答のストリーミングと引用生成が並行して発生するため、ユーザーを中断することがないことです。」ミドルウェアはマルチターン会話にキャッシュを注入し、会話履歴が蓄積されるにつれてコストとレイテンシーを削減します。会話履歴が17万トークンを超えると、ミドルウェアは自動的に履歴を要約し、エージェントロジックを変更することなくコンテキストオーバーフローを防ぎます。ミドルウェアはまた、親エージェントと子エージェント間の通信チャネルとして機能します。検索を完了した子はミドルウェアを通じて結果を書き込み、親や他の子はそれらの結果を読み取って操作できます。これにより、単一の実行内でエージェント間の中間アーティファクトが流れます。
反復速度:数ヶ月から数週間へ Deep Agents上に構築することで、Boxのエンジニアリング速度が大幅に向上しました。Jalagam氏は「以前はBox AIを完全にゼロから構築していたため、市場に出すまでにより多くの時間がかかりました」と強調しています。現在のスタックでは、チームは新しいエージェントを数週間で出荷できます。加速はエージェントプラットフォーム自体にも現れています。ハードコードされた専門サブエージェントを持つ最初のエージェントアーキテクチャは開発と出荷に約3ヶ月かかりましたが、その後の再帰的な親/子アーキテクチャは4倍速く出荷されました。
Box Agentの機関知識の拡張 Box Agentの現在の機能(エンタープライズ横断検索、マルチドキュメント統合、構造化レポート生成)は、在籍10年の従業員の機関知識を持つ将来のエージェントの基盤です。Jalagam氏は「すべての部分について10年間の理解を持つ従業員を想像してください」と述べています。ロードマップには、エージェント内のよりリッチな記憶と知識構成、バックグラウンドでオフライン実行して情報を収集・提示する機能、内部チームや外部システムとのより深いコミュニケーションが含まれています。