𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
AWS Bedrock Knowledge Basesで社内RAGを構築する方法|SESエンジニアのためのAI検索基盤ガイド

AWS Bedrock Knowledge Basesで社内RAGを構築する方法|SESエンジニアのためのAI検索基盤ガイド

AWSBedrockRAGKnowledge Bases
目次
⚡ 3秒でわかる!この記事のポイント
  • Bedrock Knowledge BasesはS3にドキュメントを置くだけでRAG検索基盤を構築できるフルマネージドサービス
  • ベクトルDB(OpenSearch Serverless / Aurora)の自動管理により、インフラ運用の手間なくRAGを実現
  • SES現場で需要急増中のRAG構築スキルを習得すれば、AI案件の単価アップに直結する

2026年、企業のAI活用で最も注目されているのが**RAG(Retrieval-Augmented Generation)**です。社内文書をAIが検索・参照して回答を生成するこの技術は、企業のDXプロジェクトに欠かせない要素になっています。

AWS Bedrock Knowledge Basesは、RAGをフルマネージドで構築できるサービスです。S3にドキュメントを配置し、数回の設定でベクトル検索基盤が完成します。インフラの運用負荷を最小限に抑えながら、高品質なAI検索を実現できるのが最大の強みです。

本記事では、Bedrock Knowledge Basesを使ったRAG構築の手順を、アーキテクチャ設計から実装・運用まで実践的に解説します。

この記事でわかること
  • RAG(検索拡張生成)の仕組みと企業での活用シーン
  • Bedrock Knowledge Basesのアーキテクチャと構成要素
  • S3 + OpenSearch Serverlessでの構築手順
  • SES案件でのRAG構築スキルの市場価値

RAGとは?なぜ企業で求められているのか

RAGの基本概念

RAG(Retrieval-Augmented Generation)は、AIの回答精度を向上させるためのアーキテクチャパターンです。

従来のLLM(大規模言語モデル)は、学習データに含まれる情報のみで回答を生成します。そのため、社内固有の情報(社内規定、製品仕様、議事録など)に対しては正確に回答できません。

RAGは以下のフローで、この問題を解決します。

  1. 検索(Retrieval): ユーザーの質問に関連するドキュメントをベクトル検索で取得
  2. 拡張(Augmentation): 取得したドキュメントをLLMのプロンプトに追加
  3. 生成(Generation): ドキュメントの内容を踏まえてLLMが回答を生成
[ユーザーの質問]

[ベクトル検索] → 関連ドキュメントを取得

[プロンプト構築] = 質問 + 関連ドキュメント

[LLM(Claude / Titan等)] → 回答生成

[ユーザーへの回答](出典付き)

企業でのRAG活用事例

活用シーン対象ドキュメント効果
社内ヘルプデスク社内規定・FAQ・マニュアル問い合わせ対応時間70%削減
カスタマーサポート製品マニュアル・FAQ回答精度・速度の向上
法務・コンプライアンス契約書・法令・ガイドライン法的リスクの早期発見
技術文書検索API仕様書・設計書・議事録エンジニアの調査時間短縮
営業支援提案書・事例集・価格表提案品質の標準化

Bedrock Knowledge Basesのアーキテクチャ

サービスの全体像

Bedrock Knowledge Basesは、以下のコンポーネントで構成されています。

[S3バケット(ドキュメント保管)]

[Data Source(データソース設定)]

[Chunking(ドキュメント分割)]

[Embedding Model(ベクトル化)]

[Vector Store(ベクトルDB)]
    ├── OpenSearch Serverless(推奨)
    ├── Amazon Aurora PostgreSQL
    ├── Pinecone
    └── Redis Enterprise

[検索時]
[ユーザークエリ] → [Embedding] → [Vector Search] → [関連チャンク取得]

[Foundation Model(Claude等)] → [回答生成]

構成要素の選択肢

コンポーネント選択肢推奨
ドキュメント保管S3S3(一択)
Embedding ModelTitan Embeddings V2 / Cohere EmbedTitan V2
Vector StoreOpenSearch Serverless / Aurora / PineconeOpenSearch Serverless
Foundation ModelClaude 3.5 Sonnet / Claude 4 / TitanClaude 4 Sonnet
チャンキングFixed / Semantic / HierarchicalSemantic(推奨)

Bedrock Knowledge Bases RAGアーキテクチャ

構築手順

Step 1: S3バケットの準備

RAGの元となるドキュメントをS3に配置します。

