概要
Amazon BedrockをSlackに連携させて、ナレッジの内容に即した回答を提供するチャットボットを作成する手順を紹介します。
今回は us-east-1 リージョンに構築していきます。

手順
- S3にナレッジを格納
- Bedrockのナレッジベースを作成
- Bedrockのエージェントを作成
- Amazon Q Developer in chat applications (旧 AWS Chatbot) を作成
- Slackからエージェントを呼び出す
- 環境削除
1. S3にナレッジを格納
S3にナレッジを格納します。今回はサンプルとして以下のようなテキストを格納していきます。
株式会社イワシパラダイスの社長の名前は「シロイルカシロイルカ3世」。
イワシパラダイスの副社長の名前は「マンタさん」
シロイルカシロイルカ3世の好きな食べ物は、皮ごと食べられるように品種改良されたパイナップル。
マンタさんの好きな食べ物は固めプリン。嫌いな食べ物は柔めこんにゃく。
まずはバケットを作成します。任意のバケット名(ここでは「bedrock-handson-20260207」)を指定して、あとはデフォルトでOK。「バケットを作成」をクリックします。

次に「アップロードボタン」から、先ほどのテキストをバケットに格納します。

S3の準備はこれにて完了です。
2. Bedrockのナレッジベースを作成
マネコンを開き、 Amazon Bedrock > ナレッジベース から、ナレッジベースを作成します。
今回は「ベクトルストアでナレッジベースを作成」を選択し、データソースとして先ほど作成したS3バケット(bedrock-handson-20260208)を指定します。

次に埋め込みモデルとベクトルストアを選択します。
今回は埋め込みモデルには Titan Text Embeddings V2 、ベクトルストアにはAmazon OpenSearch Serviceを選択します。
※Amazon OpenSearch Serviceは今回利用するサービスの中で一番費用がかかります。クリーンアップ作業を忘れずに実施してください。

出来ました。データソースの同期を行い、ナレッジベースの作成は完了です。

3. Bedrockのエージェントを作成
マネコンの Amazon Bedrock > エージェント から、エージェントを作成します。

エージェントビルダーで詳細を設定していきます。
今回、モデルは Claude Sonnet 4.5 v1 (US Anthropic Claude Sonnet 4.5) を選択します。
※モデル選択画面で「最適化済みBedrockエージェント」のチェックボックスをクリアすると選択できます。
エージェント向けの指示も、それらしく記載しておきます。

ここで一度設定を保存しておきましょう。
次にナレッジベースを追加します。先ほど指定したナレッジベースを指定しておきます。

また、Slackチャネルにエージェントを招待する時のために、エイリアスを作成しておきます。

最後にテストします。「準備」ボタンを押下した後、画面左側のテストウィンドウから質問文を投げてみましょう。
無事に回答が得られました。

4. Amazon Q Developer in chat applications (旧 AWS Chatbot) を作成する
マネコンの Amazon Q Developer in chat applications (旧 AWS Chatbot) > 新しいクライアントを設定 から、クライアントを作成します。
今回はSlackを選択します。

Slackにリダイレクトされるので、チャットボットを作成するワークスペースのURLを指定します。

Amazon Q Developer が Slack へアクセスすることを許可します。

Slackチャネルを設定しましょう。ここでは「bedrockハンズオン」チャンネルを指定しました。その他の設定値はデフォルトのままにしています。

作成が完了したら、クライアントがBedrockエージェントに接続するための権限を設定してやります。
今回は、チャネルロールとガードレールに「AmazonBedrockFullAccess」を追加しました。


5. Slackからエージェントを呼び出す
最後に疎通確認をします。
先ほど指定したSlackチャネルで、以下メッセージを送信します。
コネクター名には任意の文字列を指定してください。(1文字〜20文字、半角英数字(a-z, A-Z, 0-9)、アンダースコア( _ )、ハイフン( - )のみ利用可。)
今回はコネクター名には「bedrock-handson-0208」を指定しました。
@Amazon Q connector add {コネクター名} {Bedrockエージェントのエージェント ARN} {BedrockエージェントのエイリアスID}
初回メッセージ送信時はチャネルに Amazon Q アカウントを招待するか聞かれるので、招待しておきます。
上手くいくと下記メッセージが送られてきます。

最後に質問を投げてみましょう。以下の形で質問を投げます。
@Amazon Q ask {コネクター名} - {質問文}
以上でSlackチャットボットの作成は完了です!
6. 環境削除
おまけです。使い終わった環境は削除しましょう。
基本的には作成したサービスについて、コンソール画面から削除を行えばOKです。
ただし、公式サイトにも記載されているように、ナレッジベースを削除してもベクトルストア自体は削除されません。
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/kb-delete.html

そのため、ナレッジベース削除後は必ず Amazon OpenSearch Service も削除するようにしてください!

