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

Amazon_Bedrock_Knowledge_Basesを用いたAuth0調査の自動化.pdf

Avatar for t.t t.t
February 17, 2026
78

 Amazon_Bedrock_Knowledge_Basesを用いたAuth0調査の自動化.pdf

Avatar for t.t

t.t

February 17, 2026

Transcript

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

    プライベート • バスケで汗を流してストレス発散中 • 家では子どもと犬に振り回される日々... 2 @tsu2_dev (最近始めました) 所属 • エムオーテックス株式会社 AWS 歴 • 4年ぐらい 好きな AWS サービス • Amazon Bedrock(まだまだ勉強中)
  2. 背景 • 弊社製品の認証基盤では Auth0 を使用している • Auth0 は外部サービスのため、日々 Changelog の監視を行っている

    • すでに Auth0 Changelog の RSS を監視して自動通知する仕組みはあるが、 「アップデート内容の要約」や「弊社製品への影響有無」は手動実施 3 この手動作業を AI で自動化したい!!
  3. 要件とサービス選定 4 • Auth0 が更新されたら、自動で調査を始めてほしい • kiro cli のような対話型ツールは手動での質問が必要なので要件を満たせず •

    RAG(検索拡張生成)を一から実装したくない • 文書のベクトル化、ベクトルストアの作成/保存、ベクトル検索の実装、 質問のベクトル化、検索結果+質問で回答取得、…(やること多すぎ) • コストを抑えたい • ベクトルストアは S3 Vectors を使用したい
  4. Amazon Bedrock Knowledge Bases とは 独自データを活用したRAG(検索拡張生成)を簡単に実現できるサービス 従来のAIは一般的な知識しか持たないが、Knowledge Bases により 社内文書や専門知識を参照してより正確な回答を生成できる

    6 カスタマイズ性は制限されるが、RAGの実装工数を大幅削減できる! フェーズ 独自RAG Knowledge Bases データ準備・取り込み ベクトルDB構築・設定が必要 S3への文書アップロードのみ 埋め込みモデル選定・実装 ベクトル化・インデックス自動 検索・参照 検索アルゴリズム実装が必要 関連文書の自動検索 検索ロジックを自由にカスタマイズ 検索方法の調整は制限 回答生成 RAG統合ロジックの実装が必要 検索結果+AIモデルで自動生成 回答フォーマットを自由に制御 根拠文書も自動で提示
  5. Amazon Bedrock Knowledge Bases 作ってみた 7 弊社のテックブログにも「Knowledge Bases を CloudFormation

    で構築した話」を公開予定 https://tech.motex.co.jp/ 文書を保存するための S3 バケット ベクトルデータを保存するための S3 ベクトルバケット・インデックス 文書取り込みのための ナレッジベースのデータソース RAG検索・回答生成のための ナレッジベース ナレッジベース用の IAM Role
  6. Amazon Bedrock Knowledge Bases にアクセス 9 Python コード(boto3)だと retrieve_and_generate で

    RAG 検索・回答取得が可能 BEDROCK_AGENT_CLIENT = boto3.client(service_name='bedrock-agent-runtime’, region_name=REGION_NAME) def summarize_with_knowledge_base(changelog_content: str) -> str: """Bedrock Knowledge BaseでAuth0 Changelogを要約""" response = BEDROCK_AGENT_CLIENT.retrieve_and_generate( input={ 'text': changelog_content }, retrieveAndGenerateConfiguration={ 'type': 'KNOWLEDGE_BASE', 'knowledgeBaseConfiguration': { 'knowledgeBaseId': KNOWLEDGE_BASE_ID, 'modelArn': f'arn:aws:bedrock:{REGION_NAME}::foundation-model/{MODEL_ID}', 'retrievalConfiguration': { 'vectorSearchConfiguration': { 'numberOfResults': 10 }}, 'generationConfiguration': { 'inferenceConfig': { 'textInferenceConfig': { 'maxTokens': 4096, 'temperature': 0.0}}, 'promptTemplate': { 'textPromptTemplate': Auth0AnalysisPromptTemplate.PROMPT_TEMPLATE} } } } ) return response['output']['text'] 直接モデルを呼び出すわけではないため、 `bedrock-runtime`ではなく `bedrock-agent-runtime`になる 質問に関連する文書の 上位何件を対象にするか 質問や処理対象のテキストを渡す 独自の回答を生成するため、 デフォルトプロンプトをカスタムテンプレートで上書き 使用するKnowledge BaseのID 回答生成に使用するLLM(Claude等)のARN
  7. 苦戦したこと ① チャンキングの重要性 問題: 回答精度が低い 原因: CSVの複数行が1つのチャンクに含まれてた 解決: 1行ずつファイル分割 +

    ChunkingStrategy: NONE • FIXED_SIZE: 固定サイズでチャンク分割(デフォルト300トークン) • HIERARCHICAL: 階層的チャンク(親・子チャンク) • SEMANTIC: 意味的まとまりでチャンク分割 • NONE: 1ファイル = 1チャンク(今回採用) ② プロンプトの競合問題 問題: `Sorry, I am unable to assist you with this request.`という回答が返ってくる 原因: Knowledge Bases のデフォルトプロンプトと独自プロンプトが競合していた(っぽい) 解決: プロンプトテンプレートで上書き($search_results$, $query$ のみ使用) • $search_results$: 検索された関連文書 • $query$: ユーザーの質問内容 • $output_format_instruction$: 出力形式の指示 • $current_time$: 現在時刻 12
  8. 苦戦したこと 13 version: 0.2 phases: install: runtime-versions: python: 3.14 pre_build:

    commands: # S3の既存ファイルをクリア ⋮ # CSVファイルを1行ずつ分割 ⋮ #分割したファイルをS3にアップロード ⋮ # Knowledge Base データソース同期 - | KNOWLEDGE_BASE_ID=$(aws cloudformation list-exports --query "Exports[?Name==‘sample-knowledge-base-id-${ENV_NAME}'].Value" --output text) DATA_SOURCE_ID=$(aws cloudformation list-exports --query "Exports[?Name==‘sample-data-source-id-${ENV_NAME}'].Value" --output text) echo "Starting ingestion job..." aws bedrock-agent start-ingestion-job --knowledge-base-id $KNOWLEDGE_BASE_ID --data-source-id $DATA_SOURCE_ID ⋮ ③ データソースの同期が別途必要 問題: S3 の文書を更新しても、回答結果が変わらない 原因: Knowledge Bases はベクトルストアへの反映が別途必要 解決: buildspec.yaml でデプロイ時に自動同期する仕組みを構築
  9. 今後の展望 1. 段階的AI移行戦略 • 完成したけど、いきなり AI に丸投げも怖いので段階的な移行を検討中 2. システムの発展・強化 •

    過去データ蓄積: 調査結果の履歴管理 • 類似ケース検索: 過去事例の自動参照 • 精度向上: 学習データ増加による判定精度UP 3. 横展開の検討 • AWS や 他の外部サービスの監視への応用 14 AIアシスタント • 人間が主導、AIが補助 • AI回答をダブルチェック材料 として活用 AI協働者 • AIが初期調査を実施 • 人間が詳細検証・修正・最終判断 • 役割分担による効率化 AI専門家 • AIが詳細調査から修正まで実施 • 人間は承認・監督に専念 • 高度な自動化による生産性向上