

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エージェントを手動で作成および設定する
<a name="agents-create"></a>

# Amazon Bedrock エージェントを作成するための前提条件
<a name="agents-prereq"></a>

IAM ロールに Amazon Bedrock エージェントに関連するアクションを実行するために[必要なアクセス許可](security_iam_id-based-policy-examples-agent.md#iam-agents-ex-all)があることを確認します。

エージェントを作成する前に、以下の前提条件を確認し、満たす必要がある前提条件を判断します。

1. エージェントには、次のいずれかを設定する必要があります。
   + [アクショングループ](agents-action-create.md) – エージェントがエンドユーザーの実行をサポートするアクションを定義します。各アクショングループには、エージェントがエンドユーザーから引き出す必要があるパラメータが含まれます。また、呼び出すことができる API、アクションの処理方法、レスポンスを返す方法を定義することもできます。エージェント内のアクショングループのクォータを確認するには、「AWS 全般のリファレンス」の「[Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html)」の中の「**Action groups per Agent**」クォータを参照してください。エージェントにアクショングループがない場合、この前提条件をスキップできます。
   + [ナレッジベース](knowledge-base.md) - エージェントが顧客からの問い合わせに回答したり、生成された回答を改善したりするためにクエリを実行できる情報のリポジトリを提供します。少なくとも 1 つのナレッジベースを関連付けることで、プライベートデータソースを使用して、顧客クエリへのレスポンスを向上させることができます。エージェントにアタッチされたナレッジベースのクォータを確認するには、「AWS 全般のリファレンス」の「[Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html)」の中の「**Associated knowledge bases per Agent**」クォータを参照してください。エージェントに関連付けられたナレッジベースがない場合、この前提条件をスキップできます。

1. (オプション) [適切なアクセス許可を持つエージェントのカスタム AWS Identity and Access Management (IAM) [サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)を作成します](agents-permissions.md)。AWS マネジメントコンソール を使用してサービスロールを自動的に作成する場合は、この前提条件をスキップできます。

1. (オプション) モデルのレスポンスやユーザーメッセージによる望ましくない動作を防ぐには、[ガードレール](guardrails.md)を作成してエージェントに保護を実装します。その後、ガードレールをエージェントに関連付けます。

1. (オプション) [プロビジョンドスループット](prov-throughput.md)を購入して、エージェントが特定の時間枠で処理できるトークンの数とレートを増やします。その後、[エージェントのバージョンを作成し、エイリアスを関連付ける](agents-deploy.md)際に、エージェントのエイリアスにプロビジョンドスループットを関連付けることができます。

Amazon Bedrock でエージェントを作成するには、以下のコンポーネントを設定します。
+ エージェントの設定。エージェントの目的を定義し、プロンプトとレスポンスの生成に使用する基盤モデル (FM) を示します。
+ 少なくとも次のいずれか。
  + アクショングループ: エージェントに実行させるアクションを定義します。
  + データソースのナレッジベース: 検索と照会を可能にしてエージェントの生成機能を補足します。

エージェントは、最低でも名前さえ付ければ作成できます。ただし、エージェントを[テスト](agents-test.md)または[デプロイ](agents-deploy.md)できるように**準備**するには、最低限、次のコンポーネントを設定する必要があります。


****  

| 設定 | 説明 | 
| --- | --- | 
| エージェントリソースロール | [エージェントで API オペレーションを呼び出すアクセス許可を持つサービスロール](agents-permissions.md)の ARN | 
| 基盤モデル (FM) | オーケストレーションを実行するためにエージェントが呼び出す FM | 
| 手順 | エージェントが実行すべき動作、およびユーザーとやり取りする方法を説明する自然言語 | 

また、エージェントのアクショングループまたはナレッジベースを少なくとも 1 つ設定する必要があります。準備したエージェントにアクショングループやナレッジベースがないと、FM と手順、および[ベースプロンプトテンプレート](advanced-prompts.md)のみに基づいてレスポンスが返されます。

エージェントを作成する方法については、任意の方法のタブを選択し、手順に従います。

------
#### [ Console ]

**エージェントを作成するには**

1. Amazon Bedrock コンソールを使用するためのアクセス許可を持つ IAM ID を使用して、AWS マネジメントコンソールにサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)) を開きます。

