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

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

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レベル) • 詳細調査(コードレベル) • 修正 • デプロイ • 動作確認 人間 • 承認