AWS re:Invent 振り返り

エージェントの構築 AI: Amazon Nova Act および Strands エージェントの実践 (DEV327)

振り返りシリーズ

セッションノート

Agentic AI の構築: Amazon Nova Act および Strands エージェント

導入

  • 現在の AI 環境における極めて重要なトピックとしての Agentic AI の出現に関するセッションの紹介
  • 基本的な理解を超えて現実世界のアプリケーションやイノベーションに目を向ける先進的な開発者を対象 Agentic
  • の将来のトレンド AI
  • 生成的 AI の進化の概要。
  • 低エージェンシー (ルールベース、高度な人間の監視) から高エージェンシー (独立した運営、戦略的意思決定) への進展を強調
  • Agentic AI 開発の現段階を認識し、高度なテクノロジー、ガバナンス、信頼、および上位代理店のための組織の準備の必要性を強調 Sequoia Capital
  • による予測
  • 2025 の AI に関する Sequoia Capital の基調講演では、AI システムがツールのような特性を超えて進化し、自律的に動作するインテリジェント エージェントになる未来を構想しています。
  • これらのエージェントは、推論、計画、コラボレーション、高度な自律操作の能力を備えています。
  • 2030年代経済のビジョン
  • セコイア キャピタルは、2030 年代の経済、特にアジアの経済は、相互接続されたネットワークを形成する多数の AAAA エージェントのオペレーションで構成されるグローバル ニューラル ネットワークのように機能すると予測しています。
  • 個人的な成功の可能性
  • 特に世界的に広く普及する AAAA エージェントを設計することは、個人の経済的成功につながり、非常に裕福になる可能性があります。
  • 予測の重要性
  • この予測は、開発者を導き、将来の AAAA 開発で何を達成する必要があるかを理解するために非常に重要です。
  • 一人乗りユニコーンの出現
  • セコイア・キャピタルは、評価額が $1 億 USD の 1 人の個人によって設立および運営される企業である「ワンパーソン ユニコーン」の台頭を予測しています。
  • この傾向は労働構造の変化と、一人の人間がスタートアップ全体を運営できる新しい組織モデルの出現につながるでしょう。
  • 確率論的な考え方の必要性
  • AI エージェントの世界では、開発者は、精度に対する従来の期待から離れ、より確率的な考え方に移行する、新しい考え方を採用する必要があります。
  • これには、開発者が大規模な言語モデルと AI テクノロジに接続して利用する方法を調整することが含まれます。
  • 薬剤AIの新時代への準備
  • エージェント型 AI の時代で成功するには、技術的な準備だけでなく、精神的および組織的な調整も必要です。
  • 開発者は、この新しい時代で成功するために、組織構造と精神的枠組みの変化に備える必要があります。
  • 2025 の Agentic AI の基礎インフラストラクチャ
  • MCP や A2A などの通信プロトコルは、AI エージェントとそのツール間の相互運用性を可能にするために開発されています。
  • AWS は、MCP および A2A の標準委員会に積極的に参加し、分散システムにおける数十年の経験を貢献して、これらの将来のプロトコルを強化しています。
  • AWS エージェントティック AI ポートフォリオ
  • サービスが 3 つのレイヤーに編成された包括的なアーキテクチャで構成されています。
  • インフラストラクチャー
  • AI およびエージェント開発者ソフトウェア
  • アプリケーション層
  • Amazon Nova Act や Street Agent などのエージェント向けの SDK を含む、AI およびエージェント開発ソフトウェアとサービスに焦点を当てます。

実用的なエージェントティック AI アプリケーション: 地域の気象情報

  • 実用的な AI エージェント シナリオのデモンストレーション: MCP プロトコル、Amazon Nova Act、および香港天文台の Web サイトを使用したローカル気象情報アプリケーションの開発。
  • 地方気象情報局
  • AI エージェントは、Emerald を利用した Amazon Bedrock で構築され、特定の Web サイト URL (香港天文台) を備えています。
  • ユーザーは自然言語 (英語、スペイン語、または中国語) を使用してエージェントと対話し、香港の現在の天気について問い合わせることができます。
  • このエージェントは、指定された Web サイト上の情報を自律的に見つけて、検証用のスクリーンショットを保存し、人間の Web スクレイピング エンジニアのように機能する能力を実証します。
  • Webスクレイピングエンジニアへの影響
  • エージェント AI の時代が到来し、従来の Web スクレイピングの役割に影響を与える可能性があります。開発者は、Nova Act などの AWS サービスを使用して、この移行に備える必要がある場合があります。
  • AI エージェントの実装の詳細
  • Nova Act の予測機能は、どの Web ページをキャプチャし、どのようなアクションを実行するかをガイドします。
  • 自然言語は、香港天文台の Web サイトから 9 日の天気予報情報を読み取って抽出するなどのタスクを割り当てるために使用されます。
  • 開発者の野心
  • 多くの開発者は、独自のエージェント AI アプリケーションを最初から構築し、完全なソース コード レベルの管理を維持することを目指しています。
  • オープンソースのストランド エージェントはこの目標の達成に役立ち、開発者がコードのすべての行を制御できるようになります。
  • カスタム エージェントの構築における課題
  • 開発者は、エージェントがさまざまな企業システムと対話できるようにするコネクタを必要としています。