# ドキュメント用のS3バケットを作成
aws s3 mb s3://my-company-knowledge-base-docs --region ap-northeast-1

# ドキュメントをアップロード
aws s3 sync ./documents/ s3://my-company-knowledge-base-docs/

# サポートされているファイル形式
# PDF, TXT, MD, HTML, DOC, DOCX, CSV, XLS, XLSX

ドキュメントの品質がRAGの精度を大きく左右します。以下のポイントに注意しましょう。

  • 最新の情報: 古いドキュメントは削除または更新
  • 構造化: 見出し・段落が適切に構成されたドキュメント
  • 重複排除: 同じ内容の複数バージョンを避ける
  • メタデータ: ファイル名に日付やカテゴリを含める

Step 2: Knowledge Baseの作成

AWSコンソールまたはCLIでKnowledge Baseを作成します。

# AWS CLIでKnowledge Baseを作成
aws bedrock-agent create-knowledge-base \
  --name "company-knowledge-base" \
  --description "社内ドキュメント検索用ナレッジベース" \
  --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \
  --knowledge-base-configuration '{
    "type": "VECTOR",
    "vectorKnowledgeBaseConfiguration": {
      "embeddingModelArn": "arn:aws:bedrock:ap-northeast-1::foundation-model/amazon.titan-embed-text-v2:0"
    }
  }' \
  --storage-configuration '{
    "type": "OPENSEARCH_SERVERLESS",
    "opensearchServerlessConfiguration": {
      "collectionArn": "arn:aws:aoss:ap-northeast-1:123456789012:collection/xxx",
      "vectorIndexName": "kb-index",
      "fieldMapping": {
        "vectorField": "vector",
        "textField": "text",
        "metadataField": "metadata"
      }
    }
  }'

Step 3: データソースの設定

S3バケットをデータソースとして登録します。

# データソースを追加
aws bedrock-agent create-data-source \
  --knowledge-base-id "KB-XXXXXXXXXX" \
  --name "company-docs" \
  --data-source-configuration '{
    "type": "S3",
    "s3Configuration": {
      "bucketArn": "arn:aws:s3:::my-company-knowledge-base-docs"
    }
  }' \
  --vector-ingestion-configuration '{
    "chunkingConfiguration": {
      "chunkingStrategy": "SEMANTIC",
      "semanticChunkingConfiguration": {
        "maxTokens": 300,
        "bufferSize": 0,
        "breakpointPercentileThreshold": 95
      }
    }
  }'

Step 4: データの同期(インジェスション)

ドキュメントをベクトル化してVector Storeに格納します。

# データの同期を開始
aws bedrock-agent start-ingestion-job \
  --knowledge-base-id "KB-XXXXXXXXXX" \
  --data-source-id "DS-XXXXXXXXXX"

# 同期状態の確認
aws bedrock-agent get-ingestion-job \
  --knowledge-base-id "KB-XXXXXXXXXX" \
  --data-source-id "DS-XXXXXXXXXX" \
  --ingestion-job-id "JOB-XXXXXXXXXX"

Step 5: テストクエリの実行

構築したKnowledge Baseにクエリを送信してテストします。

# Retrieve APIでテスト(検索のみ)
aws bedrock-agent-runtime retrieve \
  --knowledge-base-id "KB-XXXXXXXXXX" \
  --retrieval-query '{"text": "有給休暇の申請方法を教えてください"}' \
  --retrieval-configuration '{
    "vectorSearchConfiguration": {
      "numberOfResults": 5
    }
  }'

# RetrieveAndGenerate APIでテスト(検索+回答生成)
aws bedrock-agent-runtime retrieve-and-generate \
  --input '{"text": "有給休暇の申請方法を教えてください"}' \
  --retrieve-and-generate-configuration '{
    "type": "KNOWLEDGE_BASE",
    "knowledgeBaseConfiguration": {
      "knowledgeBaseId": "KB-XXXXXXXXXX",
      "modelArn": "arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-v4-sonnet"
    }
  }'

チャンキング戦略の最適化

チャンキングとは

チャンキングは、長いドキュメントを検索に適したサイズの断片(チャンク)に分割する処理です。チャンキングの品質がRAGの精度を大きく左右します。

チャンキング方式の比較

方式特徴適用シーン
Fixed Size固定トークン数で分割均一な構造のドキュメント
Semantic意味の区切りで分割一般的なビジネス文書(推奨)
Hierarchical大チャンク+小チャンクの2層長い技術文書・法律文書
None分割しない短い文書(FAQ等)

