Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アーキテクチャ選定から実装Tipsまで! AgentCore / Strands Agents...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yudai Jinno Yudai Jinno
March 19, 2026
110

アーキテクチャ選定から実装Tipsまで! AgentCore / Strands AgentsでAIエージェントを実際に作ってわかったことN選

Avatar for Yudai Jinno

Yudai Jinno

March 19, 2026
Tweet

More Decks by Yudai Jinno

Transcript

  1. 自己紹介 2 簡単な自己紹介をさせていただきます。本日はどうかよろしくお願いいたします。 名前 神野 雄大(Jinno Yudai)/@yjinn448208 最近X始めました! 所属 クラスメソッド株式会社

    クラウド事業本部 コンサルティング部 ソリューションアーキテクト • Japan All AWS Top Engineers 2025 • AWS Community Builder (AI Engineering) ◦ 選出されました!嬉しい! 資格 好きな サービス ブログはこのアイ コンで書いていま す! ラ・ムーとチーズ ナンが好きです! • Amazon Bedrock AgentCore
  2. 対象と目的 3 本日はAmazon Bedrock AgentCoreをアプリケーションに組み込もうと思っている方に 対して実際に作った知見を少しでも共有できればと思っております。 対象 対象と目的 • Amazon

    Bedrock AgentCoreを触ったことはあるがお試しレベル で、アプリケーションに組み込む際のTipsを知りたい 目的 • Amazon Bedrock AgentCoreやStrands Agentsを使ったアプリケーショ ンの実装Tipsを理解して活用できるようになる
  3. 直近のモデルも賢いかつ、自動化や一連のオペレーションが目的なのであれば、ほぼシ ングルエージェントでやりたいことはできて、今回のユースケースでは(あくまで今回 は)あえてエージェント同士をリアルタイムで強調させる必要はないと、感じたためで す。 Tips2:エージェントの設計単位について考える 観点 複数RuntimeでのA2A 独立Runtime 構成の複雑さ オーケストレータ+プロトコル実装が必

    要 エージェント単体で完結、シンプル レイテンシ エージェント間の通信往復が発生し遅延 が積み重なる 障害がエージェント単位で局所化 トークン消費 各エージェントが個別にコンテキストを 持つため総トークン量が増大 1エージェントのコンテキストで収まるケースも。 障害の影響範囲 1エージェントの障害が連鎖しうる 障害がエージェント単位で局所化 向いているケース エージェント間のリアルタイム協調が必 須な場面(例: 保険診断で審査・リスク 評価・約款確認の各エージェントが相互 に判断を突き合わせるなど) 1タスク=1エージェントで完結する場面(例: 記事要約、ルー ル設定、RAG検索)
  4. Direct IngestionはRAGのデータを直接取り込み可能にする機能になります。対象のド キュメントのみを取り込むため、データソース全体と同期が取られることはありませ ん。 Tips3:Knowledege Bases Direct Ingestion 25 ユーザー

    1ファイルだけ同期で きる! S3 Knowledge Base OpenSearch ファイルアップロード 対象のファイルだけを指 定してDirect Ingestion 1ファイルのみベクトルに変換 Direct Ingestion 通常の同期 ユーザー 1ファイルだけ同期したい けどデータソース全体のス キャンが走ってしまう Knowledge Base S3 OpenSearch 差分を確認して同期 .metadata.jsonも配置して 指定すれば、メタデータも 同期させる
  5. InfoOrgainzerでは取り込んだデータをRAGとしてすぐに活用したい要件がありました。 従来のIngestionだと取り込みのたびに全件差分を見て・・・を繰り返すととても現実的 ではなく今回はこのDircet Ingestionを使ってみようと思い採用しました! Tips3:Knowledege Bases Direct Ingestion 26 ユーザー

    記事要約処理 ユーザー このURLを要約して このURLを要約して ユーザー このURLを要約して Knowledge Base S3 S3 Vectors 順次対応 ファイルアップロード 順次ベクトルDBに保存 同期 RAG AIエージェント 参照
  6. 注意としては整合性を意識した方がいい作りになっています。S3保存と、KB反映はそれ ぞれ独立したオペレーションで、KB失敗した状態で同期を取った場合は差分が発生しま す。なのでKB失敗時はロールバックするような作りが良いかもしれないですね。 Tips3:Knowledege Bases Direct Ingestion 27 記事要約処理 Knowledge

    Base S3 S3 Vectors ファイルアップロード 同期失敗 ✖ 同期失敗してもファイルは残り続ける。手動で同期をかけた 際に不正なファイルが同期される可能性があるため、ファイ ルも削除するなどの対応が考えられる。
  7. Memoryをどの単位で設計するかは悩ましいですよね。短期記憶はセッション単位で分 離されるので、極論アプリケーションで1つで良いと思います。ただ長期記憶は注意。短 期記憶から自動抽出される仕組み上、同じメモリリソースを複数エージェントで共有す ると、それぞれの会話由来の記憶が混在します。namespaceを分けても抽出先が分かれ るだけで、2エージェントの短期記憶から抽出され混合されます。 Tips4:AgentCore Memoryの長期記憶の話 33 長期記憶 短期記憶

    AIエージェント君A AIエージェント君B 混在して良いか?が設計のポイント。共 有したいなら同一メモリリソース、分離 したいならメモリリソースごと分ける。 どちらの履歴も長期記憶として抽出 AgentCore Memory 長期記憶 短期記憶 AIエージェント君A AIエージェント君B ここのエージェント単位で抽出 AgentCore Memory 長期記憶 短期記憶 AgentCore Memory ここのエージェント単位で抽出
  8. Amazon Bedrock Guardrailsをアプリケーションに組み込んでインプット・アウトプッ トをコントロールしたいケースはあると思います。 Tips5:Guardrailsの小ネタ 36 Amazon Bedrock with Guardrails

    ユーザー/ アプリケーション !$?!@!@#@@ (不適切なコンテンツ) ガードレールによってブ ロックされました • コンテンツフィルター ◦ ヘイト、侮辱、性的、暴力、不正行為、プロンプトアタック などの有害コンテンツをテキスト・画像の両方で検出・ブ ロック • 拒否トピック ◦ 特定のトピック(話題)を定義してブロック • ワードフィルター ◦ カスタムの単語やフレーズを定義してブロック • 機密情報フィルター ◦ PII(個人識別情報)などの機密情報をブロックまたはマスク • コンテキストグラウンディングチェック ◦ ソース情報に基づかないハルシネーションを検出・フィルタ リング • 自動推論チェック(プレビュー) ◦ 論理ルールに基づいてモデル応答の正確性を検証し、事実誤 認を防止 Guardrailsの主な機能
  9. コンテンツフィルターなどの日本語対応はStandard Tierしか対応しておりません。 Standard Tierの場合はクロスリージョン推論が必須になるので注意です。あれ・・・? Gaurdrailsを設定しているのにスルーされている・・・?場合はClassic Tierで意外に 引っかかりやすいポイントなので共有します。 Tips5:Guardrailsの小ネタ 37 Amazon

    Bedrock with Guardrails ユーザー/ アプリケーション !$?!@!@#@@ (不適切なコンテンツ) !$?!@!@#@@ (不適切なコンテンツ) え、不適切なコンテンツ が!? Standard Tier & クロスリージョン推論を有効 Amazon Bedrock with Guardrails ユーザー/ アプリケーション !$?!@!@#@@ (不適切なコンテンツ) ガードレールによってブ ロックされました (不適切なコンテンツ) Classic Tier