1. 左側のナビゲーションペインで **[エージェント]** を選択します。

1. **[エージェント]** セクションで **[エージェントを作成]** を選択します。

1. (オプション) 自動生成されたエージェントの **[名前]** を変更し、オプションの **[説明]** を指定します。

1. **[作成]** を選択します。エージェントが作成され、新しく作成されたエージェントの **[エージェントビルダー]** が表示されたら、エージェントを設定できます。

1. 引き続き次の手順に進んで、エージェントを設定することも、後でエージェントビルダーに戻ることもできます。

**エージェントを設定するには**

1. エージェントビルダーを開いていない場合は、次の操作を行います。

   1. Amazon Bedrock コンソールを使用するためのアクセス許可を持つ IAM ID を使用して、AWS マネジメントコンソールにサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)) を開きます。

   1. 左側のナビゲーションペインで **[エージェント]** を選択します。次に、**[エージェント]** セクションでエージェントを選択します。

   1. **[エージェントビルダーで編集]** を選択します。

1. **[エージェントの詳細]** セクションで、次の設定を行うことができます。

   1. **[エージェント名]** または **[エージェントの説明]** を編集します。

   1. **[エージェントリソースロール]** で、次のいずれかのオプションを選択します。
      + **新しいサービスロールを作成して使用** – お客様に代わって Amazon Bedrock がサービスロールを作成し、必要なアクセス許可を設定します。
      + **既存のサービスロールを使用** – 過去に設定した[カスタムロール](agents-permissions.md)を使用します。

   1. **[モデルを選択]** で、オーケストレーション時にエージェントが呼び出す FM を選択します。

      デフォルトでは、エージェント用に最適化されたモデルが表示されます。Amazon Bedrock エージェントでサポートされているすべてのモデルを表示するには、**[Bedrock エージェント用に最適化]** を選択解除します。  
