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

Bedrock AgentCore RuntimeでAuth0 Changelog調査AIを...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for t.t t.t
June 16, 2026

Bedrock AgentCore RuntimeでAuth0 Changelog調査AIをアップグレードした話

Avatar for t.t

t.t

June 16, 2026

More Decks by t.t

Other Decks in Technology

Transcript

  1. 自己紹介 名前 • 辻 翼(つじ つばさ) 業務内容 • AWSを用いたクラウドアプリケーション開発 プライベート

    • バスケで汗を流してストレス発散中 • 家では子どもと犬に振り回される日々... 所属 • エムオーテックス株式会社 AWS 歴 • 4年ぐらい 好きな AWS サービス • Amazon Bedrock(まだまだ勉強中) • AWS CloudFormation
  2. 背景 • 弊社製品の認証基盤に Auth0 を採用 • Auth0 は外部サービス → 日々の更新監視・仕様変更の影響確認が必要

    • 過去に API フィールド廃止を事前検知できたが、見落とした場合は10,000社以上のお客様がログインできないリスクがあった • Changelog の翻訳・影響有無の判断を6名が手動で実施していた • Auth0 に不慣れなメンバーが担当するケースもあり、調査時間と判断への不安が課題
  3. これまでの取り組み ~導入効果~ 定量評価 指標 導入前 導入後 効果 平均 0:40:35 0:26:56

    -13.7分 P90 1:31:48 0:47:00 -44.8分 定性評価 翻訳・要約の精度は? 全体工数は短縮できたか? 総合満足度は?
  4. でも、まだ足りなかった・・・ 課題①:二重管理の手間 • Auth0機能の使用状況をCSVに書く → コードと二重管理になる • CSVの更新漏れが発生するリスクも 課題②:不安が払拭できない •

    AIが手がかりをくれるおかげで調査時間は短縮できた • ただし根拠はCSV上の情報のみ → 担当者は結局ソースコードも確認している • 調査時間は短縮できても、不安は払拭できていない 課題③:影響ありの場合に修正調査が別途発生 • 影響があった場合、修正方法の調査はゼロから自分でやる必要がある
  5. 次のステージへ 方針 • 複数の情報源(CSV, コード)を使い分け、調査から修正PRまで対応できる仕組みにする RAG単体(Knowledge Bases) → AIエージェント(AgentCore Runtime

    + Tool Use) なぜAgentCore Runtime? • 今回は影響調査から修正PRの生成まで、やることが複数に増えた • 複数のToolを自律的に使い分けるにはエージェント構成が自然な選択 • マネージドエージェント実行基盤 → セッション管理・スケーリングをAWSに任せられる • Bedrock Agentsより柔軟 → 好きなライブラリを持ち込んでToolを自由に実装できる • ぶっちゃけ試してみたかったのが一番の理由です(笑)
  6. エージェントが使うTools Tool 役割 使用サービス・API Tool 1 Auth0使用状況CSVから利用有無を確認 Knowledge Bases(CSVベース)retrieve API

    Tool 2 ソースコードから関連コード・ファイルパスを探索 Knowledge Bases(コードベース)retrieve API Tool 3 ファイルパスをもとに実ファイルの全文を取得 CodeCommit GetFile API Tool 4 修正PRを生成 CodeCommit CreatePullRequest API 設計思想 • Changelogの内容をもとに意味的に関連コードを検索したい → Knowledge Basesを使用 • KBはchunk化されており、正確な確認には不向き → 実ファイルはCodeCommitから取得 • Tool2でKBのmetadataからファイルパスを特定 → Tool3で実ファイル全文を取得する2段構え
  7. 実装の仕組み • Strands Agentsを使うことで、@tool デコレータでToolを定義し Agent() に渡すだけ app = BedrockAgentCoreApp()

    @tool def search_operational_kb(query: str) -> str: """Tool1: Auth0使用状況CSVから利用有無を確認""" ... # Tool2, Tool3, Tool4も同様に@toolで定義 @app.entrypoint def handler(payload: dict) -> dict: agent = Agent( model="...", system_prompt=SYSTEM_PROMPT, tools=[search_operational_kb, search_code_kb, fetch_file, create_pr], ) result = agent(payload.get("changelog_content", "")) return {"result": result.message}
  8. 実装ポイント • AgentCore RuntimeをSAMで管理し、CodeBuild, CodePipelineで自動デプロイ • AWS::BedrockAgentCore::Runtime リソースをSAMに直接記述 MyAgentRuntime: Type:

    AWS::BedrockAgentCore::Runtime Properties: AgentRuntimeName: myAgentRuntime RoleArn: !ImportValue my-agentcore-role-${EnvName} AgentRuntimeArtifact: CodeConfiguration: Runtime: PYTHON_3_14 EntryPoint: - agent.py Code: S3: Bucket: !Sub 'my-deployment-bucket-${EnvName}' Prefix: 'my-agent/agent.zip' EnvironmentVariables: OPERATIONAL_KB_ID: !ImportValue my-operational-kb-id-${EnvName} CODE_KB_ID: !ImportValue my-code-kb-id-${EnvName}
  9. ハマりどころ ① AgentRuntimeName に環境名をハイフンで付与(例: `myAgent-dev`)したらエラー • `AgentRuntimeName` はハイフン不可(パターン: `[a-zA-Z][a-zA-Z0-9_]{0,47}`)のため、アンダーバーに変更(例: `myAgent_dev`)で解決

    ② デプロイ時に権限不足エラーが発生 • Strands AgentsがConverseStream APIを使うため、IAMロールに`bedrock:InvokeModelWithResponseStream` を付与して解決 • CodeBuild内のSAMからAgentCore Runtimeをデプロイするため、CodeBuildロールに`bedrock-agentcore:*` を付与して解決 ③ x86環境でビルドするとライブラリがアーキテクチャ不一致で動かない場合がある • AgentCore RuntimeはARM64一択のため、CodeBuildのImageにARM64系を指定して解決 ④ `agent.py` を書き換えてSAMデプロイしても反映されない • CloudFormationがリソースの変更を検知できないため、AgentCore Runtimeの環境変数に`DEPLOY_TIMESTAMP: !Ref DeployTimestamp` を付与して変更を検知させることで解決
  10. 現状 / 残タスク できてること • AgentCore Runtime上でエージェントとTool1〜3の実装完了 • ソースコード用Knowledge Basesの構築

    • SAMテンプレートによるAgentCore Runtimeの自動デプロイ 残タスク • Tool4(PR自動生成)の実装 • LambdaからAgentCoreを呼ぶよう既存Lambdaを改修 • ソースコード用Knowledge Basesの精度チューニング • エージェントのプロンプト改善 • Auth0使用状況CSVからAuth0 Management APIに移行
  11. まとめ 学び • AgentCore × Strands Agentsで、Tool Useエージェントが思ったより簡単に作れた。 • ハマりどころはあるけど、実業務に十分使えそうな予感!

    今後の展望 STEP 01 AIアシスタント AI • 初期調査(CSVレベル) 人間 • 詳細調査(コードレベル) • 修正 • デプロイ • 動作確認 • 承認 STEP 02 AI協働者 AI • 初期調査(CSVレベル) • 詳細調査(コードレベル) 人間 • 修正 • デプロイ • 動作確認 • 承認 ★ 現在地 STEP 03 AI専門家 AI • 初期調査(CSVレベル) • 詳細調査(コードレベル) • 修正 人間 • デプロイ • 動作確認 • 承認 STEP 04 AI自律家 AI • 初期調査(CSVレベル) • 詳細調査(コードレベル) • 修正 • デプロイ • 動作確認 人間 • 承認