LangGraphとStrandsを使用したAgentCore上の市場監視エージェント
この記事では、LangGraphとStrandsをAmazon Bedrock AgentCore上で使用し、本番環境に対応したマルチエージェントAIシステムを構築する方法を説明します。市場監視の例を通じて、状態駆動型オーケストレーション、チェックポイントベースのリカバリ、AgentCoreのメモリと可観測性をカバーします。
人工知能アプリケーションが単純なチャットボットから高度な自律システムへと進化するにつれ、組織は現実の本番シナリオを処理できる複雑なマルチエージェントワークフローをオーケストレーションする新たな課題に直面しています。従来のシングルエージェントアプローチでは、専門知識、動的な意思決定、堅牢なエラーリカバリメカニズムを必要とする複雑なビジネスプロセスに対応できないことがよくあります。金融サービス業界はその典型例です。市場監視システムは、複数の専門エージェントを調整して取引パターンを分析し、不審な活動を調査し、包括的なレポートを生成すると同時に、厳格なコンプライアンスと信頼性基準を維持する必要があります。
このソリューションは、2つのフレームワークを組み合わせています。LangGraphはマクロレベルのワークフローオーケストレーションを担当し、Strandsはインテリジェントなエージェント推論を提供します。LangGraphはマルチエージェント調整における状態と有向グラフの管理に優れており、ワークフロー実行とエージェント間で共有される状態の両方をきめ細かく制御できます。その集中型永続化レイヤーは、ヒューマンインザループインタラクションやチェックポイントベースの障害復旧など、本番環境に不可欠な機能をサポートします。一方、Strands Agentは個々のワークフローノード内の推論エンジンとして機能し、さまざまな大規模言語モデル(LLM)プロバイダーと統合できるモデル非依存の機能を提供するとともに、柔軟なツール統合と包括的な可観測性を維持します。
Amazon Bedrock AgentCoreのリリースにより、エージェントソリューションの本番化が多くのユースケースで簡素化されました。この組み合わせにより、複雑なユースケースを処理しながら、エンタープライズアプリケーションが要求するインフラストラクチャの信頼性と可観測性を提供できる、本番対応のエージェントAIシステムの強固な基盤が提供されます。
この記事では、AWSインフラストラクチャ上でLangGraphとStrandsを使用してマルチエージェントAIシステムをアーキテクチャ設計しデプロイする方法をデモンストレーションします。LangGraphのチェックポイントシステムを使用した状態駆動型ワークフローオーケストレーションの実装、特殊な推論タスクのためのStrandsエージェントの統合、およびスケーラブルな本番デプロイのためのAgentCoreの使用方法について学びます。完全なソリューションはGitHubで入手できます。
Strands Agentは、既存のインフラストラクチャにアーキテクチャ上の制約を課すことなく適応するモデル非依存のアーキテクチャで動作します。このエージェントは、ツール出力を継続的に評価し、中間結果に基づいて決定を下すエージェント推論ループを実装しており、高度なマルチステップ分析ワークフローを構築できます。フレームワークには、包括的なセッションおよび状態管理と、複数の会話マネージャーが含まれており、コンテキストウィンドウのオーバーフローを防ぎます。
市場監視エージェントでは、幻覚を回避しインジェクション攻撃に対する防御を強化するために、データの発見と取得を分離しています。get_report_list、get_report_schema、run_reportなどのツールを使用します。run_reportは検証済みパラメータでSQLクエリを構築し実行します。これにより、LLMが生のSQLを記述しないため、フィルタ値がクエリに注入されることはありません。
オーケストレーターは状態グラフを使用してワークフローを定義します。"ディスパッチ"ノードから開始し、必要なエージェントリストのインデックスに基づいて動的にルーティングし、セキュリティモニターや取引分析などのノードを順に呼び出し、最後に"レポート作成"ノードで最終レポートを生成します。各ノードは共有状態からタスクを取得し、結果の更新を返します。LangGraphのチェックポイントシステムにより、障害発生時に最後に保存された状態から復旧できます。
Amazon Bedrock AgentCoreは、エージェントを大規模にデプロイおよび運用するための完全マネージドサービスを提供し、インフラストラクチャ管理を軽減しながら本番グレードの機能を提供します。AgentCore Python SDKとスターターツールキットを使用してLangGraphオーケストレーターとStrandsエージェントをデプロイすると、ランタイムが自動的にコンテナ化、ネットワーキング、コンピューティングプロビジョニングを処理します。
メモリ統合は、langgraph-checkpoint-awsパッケージを使用して実現されます。AgentCoreMemorySaverクラスは、ユーザーメッセージ、AI応答、グラフ実行状態、メタデータを含むチェックポイントオブジェクトを処理します。各ノード完了後、LangGraphは自動的にチェックポイントをAgentCoreメモリに保存し、ステートフルな会話とワークフローリカバリを可能にします。AgentCoreMemoryStoreクラスは、会話からインサイト、要約、ユーザー設定を自動的に抽出するインテリジェントメモリ機能を提供し、エージェントは将来のインタラクションでこれらのメモリを検索できるため、時間の経過とともに改善されるパーソナライズされた体験を提供できます。
可観測性に関しては、AgentCoreにはAmazon CloudWatchおよびAWS X-Rayとの統合による組み込みの可観測性が含まれており、ログとトレースをキャプチャして監視とデバッグを容易にします。