プロンプトエンジニアリング例:Least-to-Most
本記事は、プロンプトエンジニアリングの記事で比較した「Least-to-Most」による、説明用のサンプル記事です。
以下はAIの回答結果です。構成案の妥当性を保証するものではありません。
入力プロンプト
【作業依頼】
社内の問い合わせ対応を効率化するため、社内マニュアルやFAQを参照して回答するAIチャットシステムを新規構築したい。実現方法を検討してほしい。
【現時点で分かっている要件】
■ 業務目的
社内問い合わせへの対応工数を削減したい
■ 利用者
社内従業員約500名
■ 機能要件
・チャット形式で質問できる
・社内マニュアルやFAQを参照して回答する
・回答の根拠となった文書を表示する
■ 非機能要件
・社外からアクセスできないようにする
・平日日中の利用を想定する
■ 制約条件
・AWS環境を利用する
■ 未決定事項
・システム構成
・使用サービス
・データ保存方式
・性能要件
・詳細なセキュリティ方式
・予算など
【指示】
この要件を満たすシステム構成を、Least-to-Mostの考え方を用いて段階的に検討してください。
1. システム構成を検討するために必要な課題を、小さな問題に分解してください。
2. 分解した問題を、依存関係を考慮して簡単なものから順番に並べてください。
3. 業務要件、機能要件、非機能要件を整理し、確定している事項と不足している事項を明確にしてください。
4. 前の段階で得られた結果を利用しながら、各課題を順番に解決してください。
5. 最後に、各段階の検討結果を統合し、システム構成案を提示してください。
各段階で何を検討し、どのような結論になったのかが分かるようにしてください。
未決定事項については、仮定と確認が必要な事項を区別してください。
AIの回答全文
社内問い合わせ対応AIチャットシステムの構成検討
1. 概要
1.1 背景・目的
社内問い合わせへの対応工数を削減するため、社内マニュアルやFAQを参照して回答するAIチャットシステムを新規構築する。
社内従業員約500名が利用することを想定し、AWS環境での実現方法を検討する。
1.2 検討方法
本検討では、Least-to-Mostの考え方を採用する。
Least-to-Mostとは、複雑な問題を小さな課題に分解し、比較的簡単な課題から順番に解決することで、最終的な問題の解決につなげる手法である。
以下の順番で検討する。
- 課題の分解と依存関係の整理
- 要件の整理
- 回答方式の検討
- 文書の保存・検索方式の検討
- システム構成とAWSサービスの検討
- セキュリティ方式の検討
- 性能・可用性・運用方式の検討
- コストと構築方式の比較
- 検討結果の統合
各段階では、以下を明確にする。
- 入力:前段階で確定した情報
- 検討内容:解決すべき課題
- 結論:現時点で導ける判断
- 未決定事項:追加確認が必要な情報
なお、確定していない情報については、事実と仮定を区別し、根拠のない数値を確定要件として扱わない。
2. 第1段階:課題の分解と依存関係の整理
2.1 検討内容
「AWS上に社内向けAIチャットシステムを構築する」という問題を、小さな課題に分解する。
2.2 課題の分解
| 順序 | 課題 | 解決すべき内容 | 主な依存関係 |
|---|---|---|---|
| 1 | 要件整理 | 確定事項と未決定事項を明確化 | なし |
| 2 | 回答方式 | 社内文書を利用して回答する方法 | 要件整理 |
| 3 | 文書管理 | 文書の保存、更新、検索方法 | 回答方式 |
| 4 | システム構成 | 必要な機能とAWSサービスの選択 | 回答方式・文書管理 |
| 5 | セキュリティ | 社外アクセス禁止、認証、権限管理 | 要件整理・システム構成 |
| 6 | 性能・運用 | 応答性能、可用性、監視、運用方法 | システム構成 |
| 7 | コスト評価 | 初期費用、運用費用、構成比較 | システム構成・性能 |
| 8 | 最終構成 | 各検討結果を統合した構成案 | 全段階 |
※この順序は検討を進めるための基本順序であり、セキュリティや予算などの重要な制約は初期段階から並行して確認する。
2.3 結論
最初からAWSサービスを決定するのではなく、要件、回答方式、データ管理方式を整理した後にサービスを選定する。
特に、以下の項目が構成に大きく影響する。
- 文書量と文書形式
- 文書ごとの閲覧権限
- 社外アクセス禁止の具体的な定義
- 利用者の認証方式
- 同時利用者数
- 予算
3. 第2段階:要件の整理
3.1 入力
ユーザーから提示された業務要件、機能要件、非機能要件、制約条件。
3.2 確定している要件
| 分類 | 項目 | 内容 | 状態 |
|---|---|---|---|
| 業務 | 目的 | 社内問い合わせ対応工数の削減 | 確定 |
| 業務 | 利用者 | 社内従業員約500名 | 確定 |
| 機能 | チャット | 自然言語で質問・回答できる | 確定 |
| 機能 | 文書参照 | 社内マニュアル・FAQを参照する | 確定 |
| 機能 | 根拠表示 | 回答の根拠となった文書を表示する | 確定 |
| 非機能 | アクセス制御 | 社外からアクセスできない | 確定 |
| 非機能 | 利用時間 | 平日日中を想定 | 確定 |
| 制約 | インフラ | AWSを利用する | 確定 |
3.3 不足している要件
| 分類 | 確認事項 | 構成への影響 |
|---|---|---|
| 文書 | 文書数、総容量、形式 | ストレージ・検索基盤 |
| 文書 | 更新頻度 | 文書取り込み方式 |
| 文書 | 部署別の閲覧権限 | 検索時の権限制御 |
| 認証 | 既存の社内認証基盤 | 認証・SSO構成 |
| ネットワーク | 社内LAN限定かVPN経由も許可するか | ネットワーク構成 |
| 性能 | 同時利用者数 | 必要な処理能力 |
| 性能 | 許容応答時間 | AIモデル・検索基盤 |
| 運用 | 可用性・障害復旧要件 | 冗長化・バックアップ |
| セキュリティ | 文書の機密区分 | 暗号化・アクセス権限 |
| 費用 | 初期予算・月額予算 | AWSサービス選定 |
| 管理 | 会話履歴の保存期間 | DB・ログ保存方式 |
3.4 仮定
構成検討を進めるため、以下を暫定的に仮定する。
| 項目 | 暫定仮定 | 確認の必要性 |
|---|---|---|
| 回答方式 | RAGを利用する | PoCで回答品質を検証 |
| 文書 | PDF、Word、テキスト等を扱う | 実際の形式を確認 |
| AIモデル | AWSのマネージド生成AIを利用 | 利用可能モデルと費用を確認 |
| 構築方式 | マネージドサービスを優先 | 運用体制・予算を確認 |
| 認証 | 既存の社内ID基盤と連携 | 認証基盤を確認 |
| 利用時間 | 平日日中に利用が集中する | 実際の利用パターンを確認 |
これらは設計を進めるための仮定であり、確定要件ではない。
3.5 結論
現時点で機能面の方向性は明確であるが、性能、セキュリティ、費用に関する詳細は不足している。
そのため、以降は暫定構成を検討し、最終的なサービス選定は追加確認とPoCの結果を踏まえて行う。
4. 第3段階:回答方式の検討
4.1 入力
第2段階で整理した機能要件。
- 社内マニュアルやFAQを参照する
- 自然言語で回答する
- 根拠となった文書を表示する
4.2 検討内容
社内文書を参照して回答するための方式を比較する。
4.3 方式の比較
| 方式 | 特徴 | メリット | デメリット |
|---|---|---|---|
| キーワード検索 | 文書内の単語を検索 | シンプルで実装しやすい | 表現が異なる質問に弱い |
| LLM単体 | AIモデルが直接回答 | 構成が比較的簡単 | 社内文書の正確な参照が困難 |
| RAG | 文書を検索してAIに渡す | 文書を根拠とした回答が可能 | 検索基盤の構築が必要 |
| ファインチューニング | AIモデルを追加学習 | 特定業務への適応が可能 | 文書更新への追従や出典管理に課題 |
4.4 評価
今回の要件では、回答の根拠となる文書を表示する必要がある。
LLM単体では、最新の社内文書に基づく回答や、正確な出典表示を保証できない。
ファインチューニングも、文書検索や根拠表示を直接実現する方式ではない。
一方、RAGは質問に関連する文書を検索し、その検索結果をAIモデルに渡して回答を生成する。
ただし、RAGでも誤回答や不適切な引用は発生し得るため、回答品質の評価が必要となる。
4.5 結論
RAG(Retrieval-Augmented Generation:検索拡張生成)を第一候補とする。
基本処理は以下のとおり。
ユーザーが質問
↓
質問に関連する文書を検索
↓
検索結果をAIモデルへ渡す
↓
AIモデルが回答を生成
↓
回答と参照文書を表示
次の段階では、このRAGを実現するための文書管理方式を検討する。
5. 第4段階:文書保存・検索方式の検討
5.1 入力
第3段階でRAGを第一候補とした。
5.2 検討内容
RAGで利用する社内文書について、以下を検討する。
- 元文書の保存方法
- 文書の取り込み方法
- 検索方式
- 文書更新時の反映方法
- 根拠文書の表示方法
5.3 元文書の保存
候補:Amazon S3
S3はAWSのオブジェクトストレージであり、PDF、Word、テキストなどのファイルを保存できる。
今回のような文書管理用途では、元文書の保存先として利用しやすい。
ただし、既存の社内文書管理システムがある場合は、そこから直接連携する方式も比較する。
5.4 文書の検索方式
| 方式 | 内容 | 評価 |
|---|---|---|
| キーワード検索 | 単語の一致を中心に検索 | 用語が明確なFAQに有効 |
| ベクトル検索 | 文章の意味的な近さで検索 | 自然言語による質問に有効 |
| ハイブリッド検索 | キーワード検索とベクトル検索を組み合わせる | 両方式の長所を利用できる |
ベクトル検索では、文書を分割し、Embeddingモデルによって数値ベクトルへ変換する。
質問も同様にベクトル化し、意味的に近い文書を検索する。
一方、製品名、エラーコード、社内固有の略語などはキーワード検索が有効な場合もある。
5.5 文書取り込みの流れ
社内マニュアル・FAQ
↓
文書保存
↓
テキスト抽出
↓
文書分割(チャンク化)
↓
Embedding処理
↓
検索用データとして登録
検索用データには、少なくとも以下の情報を保持する。
- 文書ID
- 文書名
- 文書の保存先
- 文書のバージョン
- ページ番号や該当箇所
- アクセス権限情報
- 更新日時
これにより、回答の根拠となる文書を特定できる。
5.6 AWSサービス候補
| 用途 | サービス候補 |
|---|---|
| 元文書保存 | Amazon S3 |
| 文書取り込み | Amazon Bedrock Knowledge Bases |
| Embedding | Amazon Bedrockで利用可能なEmbeddingモデル |
| ベクトル検索 | Amazon S3 Vectors |
| 検索基盤 | Amazon OpenSearch Serverless |
| 検索基盤 | Amazon Aurora PostgreSQL(pgvector) |
S3 Vectors、OpenSearch Serverless、Aurora PostgreSQLにはそれぞれ特徴がある。
- S3 Vectors:ベクトル検索を中心とした構成で候補となる
- OpenSearch Serverless:高度な検索機能やハイブリッド検索が必要な場合に候補となる
- Aurora PostgreSQL:既存のリレーショナルデータやSQLによる管理との統合が必要な場合に候補となる
実際の対応機能、リージョン、料金、Knowledge Basesとの連携条件を確認する必要がある。
5.7 結論
元文書の保存先はS3を第一候補とする。
検索方式はベクトル検索を基本候補とし、キーワード検索との比較をPoCで行う。
検索基盤については、S3 Vectors、OpenSearch Serverless、Aurora PostgreSQLを比較対象として残す。
現段階では特定の検索基盤に確定しない。
6. 第5段階:システム構成とAWSサービスの検討
6.1 入力
これまでの検討結果は以下のとおり。
- 回答方式:RAGを第一候補
- 元文書:S3を第一候補
- 文書検索:ベクトル検索を基本候補
- 検索基盤:複数候補を比較
- 利用者:約500名
- 社外アクセス禁止が必須
6.2 必要なシステム機能
システム全体を以下の機能に分解する。
| 機能 | 役割 |
|---|---|
| フロントエンド | チャット画面 |
| 認証 | 利用者の本人確認 |
| API | 質問の受付、回答の返却 |
| RAG処理 | 文書検索と回答生成の制御 |
| 文書保存 | マニュアル・FAQの保存 |
| 検索基盤 | 関連文書の検索 |
| AIモデル | 自然言語による回答生成 |
| 履歴管理 | 必要に応じた会話履歴保存 |
| 監視 | エラー、処理時間、利用状況の記録 |
6.3 AWSサービス候補
| 機能 | AWSサービス候補 | 選定時の確認事項 |
|---|---|---|
| フロントエンド | S3、社内Webサーバー | 社内限定公開方法 |
| 認証 | IAM Identity Center、既存IdP連携 | 既存認証基盤との適合性 |
| API | API Gateway、ALB | プライベート接続要件 |
| アプリ処理 | AWS Lambda、Amazon ECS | 処理時間、接続方式 |
| RAG | Amazon Bedrock Knowledge Bases | 検索機能、権限制御 |
| AIモデル | Amazon Bedrock | モデル性能、料金 |
| 文書保存 | Amazon S3 | 文書量、暗号化 |
| 検索基盤 | S3 Vectors、OpenSearch、Aurora | 検索品質、料金 |
| 会話履歴 | DynamoDB、Aurora | 保存要否、検索要件 |
| 監視 | Amazon CloudWatch | ログ、メトリクス |
6.4 構築方式の比較
案A:マネージドサービス中心
Amazon Bedrock Knowledge Basesを利用し、文書取り込み・検索・回答生成をAWSのマネージドサービス中心に構成する。
メリット:
- 検索基盤の独自実装を減らせる可能性がある
- インフラ管理の負担を軽減しやすい
- 初期検証を進めやすい
デメリット:
- サービスの仕様や制約に依存する
- 高度な検索制御や権限制御に追加実装が必要となる場合がある
案B:RAG処理を独自実装
LambdaまたはECS上にRAG処理を実装し、検索基盤とBedrockを個別に呼び出す。
メリット:
- 検索ロジックを細かく制御できる
- 独自の文書権限や業務ロジックを組み込みやすい
- 検索結果の加工や再ランキングを調整しやすい
デメリット:
- 開発・保守対象が増える
- 検索品質や障害対応を自社で管理する範囲が広い
6.5 結論
初期検証では、案Aのマネージドサービス中心構成を優先候補とする。
理由は、現時点では高度な独自検索機能が必須とされておらず、まず文書検索と回答生成の品質を検証することが重要だからである。
ただし、文書ごとの権限制御や複雑な検索条件が必要な場合は、案Bへの変更を検討する。
7. 第6段階:セキュリティ方式の検討
7.1 入力
確定要件:
- 社外からアクセスできない
- AWSを利用する
- 社内マニュアルやFAQを扱う
7.2 検討内容
「社外からアクセスできない」という要件を技術的な制御へ分解する。
7.3 社外アクセス禁止の定義
以下の方式が考えられる。
| 方式 | 内容 | 注意点 |
|---|---|---|
| 社内IP制限 | 社内の送信元IPのみ許可 | IP変更やVPN構成への対応 |
| VPN接続 | VPN接続した利用者のみ許可 | VPN運用が必要 |
| プライベート接続 | AWS VPC内のプライベートな経路で接続 | 社内ネットワークとの接続が必要 |
| 認証による制限 | 社員アカウントのみ利用可能 | 認証だけでは社外アクセス禁止にならない |
今回の要件を厳密に満たすためには、認証に加えてネットワークレベルのアクセス制限が必要となる。
7.4 暫定的なセキュリティ方針
社内ネットワークからAWS VPCへVPNまたはDirect Connectなどで接続する構成を候補とする。
アプリケーションの入口には内部向けALB等を配置し、社内からのプライベートなアクセス経路を設ける。
社内端末
↓
社内ネットワーク
↓
VPN / Direct Connect等
↓
AWS VPC
↓
内部向けALB
↓
アプリケーション
※この構成は、社内ネットワークとAWS間の接続経路が確保できることを前提とする。
7.5 その他のセキュリティ対策
| 対象 | 対策 |
|---|---|
| 利用者 | 既存IdP連携、認証・認可 |
| 文書 | S3の公開アクセス禁止 |
| 保存データ | 保存時の暗号化 |
| 通信 | TLSによる暗号化 |
| AWS権限 | IAMによる最小権限 |
| 秘密情報 | Secrets Manager等で管理 |
| 文書検索 | 文書ごとのアクセス権限制御 |
| ログ | 機密情報を含むログの抑制 |
| AIへの入力 | プロンプトインジェクション対策 |
| AIの回答 | 根拠確認、機密情報の漏えい防止 |
特に重要なのは、検索段階で利用者に閲覧権限のない文書を除外することである。
回答生成後に表示内容だけを隠す方式では、情報漏えいを防止できない。
また、BedrockなどのAWSサービスへの通信についても、必要に応じてVPCエンドポイントを使用する。
利用する各サービスについて、プライベート接続の対応状況を確認する。
7.6 結論
社内ネットワークからの限定アクセスと、利用者認証を組み合わせる方式を第一候補とする。
ただし、VPN利用の可否、既存IdP、文書単位の権限管理については確認が必要である。
8. 第7段階:性能・可用性・運用方式の検討
8.1 入力
- 利用対象は約500名
- 利用時間は平日日中
- RAG方式を第一候補とする
- AWSのマネージドサービスを優先する
8.2 性能要件
利用者数500名という情報だけでは、必要な処理能力を決定できない。
以下の情報が必要となる。
| 項目 | 確認内容 |
|---|---|
| 日次利用者数 | 1日に何人が利用するか |
| 質問回数 | 1人が何回質問するか |
| 同時実行数 | ピーク時に何件の回答生成が重なるか |
| 応答時間 | 何秒以内の回答を求めるか |
| 文書量 | 検索対象のデータ量 |
| 回答長 | 想定する回答の長さ |
| モデル | 使用モデルとトークン数 |
例えば、リクエスト数は以下の式で概算できる。
1日の質問数
= 日次利用者数 × 1人あたりの質問数
ただし、平均質問数だけではピーク時の同時実行数を推定できない。
同時実行数については、利用が集中する時間帯や回答生成時間も考慮する。
8.3 性能評価
PoCでは以下を計測する。
- 平均応答時間
- P95応答時間
- 同時実行時の応答時間
- エラー率
- 検索の適合率
- 回答の正確性
- 根拠文書の妥当性
- モデルのトークン消費量
具体的な合格基準は、業務担当者との確認後に設定する。
8.4 可用性
平日日中の利用を想定しているが、停止可能な時間帯や復旧目標は未定である。
以下を確認する。
- 許容停止時間
- 障害時の復旧目標時間(RTO)
- 許容データ損失時間(RPO)
- バックアップの必要性
- 文書検索が失敗した場合の動作
- AIモデルが利用できない場合の動作
8.5 運用方式
| 項目 | 検討内容 |
|---|---|
| 監視 | CloudWatchによるログ・メトリクス監視 |
| エラー管理 | APIエラー、検索失敗、AIモデル呼び出し失敗 |
| 文書更新 | 文書追加・変更・削除時の再取り込み |
| 利用状況 | 質問数、利用者数、トークン使用量 |
| 品質管理 | 誤回答の報告・評価 |
| コスト管理 | AWS Budgets等による予算監視 |
| 履歴管理 | 保存要否、保存期間、削除方法 |
8.6 結論
現時点では、具体的な性能値や可用性目標を確定できない。
そのため、PoCで処理時間、検索品質、トークン消費量などを計測し、実測結果に基づいて要件を確定する。
9. 第8段階:コストと構築方式の比較
9.1 入力
- RAG方式を第一候補
- マネージドサービスを優先
- 検索基盤は未確定
- 利用者は約500名
- 同時実行数と文書量は未確定
9.2 主なコスト要素
| 分類 | 主な費用 |
|---|---|
| AIモデル | 入力・出力トークン料金 |
| Embedding | 文書や質問のベクトル化 |
| 検索基盤 | ベクトル保存・検索処理 |
| ストレージ | 元文書やログの保存 |
| アプリ | LambdaまたはECSの実行 |
| ネットワーク | VPN、通信、VPCエンドポイント等 |
| 監視 | CloudWatch等 |
| 開発・運用 | 実装、保守、文書更新、品質管理 |
9.3 コストの考え方
月額費用は、概念的には以下のように整理できる。
月額費用
= AIモデル利用料
+ Embedding利用料
+ 検索基盤利用料
+ 文書保存費用
+ アプリ実行費用
+ ネットワーク費用
+ 監視・ログ費用
+ その他関連費用
AIモデルの費用は、質問数だけでなく、入力文書量、回答長、モデルの料金体系に依存する。
検索基盤の費用も、サービスによってストレージ容量、検索回数、稼働リソースなどの課金方式が異なる。
9.4 構築方式の比較
| 評価項目 | 案A:マネージド中心 | 案B:独自RAG |
|---|---|---|
| 初期実装量 | 比較的小さくできる可能性 | 比較的大きい |
| 検索処理の自由度 | サービス仕様に依存 | 高い |
| 運用負荷 | AWS管理部分を減らしやすい | 独自実装部分が増える |
| 文書権限制御 | サービス機能と追加実装を確認 | 独自制御を組み込みやすい |
| コスト | 利用量と選択サービスに依存 | 利用量と実装方式に依存 |
| 機能拡張 | サービス仕様に制約される場合がある | 独自要件に対応しやすい |
9.5 評価基準
最終的な方式選定では、以下の評価基準を使用する。
- 必須機能を実現できるか
- セキュリティ要件を満たせるか
- 検索・回答品質が業務上十分か
- 性能要件を満たせるか
- 予算内に収まるか
- 社内で継続運用できるか
まず必須要件を満たさない構成を除外し、その後、コストや運用負荷を比較する。
各評価項目の重み付けは、業務担当者と合意して決定する。
9.6 結論
現時点では、必要な利用量や予算が不明であるため、定量的な費用比較はできない。
ただし、初期検証の実装量を抑える観点から、マネージドサービス中心の案Aを優先してPoCを実施することが妥当と考える。
10. 第9段階:検討結果の統合
10.1 各段階の結論
| 段階 | 検討課題 | 結論 |
|---|---|---|
| 1 | 課題分解 | 要件から構成選定まで段階的に検討 |
| 2 | 要件整理 | 確定事項と未決定事項を区別 |
| 3 | 回答方式 | RAGを第一候補 |
| 4 | 文書管理 | S3とベクトル検索を基本候補 |
| 5 | システム構成 | Bedrock中心のマネージド構成を優先 |
| 6 | セキュリティ | 社内ネットワーク限定+利用者認証 |
| 7 | 性能・運用 | PoCで実測し要件を確定 |
| 8 | コスト | 利用量・文書量確定後に比較 |
10.2 暫定推奨システム構成
以下は、社内ネットワークとAWS VPC間にプライベート接続を用意できることを仮定した構成案である。
【社内ネットワーク】
社内従業員(約500名)
|
v
社内ネットワーク
|
v
VPN / Direct Connect等
|
v
==================================
AWS
==================================
【VPC内】
内部向けALB
|
v
Webアプリケーション
(ECS等)
|
+----> 社内認証基盤と連携
|
v
RAG処理
|
+---------------------+
| |
v v
文書検索処理 回答生成処理
| |
v v
Bedrock Knowledge Bases Amazon Bedrock
| (生成AIモデル)
v ^
ベクトル検索基盤 |
| |
+---- 検索結果 --------+
|
v
回答+根拠文書
|
v
Webアプリケーション
|
v
社内従業員
【文書取り込み系】
社内マニュアル・FAQ
|
v
Amazon S3
|
v
Bedrock Knowledge Bases
|
v
Embeddingモデル
|
v
ベクトル検索基盤
【運用・監視系】
Amazon CloudWatch
AWS IAM
AWS KMS
AWS Budgets
※上記は論理構成であり、ネットワーク構成を完全に表したものではない。
※Bedrock Knowledge Bases、モデル、検索基盤などへの接続には、サービスごとのネットワーク要件を満たす必要がある。
※検索基盤は未確定であり、S3 Vectors、OpenSearch Serverless、Aurora PostgreSQL等から選定する。
※WebアプリケーションとRAG処理は、初期段階では同一アプリケーションとして実装することも可能である。
10.3 想定処理フロー
質問・回答
- 従業員が社内ネットワークからチャット画面へアクセスする
- 認証済みの利用者であることを確認する
- ユーザーが質問を入力する
- アプリケーションが質問を受け付ける
- 利用者の閲覧権限を考慮して関連文書を検索する
- 検索結果をAIモデルへ渡す
- AIモデルが回答を生成する
- 回答と根拠文書を画面に表示する
- 必要な利用状況やエラー情報を記録する
文書更新
- 管理者がマニュアルやFAQを追加・更新する
- 文書をS3に保存する
- 文書取り込み処理を実行する
- テキスト抽出とEmbedding処理を行う
- 検索用データを更新する
- 更新した文書が検索対象となることを確認する
削除済み文書や旧バージョンが検索対象に残らないようにする必要がある。
10.4 現時点の推奨サービス
| 機能 | 第一候補 | 状態 |
|---|---|---|
| チャット画面 | Webアプリケーション | 暫定 |
| アプリ実行 | Amazon ECS | 暫定 |
| 入口 | 内部向けALB | 暫定 |
| 認証 | 既存IdP連携 | 要確認 |
| RAG | Amazon Bedrock Knowledge Bases | 第一候補 |
| 回答生成 | Amazon Bedrock | 第一候補 |
| 文書保存 | Amazon S3 | 第一候補 |
| 検索基盤 | S3 Vectors等 | 比較が必要 |
| 会話履歴 | DynamoDB等 | 保存要否から確認 |
| 監視 | Amazon CloudWatch | 第一候補 |
この構成は現時点の要件から導いた暫定案であり、正式な設計確定を意味するものではない。
11. PoCの進め方
11.1 PoCの目的
本番構成を確定する前に、技術的な実現性と回答品質を検証する。
11.2 検証ステップ
| ステップ | 実施内容 | 確認すること |
|---|---|---|
| 1 | サンプル文書を準備 | 文書形式と抽出精度 |
| 2 | S3に文書を登録 | 文書管理方法 |
| 3 | Knowledge Basesを構築 | 文書取り込みの可否 |
| 4 | 検索処理を実行 | 関連文書を取得できるか |
| 5 | Bedrockで回答生成 | 回答の正確性 |
| 6 | 根拠文書を表示 | 引用箇所の妥当性 |
| 7 | 権限制御を検証 | 権限外文書が検索されないか |
| 8 | 負荷試験を実施 | 応答時間と処理能力 |
| 9 | コストを計測 | 1質問あたりの費用 |
| 10 | 構成を再評価 | 本番採用の可否 |
11.3 品質評価
回答品質は、実際の社内問い合わせを参考にした評価用質問セットを作成して検証する。
評価項目:
- 正しい回答が得られるか
- 適切な文書を検索できるか
- 根拠文書が回答内容を支持しているか
- 文書にない内容を事実として回答しないか
- 回答不能な質問を適切に扱えるか
- 権限のない文書を参照しないか
合格基準は、業務担当者と合意して決定する。
12. 最終的に確認が必要な事項
優先順位を付けて確認する。
| 優先度 | 確認事項 | 理由 |
|---|---|---|
| 高 | 社外アクセス禁止の具体的な範囲 | ネットワーク構成を左右する |
| 高 | 社内認証基盤 | 認証方式を決定する |
| 高 | 文書ごとの閲覧権限 | 情報漏えい防止に直結する |
| 高 | 文書数・容量・形式 | 検索基盤の選定に必要 |
| 高 | 初期・月額予算 | サービス選定に必要 |
| 中 | 想定同時利用者数 | 性能設計に必要 |
| 中 | 許容応答時間 | AIモデル・アプリ構成に影響 |
| 中 | 文書更新頻度 | 取り込み方式に影響 |
| 中 | 会話履歴の保存要否 | DB構成に影響 |
| 中 | 可用性・復旧要件 | 冗長化・バックアップに影響 |
| 中 | 運用担当者と保守体制 | マネージド化の必要性に影響 |
13. 最終結論
今回の要件に対しては、Amazon Bedrockを利用したRAG構成が有力な候補である。
特に、Amazon Bedrock Knowledge Basesを活用したマネージドサービス中心の構成は、初期検証の実装負担を抑える観点から優先して検討する価値がある。
ただし、現時点では文書量、認証方式、アクセス制限、性能、予算などの重要事項が未確定である。
そのため、最終的な判断は以下とする。
現段階の結論
- RAGを回答方式の第一候補とする
- Amazon BedrockをAI基盤の第一候補とする
- Amazon S3を文書保存先の第一候補とする
- 検索基盤は複数候補をPoCで比較する
- 社内ネットワーク限定アクセスと利用者認証を組み合わせる
- 性能・コストは実測値を基に確定する
次のアクション
- 不足している要件を業務担当者へ確認する
- サンプル文書と評価用質問を準備する
- Bedrock Knowledge Basesを用いた小規模PoCを実施する
- 回答品質、権限制御、性能、費用を検証する
- 検証結果に基づいて本番構成を決定する
Least-to-Mostによる段階的な検討の結果、現時点で必要なのは特定のAWSサービスを確定することではなく、RAG方式の実現性を確認し、未決定要件を明確にすることである。