17
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock AgentCore ハーネスでRAG検索機能付きAIエージェントを爆速で構築する

17
Last updated at Posted at 2026-06-13

2026-06-18 追記

Amazon Bedrock AgentCore ハーネスが無事GAされました!🎉
また Amazon Bedrock AngetCore に新しく Managed KB が追加されました。
今後お試しでRAG検索機能付きAIエージェントを作る場合は、AgentCore ハーネス + Managed KB が一番お手軽そうです。

上記のアプデに合わせて、本記事も新規でナレッジベース(Managed KB)を構築する場合と、既存のナレッジベースを利用する場合に分けて紹介するよう更新しました!

まずは Amazon Bedrock AgentCore ハーネスを作る

Amazon Bedrock AgentCore ハーネスの「ハーネスをクイック作成」をクリックするだけ。

image.png

新規でナレッジベース(Managed KB)を構築する場合

組み込みツールの「ナレッジベース (KB)」を選択して、「Create Managed KB」をクリック。

image.png

今回は検証用に作成したS3バケットを選択します。
データソースは色々選べそう。

image.png

他の設定はそのままで、ナレッジベースを作成をクリック。

image.png

作成が完了すると自動で同期が始まります、便利〜

image.png

AgentCore Gateway を作成する

構築したナレッジベース画面の右上の「Use with AgentCore Gateway」をクリックして、「Create as target in new Gateway」を選択します。

image.png

インバウンド認証設定で「IAM 許可を使用」を選択します。

image.png

他は最初から設定が入っているので、そのままにして「ゲートウェイを作成」をクリック。

image.png

作成が完了したらOK。

image.png

AgentCore ハーネスにRAG検索ツールも持たせる

作成した AgentCore ハーネスまで移動して、「編集」をクリック。

image.png

ツールから「ゲートウェイ」を有効化し、先ほど作成したAgentCore Gateway を紐付けましょう。
アウトバウンド認証は「IAMロール」を選択したままでOK。

image.png

ハーネスを保存したら完成!!ナレッジベースを検索しているかテストしましょう!!

image.png

既存のナレッジベースを利用する場合

この記事を参考に、 Smithy と呼ばれるインターフェース定義言語(IDL)を使います。

Amazon Bedrock AgentCore ゲートウェイを作る

ゲートウェイも基本はデフォルト設定で良いですが、「Inbound Identity details」の項目だけ「IAM 許可を使用」を選択しましょう。

image.png

Smithy スキーマの REST API をゲートウェイのターゲットに追加する

「Add targets」まで進んだら、まず下の表通りに入力。

項目名 選択肢
Select a target protocol MCP target
ターゲットタイプ REST API
REST API タイプ Smithy スキーマ
Smithy スキーマタイプ インラインスキーマを定義

image.png

インラインスキーマエディタに以下のJSONをコピペ。そのままゲートウェイを作成まで進みましょう。

JSON上の 【ナレッジベースID】 は先ほど控えた値で置き換えてください!

{
  "smithy": "2.0",
  "shapes": {
    "com.amazonaws.bedrockagentruntime#BedrockAgentRuntime": {
      "type": "service",
      "version": "2023-07-26",
      "operations": [
        {
          "target": "com.amazonaws.bedrockagentruntime#Retrieve"
        }
      ],
      "traits": {
        "aws.api#service": {
          "sdkId": "Bedrock Agent Runtime",
          "endpointPrefix": "bedrock-agent-runtime"
        },
        "aws.auth#sigv4": {
          "name": "bedrock"
        },
        "aws.protocols#restJson1": {},
        "smithy.api#title": "Amazon Bedrock Agent Runtime"
      }
    },
    "com.amazonaws.bedrockagentruntime#Retrieve": {
      "type": "operation",
      "input": {
        "target": "com.amazonaws.bedrockagentruntime#RetrieveRequest"
      },
      "output": {
        "target": "com.amazonaws.bedrockagentruntime#RetrieveResponse"
      },
      "traits": {
        "smithy.api#http": {
          "method": "POST",
          "uri": "/knowledgebases/【ナレッジベースID】/retrieve",
          "code": 200
        },
        "smithy.api#documentation": "Knowledge Base にクエリして関連パッセージを取得する RAG 検索ツール。検索したい自然言語クエリを retrievalQuery.text に渡すだけでよい。"
      }
    },
    "com.amazonaws.bedrockagentruntime#RetrieveRequest": {
      "type": "structure",
      "members": {
        "retrievalQuery": {
          "target": "com.amazonaws.bedrockagentruntime#KnowledgeBaseQuery",
          "traits": {
            "smithy.api#required": {}
          }
        }
      }
    },
    "com.amazonaws.bedrockagentruntime#KnowledgeBaseQuery": {
      "type": "structure",
      "members": {
        "text": {
          "target": "smithy.api#String",
          "traits": {
            "smithy.api#required": {},
            "smithy.api#documentation": "自然言語の検索クエリ"
          }
        }
      }
    },
    "com.amazonaws.bedrockagentruntime#RetrieveResponse": {
      "type": "structure",
      "members": {
        "retrievalResults": {
          "target": "com.amazonaws.bedrockagentruntime#RetrievalResultList"
        }
      }
    },
    "com.amazonaws.bedrockagentruntime#RetrievalResultList": {
      "type": "list",
      "member": {
        "target": "com.amazonaws.bedrockagentruntime#KnowledgeBaseRetrievalResult"
      }
    },
    "com.amazonaws.bedrockagentruntime#KnowledgeBaseRetrievalResult": {
      "type": "structure",
      "members": {
        "content": {
          "target": "com.amazonaws.bedrockagentruntime#RetrievalResultContent"
        },
        "score": {
          "target": "smithy.api#Double"
        }
      }
    },
    "com.amazonaws.bedrockagentruntime#RetrievalResultContent": {
      "type": "structure",
      "members": {
        "text": {
          "target": "smithy.api#String"
        }
      }
    }
  }
}

ゲートウェイを作成した際に、下記のようなワーニングがたまに出ます。
その際は「Smithy スキーマの REST API をゲートウェイのターゲットに追加する」に記載されている内容で、再度ターゲットを追加してください。

image.png

ハーネスにRAG検索ツールも持たせる

作成されたハーネスに戻り、右上の「編集」ボタンをクリック。

image.png

ツールから、ゲートウェイのトグルをクリックし、先ほど作成したゲートウェイを選択。
アウトバウンド認証設定は「IAMロール」を選択します。

image.png

これで完成!!!ハーネスをテストしてRAG検索ツールが呼び出されることを確認しましょう。

image.png

まとめ

AIエージェントのPoCをしたい場合なんかに最適ではないでしょうか!
他のAWSサービスも Amazon Bedrock AgentCore ゲートウェイと Smithy 使えば爆速でツール化できますので、興味ある方はドキュメントをご確認ください。

また GitHub でも Smithy スキーマを公開しているので、使いたいサービスを確認して、必要最低限の操作になるよう調整すると良さそうです。

あと Amazon Bedrock AgentCore ハーネス早く東京リージョンにも来てほしい、GAしないかな🥺

2026-06-18 追記

ほんとにGAされたのでびっくり。

17
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?