カスタマイズされた AI エージェント システムに必要なコンポーネント

  • ツールと MCP (メッセージ コントロール プロトコル) は、エージェントがホテルの予約、情報の更新、プロセスのトリガーなどのワークフローを実行できるようにするために不可欠です。
  • 記憶: エージェントは短期記憶と長期記憶の両方を必要とします。短期記憶はセッション内のコンテキストを維持しますが、長期記憶によりエージェントは時間の経過とともに学習し、改善することができます。
  • Brain (大規模言語モデル): LLM は、ReACT (推論、行動、共同通信)、リフレクション、思考連鎖などの手法を使用して、より複雑なフレームワークに拡張でき、モデルが段階的に計画、反映、推論できるようになります。
  • ペルソナ: 各エージェントにはペルソナ、つまりそのアイデンティティと動作を定義する一連のルールまたは指示があり、他のタイプのエージェント (例: AAAA エージェントと DevOps エージェント) と区別されます。
  • 可観測性とガードレール: 可観測性とガードレールを提供するように AI エージェントをカスタマイズすることで、エージェントが安全で議論の余地があり、目標と一致していることが保証されます。
  • 機能的な AI エージェントの構築における課題
  • 真に機能する AI エージェントを構築するには多大な作業が必要ですが、その作業の 80 ~ 90% は固有のビジネス ロジックやプロセスとは無関係である可能性があります。

AWS ソリューション: エージェントを束ねる

  • Strands Agents: AWS- が提供するオープンソース SDK で、開発者は最小限のコードで AI エージェントを構築できます。計画用の最先端の大規模言語モデルである思考連鎖を活用することで、開発を簡素化します。
  • デモ: ストランド エージェントを使用した数学的アニメーションの作成
  • Manim ライブラリを Strands Agent および Python ライブラリと組み合わせて使用​​した数学的視覚化。
  • コア実装コード:
  • Strands モジュールから Agent クラスをインポートし、フレームワーク内でエージェントと AAAA を利用するための必須コンポーネントを確立するための MCPClient クラスをインポートします。
  • send_input および output をトランスポート メカニズムとして使用して、Manim MCP サーバーへの接続を設定します。
  • Manim MCP サーバーと対話するための接続を確立し、利用可能なツールを取得し、これらのツールを使用してエージェントを初期化します。
  • エージェントを使用して、数学的アニメーションを要求する自然言語プロンプトを処理します。具体的には、X に等しい -3 から X に等しい 3. までの 3 次関数グラフを視覚化します。
  • ストランド エージェントによる数学的視覚化 SDK
  • Visual Studio では、次の 2 つのターミナル ウィンドウが使用されます。
  • 左側のウィンドウは MCP (メッセージ コントロール プロトコル) サーバーを実行し、STDIO トランスポート経由で Manim MCP サーバーに接続します。
  • 右側のウィンドウは MCP クライアント プログラムを実行し、ビデオ生成チャット インターフェイスを起動します。
  • ユーザーは、指定された範囲にわたって 3 次関数を 9 秒で描画するシーンを作成するなど、インターフェイスを通じて自然言語コマンドを入力できます。
  • エージェントは自然言語リクエストを処理し、問題が発生した場合にタスクを完了するための簡易バージョンを作成することで、適応的な問題解決機能を実証します。