![\[エージェントは、任意の基盤モデルで作成できます。現在、提供されているモデルの一部は、エージェントアーキテクチャとの統合を目的に調整されたプロンプト/パーサーで最適化されています。今後、提供されるすべてのモデルについて最適化を実施する予定です。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/agents/agents-optimized-model-selection.png)

   1. **[エージェント向けの指示]** で、エージェントに何をすべきか、どのようにユーザーとやり取りすべきかを伝えるための詳細を指定します。指示によって、[オーケストレーションプロンプトテンプレート](prompt-placeholders.md#placeholders-orchestration)の \$1instructions\$1 プレースホルダーが置き換えられます。以下は、指示の例です。

      ```
      You are an office assistant in an insurance agency. You are friendly and polite. You help with managing insurance claims and coordinating pending paperwork.
      ```

   1. **[その他の設定]** を展開すると、次の設定を変更できます。
      + **コードインタープリタ** – (オプション) コードの書き込み、実行、テスト、トラブルシューティングに関するタスクをエージェントで処理できるようにするかどうかを選択します。詳細については、「[コード解釈を使用してコードを生成、実行、テストする](agents-code-interpretation.md)」を参照してください。
      + **ユーザー入力** - (オプション) 十分な情報がない場合、エージェントがユーザーに追加情報を求めることを許可するかどうかを選択します。詳細については、「[ユーザーから情報をリクエストするようにエージェントを設定する](agents-user-input.md)」を参照してください。
      + **KMS キーセレクション** – (オプション) デフォルトでは、AWS はエージェントリソースを AWS マネージドキー で暗号化します。独自のカスタマーマネージドキーでエージェントを暗号化するには、[KMS キーセレクション] セクションで **[暗号化設定をカスタマイズ (高度)]** を選択します。新しいキーを作成する場合は、**[AWS KMS キーを作成]** を選択してこのウィンドウを更新します。既存のキーを使用する場合は、**[AWS KMS キーを選択]** でキーを選択します。
      + **[アイドルセッションタイムアウト]** – デフォルトでは、ユーザーが Amazon Bedrock エージェントとのセッションで 30 分間応答しなかった場合、エージェントは会話履歴を保持しません。会話履歴は、対話を再開したり、会話のコンテキストでレスポンスを補足するためにも使用されます。このデフォルトの長さを変更するには、**[セッションタイムアウト]** フィールドに数値を入力し、時間単位を選択します。

   1. **[IAM 許可]** セクションの **[エージェントリソースロール]** で[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)を選択します。お客様に代わって Amazon Bedrock でサービスロールを作成する場合は、**[新しいサービスロールを作成して使用]** を選択します。以前に作成した[カスタムロール](agents-permissions.md)を使用するには、**[既存のサービスロールを使用]** を選択します。
**注記**  
Amazon Bedrock で作成されるサービスロールには、プレビュー中の機能は含まれていません。これらの機能を使用するには、[サービスロールに適切なアクセス許可をアタッチ](agents-permissions.md)します。

   1. (オプション) デフォルトでは、AWS はエージェントリソースを AWS マネージドキー で暗号化します。独自のカスタマーマネージドキーでエージェントを暗号化するには、**[KMS キーセレクション]** セクションで **[暗号化設定をカスタマイズ (高度)]** を選択します。新しいキーを作成する場合は、**[AWS KMS キーを作成]** を選択してこのウィンドウを更新します。既存のキーを使用する場合は、**[AWS KMS キーを選択]** でキーを選択します。

   1. (オプション) タグをこのエージェントに関連付けるには、**[タグ – オプション]** セクションで **[新しいタグを追加]** を選択し、キーと値のペアを指定します。

   1. エージェントの設定が完了したら、**[次へ]** を選択します。

1. **[アクショングループ]** セクションで、**[追加]** を選択してアクショングループをエージェントに追加できます。アクショングループの設定の詳細については、「[アクショングループを使用して、エージェントが実行するアクションを定義する](agents-action-create.md)」を参照してください。エージェントにアクショングループを追加する方法については、「[Amazon Bedrock のエージェントにアクショングループを追加する](agents-action-add.md)」を参照してください。

1. **[ナレッジベース]** セクションで、**[追加]**を選択してナレッジグループをエージェントに関連付けることができます。ナレッジベースの設定の詳細については、「[Amazon Bedrock ナレッジベースでデータを取得して AI レスポンスを生成する](knowledge-base.md)」を参照してください。ナレッジベースをエージェントに関連付ける方法については、「[ナレッジベースを使用してエージェントのレスポンス生成を補足する](agents-kb-add.md)」を参照してください。

1. **[ガードレールの詳細]** セクションで **[編集]** を選択してガードレールをエージェントに関連付けると、有害なコンテンツをブロックしてフィルタリングできます。**[ガードレールの選択]** でドロップダウンメニューから使用するガードレールを選択し、**[ガードレールバージョン]** で使用するバージョンを選択します。**[表示]** を選択すると、ガードレール設定を表示できます。詳細については、「[Amazon Bedrock ガードレールを使用して有害なコンテンツを検出してフィルタリングする](guardrails.md)」を参照してください。

1. **[オーケストレーション戦略] **セクションで、**[編集]** を選択してエージェントのオーケストレーションをカスタマイズできます。エージェントに使用できるオーケストレーション戦略の詳細については、「[エージェントオーケストレーション戦略をカスタマイズする](orch-strategy.md)」を参照してください。

1. **[マルチエージェントコラボレーション]** セクションで、**[編集]** を選択してマルチエージェントコラボレーションチームを作成できます。マルチエージェントコラボレーションの詳細については、「[Amazon Bedrock エージェントでマルチエージェントコラボレーションを使用する](agents-multi-agent-collaboration.md)」を参照してください。

1. エージェントの設定が完了したら、次のいずれかのオプションを選択します。
   + **[エージェントビルダー]** から移動しない場合は、**[保存]** を選択します。そのまま、エージェントを**準備**して、更新された設定をテストウィンドウでテストできます。エージェントをテストする方法については、「[エージェントの動作テストとトラブルシューティング](agents-test.md)」を参照してください。
   + **[エージェントの詳細]** ページに戻る場合は、**[保存して終了]** を選択します。

------
#### [ API ]

エージェントを作成するには、[Amazon Bedrock エージェントのビルドタイムのエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html) リクエストを送信します (リクエストとレスポンスの形式およびフィールドの詳細についてはリンクを参照)。

[コード例を見る](bedrock-agent_example_bedrock-agent_CreateAgent_section.md)

エージェントを[テスト](agents-test.md)または[デプロイ](agents-deploy.md)できるように準備するには、最低でも以下のフィールドを含める必要があります (必要に応じて、これらの設定を省略し、後で [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) リクエストを送信して設定することもできます)。


****  

| フィールド | ユースケース | 
| --- | --- | 
| agentResourceRoleArn | エージェントで API オペレーションを呼び出すアクセス許可を持つサービスロールの ARN を指定する | 
| foundationModel | エージェントがオーケストレーションで使用する基盤モデル (FM) を指定する | 
| instruction | エージェントに何をすべきかの指示を提供する。オーケストレーションプロンプトテンプレートの \$1instructions\$1 プレースホルダーで使用されます。 | 

次のフィールドはオプションです。


****  

| フィールド | ユースケース | 
| --- | --- | 
| description | エージェントが何をするかの説明 | 
| idleSessionTTLInSeconds | エージェントがセッションを終了して保存された情報を削除するまでの時間。 | 
| customerEncryptionKeyArn | エージェントリソースを暗号化するための KMS キーの ARN | 
| tags | [タグ](tagging.md)をエージェントに関連付ける。 | 
| promptOverrideConfiguration | オーケストレーションの各ステップで FM に送信される[プロンプトをカスタマイズする](advanced-prompts.md)。 | 
| guardrailConfiguration | エージェントに[ガードレール](guardrails.md)を追加する。使用するガードレールの ID または ARN とバージョンを指定します。 | 
| clientToken | API リクエストが 1 回だけ完了するようにします。詳細については、「[べき等性の確保](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)」を参照してください。 | 
| cachingState | エージェントへの入力のプロンプトキャッシュを有効にする場合。詳細については、「[モデル推論を高速化するためのプロンプトキャッシュ](prompt-caching.md)」を参照してください。 | 
| reasoning\$1config | どのように結論に達したかをモデルが説明できるように、モデルの推論を有効にするために使用します。additionalModelRequestFields フィールド内で使用します。出力トークンのサブセットであるモデル推論に使用する budget\$1tokens の数を指定する必要があります。詳細については、「[モデル推論を使用してモデルのレスポンスを強化する](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-reasoning.html)」を参照してください。 | 

レスポンスでは、新しく作成されたエージェントの詳細を含む [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_Agent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_Agent.html) オブジェクトが返されます。エージェントの作成に失敗すると、トラブルシューティング用に、レスポンスの [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_Agent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_Agent.html) オブジェクトで `failureReasons` のリストと `recommendedActions` のリストが返されます。

```
    def create_agent(self, agent_name, foundation_model, role_arn, instruction):
        """
        Creates an agent that orchestrates interactions between foundation models,
        data sources, software applications, user conversations, and APIs to carry
        out tasks to help customers.

        :param agent_name: A name for the agent.
        :param foundation_model: The foundation model to be used for orchestration by the agent.
        :param role_arn: The ARN of the IAM role with permissions needed by the agent.
        :param instruction: Instructions that tell the agent what it should do and how it should
                            interact with users.
        :return: The response from Amazon Bedrock Agents if successful, otherwise raises an exception.
        """
        try:
            response = self.client.create_agent(
                agentName=agent_name,
                foundationModel=foundation_model,
                agentResourceRoleArn=role_arn,
                instruction=instruction,
            )
        except ClientError as e:
            logger.error(f"Error: Couldn't create agent. Here's why: {e}")
            raise
        else:
            return response["agent"]
```

詳細については、「[Amazon Bedrock エージェントの始め方](bedrock-agent_example_bedrock-agent_Hello_section.md)」を参照してください。

------