Semanticチャンキングは、文の意味的なまとまりを認識して分割するため、最も自然な検索結果が得られます。技術文書や社内規定など、見出しと本文が構造化されたドキュメントに最適です。

チャンクサイズの調整

{
  "chunkingStrategy": "SEMANTIC",
  "semanticChunkingConfiguration": {
    "maxTokens": 300,
    "bufferSize": 0,
    "breakpointPercentileThreshold": 95
  }
}
  • maxTokens: 1チャンクの最大トークン数。300〜500が推奨
  • breakpointPercentileThreshold: 文の区切りの閾値。95がデフォルト

チャンクが小さすぎると文脈が失われ、大きすぎると検索精度が下がります。ドキュメントの性質に応じて調整しましょう。

コストの見積もり

料金体系

Bedrock Knowledge Basesの料金は以下の要素で構成されます。

コンポーネント料金(東京リージョン目安)
S3ストレージ$0.025/GB/月
Titan Embeddings V2$0.00002/1Kトークン
OpenSearch Serverless$0.24/OCU/時間(最小2 OCU)
Claude 4 Sonnet(推論)$0.003/1K入力トークン
データ同期$0.001/ファイル

コスト試算例

社内ドキュメント1,000件(平均10ページ)のRAG基盤の月額コスト試算を示します。

項目月額コスト
S3ストレージ(5GB)$0.13
Embedding(初回+更新)$5〜10
OpenSearch Serverless$350〜700
推論(1日100クエリ)$15〜30
合計$370〜740

OpenSearch Serverlessのコストが大きいため、小規模な場合はAurora PostgreSQL + pgvectorの選択も検討しましょう。

# コスト比較(月額概算)
OpenSearch Serverless: $350〜(最小2 OCU固定)
Aurora Serverless v2:  $50〜(最小0.5 ACU、使用量に応じて拡張)

SES案件でのRAG構築スキルの価値

RAGエンジニアの需要と単価

2026年、RAG関連のSES案件は急増しています。

スキルレベル月額単価(目安)求められるスキル
ジュニア60〜75万円Bedrock基本操作、S3連携
ミドル75〜95万円チャンキング最適化、精度チューニング
シニア95〜120万円アーキテクチャ設計、マルチモーダルRAG

差別化ポイント

RAG案件で高単価を実現するためのスキルセットを紹介します。

  • チャンキング戦略の設計: ドキュメントの特性に応じた最適な分割方式の選択
  • 精度評価と改善: 検索精度(Recall / Precision)の測定とチューニング
  • ハイブリッド検索: ベクトル検索 + キーワード検索の組み合わせ
  • セキュリティ設計: アクセス制御、データ暗号化、監査ログ
  • コスト最適化: ベクトルDBの選択、キャッシュ戦略

セキュリティとガバナンス

データアクセス制御

RAGの対象ドキュメントに機密情報が含まれる場合、適切なアクセス制御が必要です。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:RetrieveAndGenerate",
        "bedrock:Retrieve"
      ],
      "Resource": "arn:aws:bedrock:ap-northeast-1:123456789012:knowledge-base/KB-XXXXXXXXXX",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/Department": "Engineering"
        }
      }
    }
  ]
}

監査ログの設定

CloudTrailを使って、RAGへのアクセスログを記録します。

# CloudTrailでBedrock APIのログを有効化
aws cloudtrail put-event-selectors \
  --trail-name "bedrock-audit-trail" \
  --event-selectors '[{
    "ReadWriteType": "All",
    "IncludeManagementEvents": true,
    "DataResources": [{
      "Type": "AWS::Bedrock::KnowledgeBase",
      "Values": ["arn:aws:bedrock:ap-northeast-1:123456789012:knowledge-base/KB-XXXXXXXXXX"]
    }]
  }]'

まとめ: Bedrock Knowledge BasesでRAGを始めよう

AWS Bedrock Knowledge Basesを使えば、インフラ運用の手間を最小限に抑えながら高品質なRAG基盤を構築できます。

  • 簡単セットアップ: S3にドキュメントを置いてKBを作成するだけ
  • フルマネージド: ベクトルDB・Embeddingの管理不要
  • 高精度: Semanticチャンキング+Claude 4で高品質な回答
  • スケーラブル: ドキュメント増加に自動対応
  • セキュア: IAMベースのアクセス制御、暗号化対応

SESエンジニアとしてRAG構築スキルを身につけることは、AI時代の市場価値を大きく高める投資です。本記事の手順を参考に、まずは小規模なKnowledge Baseを構築してみましょう。

関連記事

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修