マルチエージェントコラボレーションの利点

  • 専門化: 専門のエージェントが特定のドメインで作業し、精度を高め、より正確な回答を提供します。これらの薬剤を組み合わせることで、優れた結果を達成できます。
  • スケーラビリティ: システムは、システム全体に影響を与えることなくエージェントを追加または削除できるため、スケーラブルになります。
  • 保守性: 小規模なエージェントは、大規模なモノリシック コードベースと比較して、制御、監視、デバッグ、テストが容易です。
  • コスト効率: マルチエージェント システムにより、特定のタスクに適切なモデルを選択し、スマートさ、スピード、コスト効率を最適化できます。
  • アナロジー: 単一エージェントとマルチエージェント システム
  • シングルエージェント: 単独で動作する特殊なスキルのようなもの。
  • マルチエージェント システム: さまざまな役割 (アナリスト、クオンツ、トレーダー、リスク マネージャー、AAAA) が連携して優れたパフォーマンスを達成する、よく調整されたチームのようなもの。
  • 成功の条件: コラボレーション
  • マルチエージェント システムを成功させるには、エージェントが効果的に連携する必要があります。
  • マルチエージェントのコラボレーションパターン
  • ツールとしてのエージェント: あるエージェントは別のエージェントをツールとして使用できます。
  • グラフ ワークフロー: エージェントをグラフのような構造で接続して、複雑なタスクを実行できます。
  • オーケストレーター エージェント: オーケストレーター エージェントはユーザーの要件を受け取り、その意図を理解し、特定のタスクを実行するために専門のエージェントを呼び出します。
  • 例: 旅行計画
  • Orchestrator Agent: ユーザーの旅行要件 (ラスベガスへの旅行など) を受け取ります。
  • リサーチ エージェント: アトラクションやアクティビティ (アンテロープ キャニオンなど) を検索します。
  • 製品推奨エージェント: 調査エージェントの出力に基づいて推奨事項を提供します。
  • エージェントのワークフロー: 1 つのエージェントの出力が次のエージェントの入力となり、シームレスなワークフローが作成されます。

実際の例: クオンツ ヘッジ ファンド

  • クオンツ研究者にとって、取引アイデアを迅速に検証し、適切な取引戦略をより迅速に見つけるためには、定量的方法論が不可欠です。
  • 例: 移動平均クロスオーバー戦略を使用して、研究者は株式の詳細 (Amazon など) を入力し、バックテストウィンドウを入力し、損益やシャープレシオなどの指標を受け取ることができます。
  • このシステムは、売買条件、バックテスト結果、リスク評価やアラートなどの取引戦略を改善するための提案を提供します。
  • 移動平均クロスオーバー戦略
  • 移動平均 (MA) クロスオーバー戦略は、チャート上の 2 つの MA (高速/短期と低速/長期) を使用して買い/売りシグナルを生成します。買いシグナルは、速い MA が遅い MA (強気トレンド) を上抜けると発生し、売りシグナルは、速い MA が遅い MA (弱気トレンド) を下回ると発生します。
  • 仕組み
  • 設定: 価格チャート上に異なる期間の 2 つの移動平均 (単純移動平均 (SMA) または指数移動平均 (EMA) など) をプロットします。
  • 買いシグナル (強気): 短期間の MA が長期間の MA を通過するとき。
  • 売りシグナル (弱気): より短い期間の MA がより長い期間の MA を通過するとき。
  • 一般的な MA の組み合わせ
  • 短期: 9 期間 EMA/SMA。
  • 中期: 21 期間 EMA/SMA。
  • 長期: 50 日、100 日、または 200 日 MA (主要なトレンドによく使用されます)。
  • 主要なクロスオーバー パターン
  • ゴールデンクロス: 50 日 MA が 200 日 MA を上抜け、強い上昇トレンドを示唆する強気シグナル。
  • デスクロス: 50 日 MA が 200 日 MA を下回る弱気シグナルであり、潜在的な下降トレンドを示します。
  • 制限と改良点
  • 遅行指標: MA は過去の価格に基づいているため、価格の動きがすでに始まった後にクロスオーバーが発生することが多く、エントリー/エグジットの遅れにつながります。
  • 不安定な市場: この戦略は、横ばい市場または統合市場で多くの誤ったシグナル (ウィップソー) を生成します。
  • アーキテクチャ図
  • オーケストレーション エージェント (クオンツ リサーチ エージェント) は、さまざまなツールとサブエージェントを呼び出します。
  • ツール: 市場データ ツールとバックテスト ツール。
  • サブエージェント: 戦略生成エージェントと結果要約エージェント。
  • Bedrock コア エージェント ゲートウェイ
  • API、Lambda 関数、または既存のサービスを MCP- 互換ツールにカプセル化することで、開発者がエージェント用のツールを構築するための安全な方法を提供します。
  • ステップ
  • Lambda 関数を使用して過去の市場データを S3 テーブルに保存し、それをゲートウェイのターゲットとして定義します。
  • エージェントの「gateway create MCP ゲートウェイ」コマンドを使用してゲートウェイを作成します。
  • Lambda 関数をゲートウェイのターゲットとして定義します。
  • 安全なアクセスのために Cognito を使用して認証します。
  • ツールの入力パラメータと出力パラメータを定義します (市場データの取得など)。

ツールを構築するためのエージェント ゲートウェイ

  • エージェント RAM を使用して戦略生成エージェントをホストし、それをクオンツ リサーチ エージェントのツールにします。
  • ゲートウェイをツールとして統合する
  • ゲートウェイを作成した後、それを現在の調査エージェントのツールにすることができます。
  • 手順:
  • 引数と戻り値の型を指定します。
  • 認証には Cognito を使用します。
  • HTTP クライアントを使用してゲートウェイを呼び出し、バックテスト用の過去の市場データを取得します。
  • 戦略生成エージェントの定義とデプロイ
  • 戦略生成エージェントがデプロイされ、エージェントをホストするための安全かつ高速な方法が提供されます。
  • 手順:
  • 強みインポート エージェントを使用してエージェントを定義します。
  • バックトレーダー フレームワークを使用して取引戦略コードを生成するための手順を指定します。
  • エージェントをランタイムにデプロイします。
  • エントリ ポイントを指定し、ポート 8080. でエージェントを実行します。
  • エージェント呼び出し構成を使用して、ファイルと依存関係を指定します。
  • エージェント呼び出し起動を使用してランタイム エージェントを起動します
  • エージェントを使用する ステータスを取得する ステータスを確認する
  • エージェントをツールとして作成する
  • ツール(マーケットデータツール)と戦略生成エージェントを定義したら、エージェントをツール化します。
  • 手順:
  • 取引戦略を生成します。
  • 引数 (売買条件など) を指定します。
  • エージェントを呼び出します。
  • オーケストレーター エージェント (Quant Research エージェント)
  • オーケストレーター エージェントは、ツールとエージェントを調整します。
  • 手順:
  • 輸入代理店。
  • クオンツ調査エージェントが過去の市場データを取得し、戦略を生成し、バックテストを実行し、結果を分析するためのシステム プロンプトを定義します。
  • 「ツールとしてのエージェント」パターンを使用して、次の 4 つのツールを統合します。
  • 市場データ、
  • 戦略を立て、
  • バックテストを実行し、
  • 結果の概要を作成します。
  • 何か問題が発生した場合、クオンツリサーチエージェントは結果を再学習します。

キロ CLI

  • Kiro CLI を使用してコマンドを実行します。これは、出力を迅速に検証できるため、デバッグに役立ちます。
  • Kiro CLI を使用した Quant Agent の実行
  • Kiro CLI は、ツール実行パッチと 10 日期間単純移動平均クロスオーバー 30 日単純移動平均戦略を指定する JSON ファイルを利用して、クオンツ エージェントを実行するために使用されます。
  • エージェントは約 6 秒で取引戦略を生成します。
  • 次に、エージェントは HTTP リクエストを介してゲートウェイから市場データを取得します。
  • バックテスト用に約 200 データ ポイントが取得されます。
  • バックテストはバックトレーダー フレームワークを使用して実行されます。
  • 出力には、初期値、利益、トータルリターン、取引戦略を改善するための推奨事項が含まれます。
  • バックテストの結果はメモリと呼ばれるエージェントに保存され、最終ステップでそこから取得されます。

群れパターン

  • 「ツールとしてのエージェント」パターンとは異なり、swarm パターンには、単一のオーケストレーターなしでエージェントが動的に通信および共同作業することが含まれます。
  • swarm は、他のエージェント、入力、出力、対話履歴に関する情報など、すべてのエージェントがアクセスできる共有コンテキストを維持します。
  • Swarm クラスがインポートされ、無限ループを防ぐために最大ハンドオフと反復ハンドオフ検出を備えた 4 つのエージェントが定義されます。
  • 「反復的なハンドオフ」とは、異なる個人、チーム、システム、またはネットワーク アクセス ポイント間でタスクや責任が頻繁に不必要に転送されることを指します。
  • 例:
  • 4 つのエージェントを使用してブログを書く:
  • 研究エージェント:研究を行います。
  • クリエイティブエージェント: コンテンツを作成します。
  • クリティカルエージェント: 作成されたコンテンツに異議を唱えます。
  • サマライザー エージェント: 最終結果を要約します。
  • Swarm パターンの主要なコンポーネント
  • 共有コンテキスト: すべてのエージェントは共有コンテキストにアクセスできます。
  • 動的なコラボレーション: エージェントは、中央のオーケストレーターなしで通信およびコラボレーションします。
  • ハンドオフ制限: 無限ループを防ぐために、最大のインタラクションと反復的なハンドオフ検出が設定されます。
  • 固有のエージェントの関与: 多様性を維持し、反復的なやり取りを防ぐために、最後のハンドオフには少なくとも 3 人の固有のエージェントが関与するようにします。
  • 行動中の群パターン
  • タスク: エージェント AI を説明するブログ投稿とソーシャル メディア投稿の概要を作成します。
  • ワークフロー:
  • 調査エージェント: 必要な情報と事実を収集します。
  • クリエイティブ エージェント: 魅力的なブログ投稿を作成します。
  • Summarizer Agent: ソーシャル メディアの概要を生成します。
  • 反復プロセス: Summarizer Agent は、効果的な概要を作成するために Creative Agent に詳細を要求します。
  • 最終出力: Summarizer Agent は、5 インタラクションの後、ブログ投稿とソーシャル メディア サマリーの両方を正常に作成します。
  • ツールとしての群れ
  • Swarm パターンは、より大きなフレームワーク内のツールとして使用できます。
  • 例: エージェントのグループを使用してタスクを分析または実行するための swarm ツールをインポートします。

グラフパターン

  • エージェント関係を、各エージェントがノードであるグラフ ネットワークとして定義し、エッジが関係と情報フローを定義します。
  • 主な利点:
  • 予測可能性: エージェント間の通信パスが明確に定義されています。
  • 制御: 情報フローを完全に制御します。
  • デモンストレーション
  • まずエージェントを定義して、グラフ内での役割と対話を確立します。
  • 例: エージェントファンドマネージャー
  • Portfolio Architect Agent がポートフォリオを構築する方法を定義します。
  • 構築されたポートフォリオに基づいて、ファンド マネージャー エージェントがファンドを管理する方法を定義します。
  • ポートフォリオ アーキテクト エージェント: 顧客の要件を満たすポートフォリオを構築します。ポートフォリオ・アーキテクト・エージェントが構築したポートフォリオに基づいてファンドを運用します。
  • グラフ パターンのノードとエッジの定義
  • グラフでは、特定のアクションをトリガーしたり、エージェントを展開したりするためにノードが定義されます。
  • 例:
  • エージェントを呼び出すポートフォリオ ノードを定義します。
  • 手順:
  • 状態グラフを定義し、状態グラフを入力します。
  • 財務、ポートフォリオ、リスクのノードを追加します。
  • リスクをエンドノードとして、財務からポートフォリオ、ポートフォリオからリスクまでのエッジを定義します。

ワークフローパターン

  • ワークフローは、明確に定義されたタスクの順序またはパターンです。
  • 例: リサーチ エージェント、分析エージェント、レポート エージェントのシーケンスを定義します。
  • 手順:
  • ワークフロー ツールをインポートします。
  • タスクとその依存関係を定義します (例: レポートの生成は傾向分析に依存します)。
  • 優先順位を設定して、並列サブエージェントの実行順序を決定します。
  • ワークフローパターンの使用例
  • 単一の信頼できるツールにカプセル化する必要がある、複雑で反復可能なプロセスに最適です。
  • 例:
  • データの抽出、変換 (ETL)、およびデータ ウェアハウスへのロードを含む自動化されたデータ パイプライン。

マルチエージェントコラボレーションパターンのサンプルユースケース

ツールとしてのエージェント

  • 顧客サービス チャットボット: 調整されたエージェントは、テクニカル アカウント マネージャー、入札エージェントに電話をかけ、エージェントを要約して顧客に出力を提供します。
  • 群れのパターン:
  • 学際的なインシデント対応: エージェントはローカルで対話し、集中管理なしで複雑な緊急行動を生成します。例: ネットワークの問題はネットワーク エージェントに渡され、必要に応じてデータベース エージェントに渡されます。
  • グラフパターン:
  • エラー パスのあるデータ検証: エージェントがエラーがあるかどうかを判断するグラフを定義し、エラーなしのデータ検証またはエラー パスのあるデータ エージェントに渡します。
  • ワークフロー パターン:
  • 制御された情報フローと実行順序を維持するために、依存関係と優先順位を備えた明確に定義されたタスクのシーケンス。