

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

# Amazon Bedrock でプロンプト管理を使用して再利用可能なプロンプトを構築して保存する
<a name="prompt-management"></a>

Amazon Bedrock では、プロンプト管理を使用してユーザー独自のプロンプトを作成して保存できるため、異なるワークフローに同じプロンプトを適用することで時間を節約できます。プロンプトを作成する際に、推論を実行するモデルを選択し、使用する推論パラメータを変更できます。プロンプトに変数を含めることで、さまざまなユースケースに合わせてプロンプトを調整できます。

プロンプトをテストするときは、プロンプトのさまざまなバリアントを比較し、ユースケースに最適な出力を生成するバリアントを選択するオプションがあります。プロンプトでイテレーションしながら、そのバージョンを保存できます。[Amazon Bedrock Flows](flows.md) を使用すると、プロンプトをアプリケーションに統合できます。

以下は、プロンプト管理を使用するための一般的なワークフローです。

1. プロンプト管理で、さまざまなユースケースで再利用するプロンプトを作成します。モデルプロンプトに柔軟性を提供する変数を含めます。

1. モデル、推論プロファイル、またはプロンプトで推論を実行するエージェントを選択し、必要に応じて推論設定を変更します。

1. 変数のテスト値を入力し、プロンプトを実行します。プロンプトのバリアントを作成し、さまざまなバリアントの出力を比較して、ユースケースに最適なものを選択できます。

1. 次のいずれかの方法で、プロンプトをアプリケーションに統合します。
   + [モデルの推論を実行](inference.md)する際に、プロンプトを指定します。
   + プロンプトノードを[フロー](flows.md)に追加し、プロンプトを指定します。

**Topics**
+ [

## 主な定義
](#prompt-management-definitions)
+ [

# プロンプト管理でサポートされているリージョンおよびモデル
](prompt-management-supported.md)
+ [

# プロンプト管理の前提条件
](prompt-management-prereq.md)
+ [

# プロンプト管理を使用してプロンプトを作成する
](prompt-management-create.md)
+ [

# プロンプト管理を使用してプロンプトに関する情報を表示する
](prompt-management-view.md)
+ [

# プロンプト管理を使用してプロンプトを変更する
](prompt-management-modify.md)
+ [

# プロンプト管理を使用してプロンプトをテストする
](prompt-management-test.md)
+ [

# プロンプトを最適化する
](prompt-management-optimize.md)
+ [

# プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする
](prompt-management-deploy.md)
+ [

# プロンプト管理でプロンプトを削除する
](prompt-management-delete.md)
+ [

# プロンプト管理コードサンプルを実行する
](prompt-management-code-ex.md)

## 主な定義
<a name="prompt-management-definitions"></a>

以下のリストでは、プロンプト管理の基本概念を紹介します。
+ **プロンプト** – 適切なレスポンスまたは出力を生成するようにモデルをガイドするためにモデルに提供される入力。
+ **変数** – プロンプトに含めることができるプレースホルダー。プロンプトのテスト時やランタイムでモデルを呼び出す際に、各変数の値を含めることができます。
+ **プロンプトバリアント** – メッセージ、使用されるモデルまたは推論設定など、プロンプトの代替設定。プロンプトのさまざまなバリアントを作成し、テストして、保持するバリアントを保存できます。
+ **プロンプトビルダー** – ビジュアルインターフェイスでプロンプトとそのバリアントを作成、編集、およびテストできる Amazon Bedrock コンソールのツール。

# プロンプト管理でサポートされているリージョンおよびモデル
<a name="prompt-management-supported"></a>

プロンプト管理は、以下でサポートされていますAWS リージョン。
+ ap-northeast-1
+ ap-northeast-2
+ ap-northeast-3
+ ap-south-1
+ ap-south-2
+ ap-southeast-1
+ ap-southeast-2
+ ca-central-1
+ eu-central-1
+ eu-central-2
+ eu-north-1
+ eu-south-1
+ eu-south-2
+ eu-west-1
+ eu-west-2
+ eu-west-3
+ sa-east-1
+ us-east-1
+ us-east-2
+ us-gov-east-1
+ us-gov-west-1
+ us-west-2

[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API でサポートされている任意のテキストモデルでプロンプト管理を使用できます。サポートされているモデルのリストについては、「[サポートされているモデルとモデルの機能](conversation-inference-supported-models-features.md)」を参照してください。

**注記**  
[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) と [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) は、設定で Anthropic Claude または Meta Llama モデルが指定されているプロンプト管理からのプロンプトでのみ機能します。

# プロンプト管理の前提条件
<a name="prompt-management-prereq"></a>

ロールがプロンプト管理を使用するには、特定の API アクションのセットの実行を許可する必要があります。以下の前提条件を確認し、ユースケースに当てはまる前提条件を満たします。

1. ロールに [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)AWS 管理ポリシーがアタッチされている場合は、このセクションをスキップできます。それ以外の場合は、「[「ロールのアクセス許可ポリシーを更新](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html#id_roles_update-role-permissions-policy)」のステップに従って、以下のポリシーをロールにアタッチし、プロンプト管理に関連するアクションを実行するアクセス許可を付与します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PromptManagementPermissions",
               "Effect": "Allow",
               "Action": [
                   "bedrock:CreatePrompt",
                   "bedrock:UpdatePrompt",
                   "bedrock:GetPrompt",
                   "bedrock:ListPrompts",
                   "bedrock:DeletePrompt",
                   "bedrock:CreatePromptVersion",
                   "bedrock:OptimizePrompt",
                   "bedrock:GetFoundationModel",
                   "bedrock:ListFoundationModels",
                   "bedrock:GetInferenceProfile",
                   "bedrock:ListInferenceProfiles",
                   "bedrock:InvokeModel",
                   "bedrock:InvokeModelWithResponseStream",
                   "bedrock:RenderPrompt",
                   "bedrock:TagResource",
                   "bedrock:UntagResource",
                   "bedrock:ListTagsForResource"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   アクセス許可をさらに制限するには、アクションを省略するか、アクセス許可をフィルタリングするためのリソースや条件キーを指定できます。アクション、リソース、条件キーの詳細については、「*サービス認可リファレンス*」の以下のトピックを参照してください。
   + [Amazon Bedrock で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) – アクション、`Resource` フィールドで範囲を定義できるリソースタイプ、`Condition` フィールドでアクセス許可をフィルタリングできる条件キーについて説明しています。
   + [Amazon Bedrock で定義されるリソースタイプ](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) – Amazon Bedrock のリソースタイプについて説明しています。
   + [Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) – Amazon Bedrock の条件キーについて説明しています。
**注記**  
[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API を使用してプロンプトをデプロイする場合は、「[モデル推論を実行するための前提条件](inference-prereq.md)」を参照して、プロンプトを呼び出すために設定する必要があるアクセス許可を確認してください。
Amazon Bedrock Flows で[フロー](flows.md)を使用してプロンプトをデプロイする場合は、「[Amazon Bedrock プロンプトフローの前提条件](flows-prereq.md)」を参照して、フローを作成するために設定する必要があるアクセス許可を確認してください。

1. (AWS マネージドキー詳細については、「 キー」を参照) を使用するのではなく、カスタマーマネージド[AWS KMSキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)を使用してプロンプトを暗号化する場合は、次のポリシーを作成します。

   1. 「[キーポリシーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)」の手順に従い、Amazon Bedrock がプロンプトをキーで暗号化および復号できるように、以下のキーポリシーを KMS キーにアタッチします。*values* は、必要に応じて置き換えます。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する `Condition` フィールドに、オプションの条件キー (「[Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」および「[AWS のグローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」を参照) が含まれています。

      ```
      {
          "Sid": "EncryptFlowKMS",
          "Effect": "Allow",
          "Principal": {
              "Service": "bedrock.amazonaws.com"
          },
          "Action": [
              "kms:GenerateDataKey",
              "kms:Decrypt"
          ],
          "Resource": "*",
          "Condition": {
              "StringEquals": {
                  "kms:EncryptionContext:aws:bedrock-prompts:arn": "arn:${partition}:bedrock:${region}:${account-id}:prompt/${prompt-id}"
              }
          }
      }
      ```

   1. 「[ロールに対するアクセス許可を更新する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html#id_roles_update-role-permissions-policy)」の手順に従い、プロンプトのカスタマーマネージドキーを生成および復号できるように、以下のポリシーをプロンプト管理ロールにアタッチします。*values* は、必要に応じて置き換えます。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する `Condition` フィールドに、オプションの条件キー (「[Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」および「[AWS のグローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」を参照) が含まれています。

      ```
      {
          "Sid": "KMSPermissions",
          "Effect": "Allow",
          "Action": [
              "kms:GenerateDataKey",
              "kms:Decrypt"
          ],
          "Resource": [
              "arn:aws:kms:${region}:${account-id}:key/${key-id}"
          ],
           "Condition": {
              "StringEquals": {
                  "aws:ResourceAccount": "${account-id}"
              }
          }
      }
      ```

# プロンプト管理を使用してプロンプトを作成する
<a name="prompt-management-create"></a>

プロンプトを作成する際、以下のオプションを選択できます。
+ FM が出力を生成するための入力として機能するプロンプトメッセージを書き込みます。
+ 二重中括弧を使用して、プロンプトを呼び出すときに入力できるプロンプトメッセージに変数 (*\$1\$1variable\$1\$1* など) を含めます。
+ プロンプトを呼び出すモデルを選択するか、エージェントでプロンプトを使用する予定がある場合は指定しないままにします。モデルを選択した場合は、使用する推論設定を変更することもできます。さまざまなモデルの推論パラメータを確認するには、「[Inference request parameters and response fields for foundation models](model-parameters.md)」を参照してください。

すべてのプロンプトは、以下の基本推論パラメータをサポートしています。
+ **maxTokens** – 生成されたレスポンスで許可するトークンの最大数。
+ **stopSequences** – ストップシーケンスのリスト。停止シーケンスは、モデルがレスポンスの生成を停止する一連の文字です。
+ **temperature** – モデルがレスポンスの生成中に確率の高いオプションを選択する可能性。
+ **topP** — モデルが次のトークンについて考慮する最も可能性の高い候補のパーセンテージ。

モデルが追加の推論パラメータをサポートしている場合は、それらをプロンプトの*追加フィールド*として指定できます。JSON オブジェクトに追加フィールドを指定します。次の例は、Anthropic Claude モデルで使用可能ですが、基本推論パラメータではない `top_k` を設定する方法を示しています。

```
{
    "top_k": 200
}
```

モデル推論パラメータの詳細については、「[基盤モデルの推論リクエストパラメータとレスポンスフィールド](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html)」を参照してください。

基本推論パラメータを追加フィールドとして設定しても、コンソールで設定した値は上書きされません。

プロンプトに選択したモデルが [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API をサポートしている場合 (詳細については、「[Converse API オペレーションを使用して会話を実行する](conversation-inference.md)」を参照)、プロンプトを作成するときに以下を含めることができます。
+ モデルに指示またはコンテキストを提供するシステムプロンプト。
+ 以前のプロンプト (ユーザーメッセージ) とモデルレスポンス (アシスタントメッセージ) を、最後のユーザーメッセージのレスポンスを生成する際にモデルが考慮する会話履歴として使用します。
+ (モデルでサポートされている場合) レスポンスの生成時に使用するモデル用の[ツール](tool-use.md)。
+ (モデルでサポートされている場合) [プロンプトキャッシュ](prompt-caching.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. カスタマーマネージドキーでプロンプトを暗号化するには、**[KMS キーの選択]** セクションで **[暗号化設定をカスタマイズ (高度)]** を選択します。このフィールドを省略すると、プロンプトは AWS マネージドキー で暗号化されます。詳細については、「[AWS KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」を参照してください。

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. **[プロンプト]** ペインを使用してプロンプトを作成します。最後の **[ユーザーメッセージ]** ボックスにプロンプトを入力します。モデルが [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API または [AnthropicClaude Messages API](model-parameters-anthropic-claude-messages.md) をサポートしている場合は、コンテキストの**システムプロンプト**と以前の**ユーザーメッセージ**、**アシスタントメッセージ**を含めることもできます。

   プロンプトを記述するときは、二重中括弧 (*\$1\$1variable\$1\$1* のように) に変数を含めることができます。含める各変数は、**[テスト変数]** セクションに表示されます。

1. (オプション) プロンプトは、次の方法で変更できます。
   + **[詳細設定]** ペインで、次の操作を行います。

     1. 推論を実行するための **[生成 AI のリソース]** を選択します。
**注記**  
エージェントを選択した場合は、コンソールでのみプロンプトをテストできます。API でエージェントを使用してプロンプトをテストする方法については、「[プロンプト管理を使用してプロンプトをテストする](prompt-management-test.md)」を参照してください。

     1. **[推論パラメータ]** で、使用する推論パラメータを設定します。

     1. モデルが[推論](inference-reasoning.md)をサポートしている場合は、**[推論]** をオンにしてモデルの推論をレスポンスに含めます。**[推論トークン]** では、モデルが使用できる推論トークンの数を設定できます。

     1. **[追加モデルリクエストフィールド]** で、**[設定]** を選択して、**[推論パラメータ]** で指定したもの以外の追加の推論パラメータを指定します。

     1. 選択したモデルがツールをサポートしている場合は、**[ツールを設定]** を選択して、プロンプトでツールを使用するようにします。

     1. 選択したモデルが[プロンプトキャッシュ](prompt-caching.md)をサポートしている場合は、次のいずれかのオプションを選択します (可用性はモデルによって異なります)。
        + **なし** – プロンプトキャッシュは行われません。
        + **ツール** – プロンプト内のツールのみがキャッシュされます。
        + **ツール、システム命令** – プロンプトのツールとシステム命令がキャッシュされます。
        + **ツール、システム命令、メッセージ** – プロンプトのツール、システム命令、メッセージ (ユーザーとアシスタント) がキャッシュされます。
   + プロンプトのさまざまなバリアントを比較するには、**[バリアントを比較]** を選択します。比較ページで、以下のことができます。
     + バリアントを追加するには、プラス記号を選択します。最大 3 つのバリアントを追加できます。
     + バリアントの詳細を指定したら、任意の **[テスト変数]** を指定し、**[実行]** を選択してバリアントの出力をテストできます。
     + バリアントを削除するには、3 つのドットを選択し、**[比較から削除]** を選択します。
     + 作業ドラフトを置き換えて比較モードを終了するには、**[ドラフトとして保存]** を選択します。他のすべてのバリアントは削除されます。
     + 比較モードを終了するには、**[比較モードを終了]** を選択します。

1. プロンプトの設定が完了したら、次のオプションがあります。
   + プロンプトを保存するには、**[下書きを保存]** を選択します。下書きのバージョンの詳細については、「[プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする](prompt-management-deploy.md)」を参照してください。
   + プロンプトを削除するには、**[削除]** を選択します。詳細については、「[プロンプト管理でプロンプトを削除する](prompt-management-delete.md)」を参照してください。
   + プロンプトのバージョンを作成するには、**[バージョンを作成]** を選択します。プロンプトのバージョニングの詳細については、「[プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする](prompt-management-deploy.md)」を参照してください。

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

プロンプトを作成するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、[CreatePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePrompt.html) リクエストを送信します。

以下のフィールドが必要です。


****  

| フィールド | 簡単な説明 | 
| --- | --- | 
| 名前 | プロンプトの名前。 | 
| バリアント | プロンプトのさまざまな設定のリスト (以下を参照)。 | 
| defaultVariant | デフォルトのバリアントの名前。 | 

`variants` リスト内の各バリアントは、次の一般的な構造の [PromptVariant](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html) オブジェクトです。

```
{
        "name": "string",
        # modelId or genAiResource (see below)
        "templateType": "TEXT",
        "templateConfiguration": # see below,
        "inferenceConfiguration": {
            "text": {
                "maxTokens": int,
                "stopSequences": ["string", ...],
                "temperature": float,
                "topP": float
            }
        },
        "additionalModelRequestFields": {
            "key": "value",
            ...
        },
        "metadata": [
            {
                "key": "string",
                "value": "string"
            },
            ...
        ]
}
```

次のようにフィールドに入力します。
+ name – バリアントの名前を入力します。
+ 使用するモデル呼び出しリソースに応じて、以下のフィールドのいずれかを含めます。
  + modelId – プロンプトで使用する[基盤モデル](models-supported.md)または[推論プロファイル](cross-region-inference.md)を指定するには、その ARN または ID を入力します。
  + genAiResource – [エージェント](agents.md)を指定するには、その ID または ARN を入力します。`genAiResource` の値は以下の形式の JSON オブジェクトです。

    ```
    {
        "genAiResource": {
        "agent": {
            "agentIdentifier": "string"
        }   
    }
    ```
**注記**  
`genAiResource` フィールドを含めると、コンソールでのみプロンプトをテストできます。API でエージェントを使用してプロンプトをテストするには、プロンプトのテキストを [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) リクエストの `inputText` フィールドに直接入力する必要があります。
+ templateType – `TEXT` または `CHAT` を入力します。`CHAT` は [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API をサポートするモデルとのみ互換性があります。プロンプトキャッシュを使用する場合は、`CHAT` テンプレートタイプを使用する必要があります。
+ templateConfiguration – 値は、指定したテンプレートタイプによって異なります。
  + テンプレートタイプとして `TEXT` を指定した場合、値は [TextPromptTemplateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_TextPromptTemplateConfiguration.html.html) JSON オブジェクトである必要があります。
  + テンプレートタイプとして `CHAT` を指定した場合、値は [ChatPromptTemplateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChatPromptTemplateConfiguration.html.html) JSON オブジェクトである必要があります。
+ inferenceConfiguration – `text` フィールドは [PromptModelInferenceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptModelInferenceConfiguration.html.html) にマッピングされます。このフィールドには、すべてのモデルに共通の推論パラメータが含まれています。推論パラメータの詳細については、「[推論パラメータでレスポンスの生成に影響を与える](inference-parameters.md)」を参照してください。
+ additionalModelRequestFields – このフィールドを使用して、推論を実行しているモデルに固有の推論パラメータを指定します。モデル固有の推論パラメータの詳細については、「[Inference request parameters and response fields for foundation models](model-parameters.md)」を参照してください。
+ metadata – プロンプトバリアントに関連付けるメタデータ。キーと値のペアを配列に追加して、プロンプトバリアントにメタデータをタグ付けできます。

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


****  

| フィールド | ユースケース | 
| --- | --- | 
| description | プロンプトの説明を入力するには。 | 
| clientToken | API リクエストが 1 回だけ完了するようにします。詳細については、「[べき等性の確保](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)」を参照してください。 | 
| tags | タグをエイリアスに関連付ける場合に指定します。詳細については、「[Amazon Bedrock リソースにタグ付け](tagging.md)」を参照してください。 | 

レスポンスは `DRAFT` バージョンを作成し、他のプロンプト関連の API リクエストのプロンプト識別子として使用できる ID と ARN を返します。

------

# プロンプト管理を使用してプロンプトに関する情報を表示する
<a name="prompt-management-view"></a>

プロンプト管理を使用してプロンプトの情報を表示する方法については、使用する方法に対応するタブを選択して、手順に従ってください。

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

**プロンプトに関する情報を表示するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。次に、**[プロンプト]** セクションでプロンプトを選択します。

1. **[プロンプトの詳細]** ページには、以下のセクションが含まれています。
   + **[概要]** – プロンプトに関する一般的な情報と、プロンプトの作成日時と最終更新日時が含まれます。
   + **[プロンプトの下書き]** – プロンプトメッセージと、最期に保存されたプロンプトの下書きバージョンの設定が含まれます。
   + **[プロンプトバージョン]** – 作成されたプロンプトのすべてのバージョンのリスト。プロンプトのバージョンの詳細については、「[プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする](prompt-management-deploy.md)」を参照してください。

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

プロンプトに関する情報を取得するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、プロンプトの ARN または ID を `promptIdentifier` として指定し、[GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html) リクエストを送信します。プロンプトの特定のバージョンに関する情報を取得するには、 `promptVersion` フィールドで `DRAFT` またはバージョン番号を指定します。

エージェントの情報を一覧表示するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して [ListPrompts](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html) リクエストを送信します。以下のオプションパラメータを指定できます。


****  

| フィールド | 簡単な説明 | 
| --- | --- | 
| maxResults | レスポンスとして返す結果の最大数。 | 
| nextToken | maxResults フィールドで指定した数よりも結果の件数が多い場合は、レスポンスで nextToken 値が返されます。結果の次のバッチを表示するには、別のリクエストで nextToken 値を送信します。 | 

------

# プロンプト管理を使用してプロンプトを変更する
<a name="prompt-management-modify"></a>

プロンプト管理を使用してプロンプトを変更する方法については、使用する方法に対応するタブを選択して、手順に従ってください。

------
#### [ 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. 変更できるプロンプトの部分の詳細については、「[プロンプト管理を使用してプロンプトを作成する](prompt-management-create.md)」を参照してください。

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

プロンプトを変更するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、[UpdatePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdatePrompt.html) リクエストを送信します。維持するフィールドと変更するフィールドの両方を含めます。

------

# プロンプト管理を使用してプロンプトをテストする
<a name="prompt-management-test"></a>

プロンプト管理で作成したプロンプトをテストする方法については、任意の方法のタブを選択し、そのステップに従ってください。

------
#### [ 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. プロンプトまたはその設定を変更し、必要に応じてプロンプトを再度実行します。プロンプトに納得している場合は、**[バージョンを作成]** を選択して、本番環境で使用できるプロンプトのスナップショットを作成できます。詳細については、「[プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする](prompt-management-deploy.md)」を参照してください。

プロンプトは、次の方法でテストすることもできます。
+ フローでプロンプトをテストするには、フローにプロンプトノードを含めます。詳細については、「[Amazon Bedrock でフローを作成および設計する](flows-create.md)」および「[フローのノードタイプ](flows-nodes.md)」を参照してください。
+ エージェントでプロンプトを設定していない場合でも、エージェントのテスト時にプロンプトをインポートすることで、エージェントでプロンプトをテストできます。詳細については、「[エージェントの動作テストとトラブルシューティング](agents-test.md)」を参照してください。

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

プロンプトは、次の方法でテストできます。
+ プロンプトで推論を実行するには、[Amazon Bedrock ランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt)を使用して [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)、[InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)、[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)、[ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html) のいずれかのリクエストを送信し、`modelId` パラメータでプロンプトの ARN を指定します。
**注記**  
`Converse` または `ConverseStream` でプロンプト管理プロンプトを使用する場合、次の制限が適用されます。  
`additionalModelRequestFields`、`inferenceConfig`、`system`、`toolConfig` フィールドを含めることはできません。
`messages` フィールドを含めると、プロンプトで定義されたメッセージの後にメッセージが追加されます。
`guardrailConfig` フィールドを含めると、プロンプト全体にガードレールが適用されます。[ContentBlock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ContentBlock.html) フィールドに `guardContent` ブロックを含めると、ガードレールはそれらのブロックにのみ適用されます。
+ フローでプロンプトをテストするには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して [CreateFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateFlow.html) または [UpdateFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateFlow.html) リクエストを送信することで、フローを作成または編集します。`PromptNode` タイプの Node.js に SDK for JavaScript を含め、`promptArn` フィールドにプロンプトの ARN を含めます。次に、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html) リクエストを送信します。詳細については、「[Amazon Bedrock でフローを作成および設計する](flows-create.md)」および「[フローのノードタイプ](flows-nodes.md)」を参照してください。
+ エージェントでプロンプトをテストするには、Amazon Bedrock コンソール (**コンソール**タブを参照) を使用するか、プロンプトのテキストを [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) リクエストの `inputText` フィールドに入力します。

------

# プロンプトを最適化する
<a name="prompt-management-optimize"></a>

Amazon Bedrock には、プロンプトを最適化するためのツールが用意されています。最適化を行うと、プロンプトが書き換えられて、ユースケースにより適した推論結果が得られます。プロンプトを最適化するモデルを選択し、改訂されたプロンプトを生成できます。

最適化するプロンプトを送信すると、Amazon Bedrock によってプロンプトのコンポーネントが分析されます。分析に成功した場合、プロンプトが書き換えられます。その後、最適化されたプロンプトのテキストをコピーして使用できます。

**注記**  
最良の結果を得るには、英語でプロンプトを最適化することをお勧めします。

**Topics**
+ [

## プロンプトの最適化でサポートされているリージョンおよびモデル
](#prompt-management-optimize-supported)
+ [

## 最適化するプロンプトを送信する
](#prompt-management-optimize-submit)

## プロンプトの最適化でサポートされているリージョンおよびモデル
<a name="prompt-management-optimize-supported"></a>

次の表は、プロンプト最適化のモデルサポートを示しています。


| プロバイダー | モデル | モデル ID | 単一リージョンモデルのサポート | 
| --- | --- | --- | --- | 
| Amazon | Nova Lite | amazon.nova-lite-v1:0 |  ap-southeast-2 eu-west-2 us–east–1  | 
| Amazon | Nova Micro | amazon.nova-micro-v1:0 |  ap-southeast-2 eu-west-2 us–east–1  | 
| Amazon | Nova Premier | amazon.nova-premier-v1:0 |  | 
| Amazon | Nova Pro | amazon.nova-pro-v1:0 |  ap-southeast-2 eu-west-2 us–east–1  | 
| Anthropic | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us–east–1 us-west-2  | 
| Anthropic | Claude 3 Opus | anthropic.claude-3-opus-20240229-v1:0 |  | 
| Anthropic | Claude 3 Sonnet | anthropic.claude-3-sonnet-20240229-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us–east–1 us-west-2  | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  | 
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |  eu-central-1 us–east–1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 |  eu-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  | 
| DeepSeek | DeepSeek-R1 | deepseek.r1-v1:0 |  | 
| Meta | Llama 3 70B Instruct | meta.llama3-70b-instruct-v1:0 |  ap-south-1 ca-central-1 eu-west-2 us–east–1 us-west-2  | 
| Meta | Llama 3.1 70B Instruct | meta.llama3-1-70b-instruct-v1:0 |  us-west-2  | 
| Meta | Llama 3.2 11B インストラクション | meta.llama3-2-11b-instruct-v1:0 |  | 
| Meta | Llama 3.3 70B インストラクション | meta.llama3-3-70b-instruct-v1:0 |  | 
| Meta | Llama 4 Maverick 17B Instruct | meta.llama4-maverick-17b-instruct-v1:0 |  | 
| Meta | Llama 4 Scout 17B Instruct | meta.llama4-scout-17b-instruct-v1:0 |  | 
| Mistral AI | Mistral Large (24.02) | mistral.mistral-large-2402-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us–east–1 us-west-2  | 
| Mistral AI | Mistral Large (24.07) | mistral.mistral-large-2407-v1:0 |  us-west-2  | 

## 最適化するプロンプトを送信する
<a name="prompt-management-optimize-submit"></a>

プロンプトを最適化する方法については、任意の方法のタブを選択し、そのステップに従ってください。

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

 AWS マネジメントコンソールでプレイグラウンドまたはプロンプト管理を使用して、プロンプトを最適化できます。プロンプトを最適化する前に、モデルを選択する必要があります。プロンプトは、選択したモデルに合わせて最適化されます。

**プレイグラウンドでプロンプトを最適化するには**

1. Amazon Bedrock プレイグラウンドでプロンプトを記述する方法については、「[Generate responses in the console using playgrounds](playgrounds.md)」の手順に従ってください。

1. プロンプトを記述してモデルを選択したら、ワンドアイコン (![\[Sparkle icon representing cleaning or refreshing functionality.\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/wand.png)) を選択します。**[プロンプトを最適化]** ダイアログボックスが開き、Amazon Bedrock がプロンプトの最適化を開始します。

1. Amazon Bedrock がプロンプトの分析と最適化を完了したら、ダイアログボックス内で元のプロンプトを最適化されたプロンプトと並べて比較できます。

1. プロンプトをプレイグラウンド内の最適化されたプロンプトに置き換えるには、**[最適化されたプロンプトを使用]** を選択します。元のプロンプトを保持するには、**[キャンセル]** を選択します。

1. プロンプトを送信してレスポンスを生成するには、**[実行]** を選択します。

**プロンプト管理でプロンプトを最適化するには**

1. プロンプト管理を使用してプロンプトを記述する方法については、「[プロンプト管理を使用してプロンプトを作成する](prompt-management-create.md)」の手順に従ってください。

1. プロンプトを記述してモデルを選択したら、**[プロンプト]** ボックスの上部にある **(![\[Sparkle icon representing cleaning or refreshing functionality.\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/icons/wand.png)) [最適化]** を選択します。

1. Amazon Bedrock がプロンプトの分析と最適化を完了すると、最適化されたプロンプトが元のプロンプトの隣にバリアントとして表示されます。

1. 最適化されたプロンプトを元のプロンプトの代わりに使用するには、**[元のプロンプトを置き換える]** を選択します。元のプロンプトを保持するには、**[比較を終了]** を選択し、元のプロンプトを保存することを選択します。
**注記**  
比較ビューに 3 つのプロンプトがある場合に、別のプロンプトを最適化しようとすると、元のプロンプトまたはいずれかのバリアントを上書きして置き換えるように求められます。

1. プロンプトを送信してレスポンスを生成するには、**[実行]** を選択します。

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

プロンプトを最適化するには、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して [OptimizePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_OptimizePrompt.html) リクエストを送信します。`input` オブジェクトで最適化するプロンプトを指定し、`targetModelId` フィールドで最適化の対象となるモデルを指定します。

レスポンスストリームは以下のイベントを返します。

1. [analyzePromptEvent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_AnalyzePromptEvent.html) – プロンプトの分析が完了すると表示されます。プロンプトの分析結果を説明するメッセージが含まれます。

1. [optimizedPromptEvent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_OptimizedPromptEvent.html) – プロンプトの書き換えが完了すると表示されます。最適化されたプロンプトが含まれます。

次のコードサンプルを実行して、プロンプトを最適化します。

```
import boto3

# Set values here
TARGET_MODEL_ID = "anthropic.claude-3-sonnet-20240229-v1:0" # Model to optimize for. For model IDs, see https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html
PROMPT = "Please summarize this text: " # Prompt to optimize

def get_input(prompt):
    return {
        "textPrompt": {
            "text": prompt
        }
    }
 
def handle_response_stream(response):
    try:
        event_stream = response['optimizedPrompt']
        for event in event_stream:
            if 'optimizedPromptEvent' in event:
                print("========================== OPTIMIZED PROMPT ======================\n")
                optimized_prompt = event['optimizedPromptEvent']
                print(optimized_prompt)
            else:
                print("========================= ANALYZE PROMPT =======================\n")
                analyze_prompt = event['analyzePromptEvent']
                print(analyze_prompt)
    except Exception as e:
        raise e
 
 
if __name__ == '__main__':
    client = boto3.client('bedrock-agent-runtime')
    try:
        response = client.optimize_prompt(
            input=get_input(PROMPT),
            targetModelId=TARGET_MODEL_ID
        )
        print("Request ID:", response.get("ResponseMetadata").get("RequestId"))
        print("========================== INPUT PROMPT ======================\n")
        print(PROMPT)
        handle_response_stream(response)
    except Exception as e:
        raise e
```

------

# プロンプト管理でバージョンを使用して、アプリケーションにプロンプトをデプロイする
<a name="prompt-management-deploy"></a>

プロンプトを保存するときに、プロンプトの*ドラフトバージョン*を作成します。プロンプトとその設定を変更して保存することで、ドラフトバージョンで繰り返し続けることができます。

プロンプトを本番環境にデプロイする準備ができたら、アプリケーションで使用するバージョンを作成します。バージョンは、プロンプトの作業ドラフトを繰り返しているときの特定の時点で作成するプロンプトのスナップショットです。一連の設定に満足したら、プロンプトのバージョンを作成します。バージョンを使用すると、プロンプトのさまざまな設定を簡単に切り替えたり、ユースケースに最適なバージョンでアプリケーションを更新したりできます。

**Topics**
+ [

# プロンプト管理でプロンプトのバージョンを作成する
](prompt-management-version-create.md)
+ [

# プロンプト管理でプロンプトのバージョンに関する情報を表示する
](prompt-management-version-view.md)
+ [

# プロンプト管理でプロンプトのバージョンを比較する
](prompt-management-version-compare.md)
+ [

# プロンプト管理でプロンプトのバージョンを削除する
](prompt-management-version-delete.md)

# プロンプト管理でプロンプトのバージョンを作成する
<a name="prompt-management-version-create"></a>

プロンプトのバージョンを作成する方法については、使用する方法に対応するタブをクリックして、手順に従ってください。

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

プロンプトビルダーを使用している場合は、**[バージョンを作成]** を選択することによって、プロンプトのバージョンを作成できます。それ以外の場合は以下の作業を行います。

**プロンプトのバージョンを作成するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。次に、**[プロンプト]** セクションでプロンプトを選択します。

1. **[プロンプトバージョン]** セクションで、**[バージョンを作成]** を選択して、ドラフトバージョンのスナップショットを作成します。

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

プロンプトのバージョンを作成するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、プロンプトの ARN または ID を `promptIdentifier` として指定し、[CreatePromptVersion](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePromptVersion.html) リクエストを送信します。

レスポンス応答は、バージョンの ID と ARN を返します。バージョンは 1 から段階的に作成されます。

------

# プロンプト管理でプロンプトのバージョンに関する情報を表示する
<a name="prompt-management-version-view"></a>

プロンプトのバージョンに関する情報を表示する方法については、使用する方法に対応するタブを選択して、手順に従ってください。

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

**プロンプトのバージョンに関する情報を表示するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。次に、**[プロンプト]** セクションでプロンプトを選択します。

1. **[プロンプトバージョン]** セクションで、バージョンを選択します。

1. **[バージョンの詳細]** ページで、バージョン、プロンプトメッセージ、およびその設定に関する情報を確認できます。プロンプトのバージョンをテストする方法については、「[プロンプト管理を使用してプロンプトをテストする](prompt-management-test.md)」を参照してください。

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

プロンプトのバージョンに関する情報を取得するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、プロンプトの ARN または ID を `promptIdentifier` として指定し、[GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html) リクエストを送信します。`promptVersion` フィールドで、バージョン番号を指定します。

------

# プロンプト管理でプロンプトのバージョンを比較する
<a name="prompt-management-version-compare"></a>

Amazon Bedrock コンソールは、プロンプト管理で作成したプロンプトのバージョンを比較できるツールを提供しています。このツールは、一方のバージョンに存在し、もう一方のバージョンには存在しないフィールドを強調表示します。

**プロンプトのバージョンを比較するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。次に、**[プロンプト]** セクションでプロンプトを選択します。

1. **[バージョン]** セクションで、比較する 2 つのプロンプトの横にあるチェックボックスをオンにします。

1. [**Compare**] を選択します。

1. 各プロンプトバージョンを定義する JSON オブジェクトが並べて表示されます。バージョン間の差異は次のように表示されます。
   + 一方のバージョンに存在し、もう一方のバージョンに存在しないフィールドは、プラス記号 (\$1) でマークされ、緑色で強調表示されます。
   + 一方のバージョンには存在せず、もう一方のバージョンには存在するフィールドは、マイナス記号 (-) でマークされ、赤色で強調表示されます。

1. さまざまなバージョンの出力モデルレスポンスを比較するには、**[テスト変数]** を入力し、**[プロンプトを実行]** をクリックします。

# プロンプト管理でプロンプトのバージョンを削除する
<a name="prompt-management-version-delete"></a>

プロンプトのバージョンを削除する方法については、使用する方法に対応するタブをクリックして、手順に従ってください。

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

**プロンプトのバージョンを削除するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。次に、**[プロンプト]** セクションでプロンプトを選択します。

1. **[プロンプトバージョン]** セクションで、バージョンを選択し、**[削除]** を選択します。

1. **[バージョンの詳細]** ページで、バージョン、プロンプトメッセージ、およびその設定に関する情報を確認できます。プロンプトのバージョンをテストする方法については、「[プロンプト管理を使用してプロンプトをテストする](prompt-management-test.md)」を参照してください。

1. 表示される警告を確認し、**[確認]** を選択した後、**[削除]** を選択します。

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

プロンプトのバージョンを削除するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、プロンプトの ARN または ID を `promptIdentifier` として指定し、[DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html) リクエストを送信します。`promptVersion` フィールドに、削除するバージョン番号を指定します。

------

# プロンプト管理でプロンプトを削除する
<a name="prompt-management-delete"></a>

プロンプトが不要になった場合は、削除できます。削除したプロンプトは、AWS サーバーに最長 14 日間保持されます。プロンプト管理を使用してプロンプトを削除する方法については、使用する方法に対応するタブを選択して、手順に従ってください。

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

プロンプトの **[プロンプトの詳細]** ページまたはプロンプトビルダーが表示されている場合は、**[削除]** を選択してプロンプトを削除します。

**注記**  
プロンプトを削除すると、そのすべてのバージョンも削除されます。プロンプトを使用しているリソースは、ランタイムエラーになる可能性があります。プロンプトを使用しているリソースからプロンプトの関連付けを解除することを忘れないでください。

**プロンプトを削除するには**

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

1. 左側のナビゲーションペインから **[プロンプト管理]** を選択します。

1. プロンプトを選択し、**[削除]** を選択します。

1. 表示される警告を確認し、**[確認]** を選択した後、**[削除]** を選択します。

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

プロンプトを削除するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を使用して、プロンプトの ARN または ID を `promptIdentifier` として指定し、[DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html) リクエストを送信します。プロンプトの特定のバージョンを削除するには、`promptVersion` フィールドでバージョン番号を指定します。

------

# プロンプト管理コードサンプルを実行する
<a name="prompt-management-code-ex"></a>

プロンプト管理用のコードサンプルを試すには、使用する方法に対応するタブを選択して、手順に従ってください。以下のコードサンプルでは、AWS API を使用するための認証情報が設定済みであることを前提としています。設定していない場合は、「[API の使用を開始する](getting-started-api.md)」を参照します。

------
#### [ Python ]

1. 次のコードスニペットを実行して AWS SDK for Python (Boto3) をロードし、クライアントを作成し、[CreatePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePrompt.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成して、2 つの変数 (`genre` と `number`) を使用して音楽プレイリストを作成するプロンプトを作成します。

   ```
   # Create a prompt in Prompt management
   import boto3
   
   # Create an Amazon Bedrock Agents client
   client = boto3.client(service_name="bedrock-agent")
   
   # Create the prompt
   response = client.create_prompt(
       name="MakePlaylist",
       description="My first prompt.",
       variants=[
           { 
               "name": "Variant1",
               "modelId": "amazon.titan-text-express-v1",
               "templateType": "TEXT",
               "inferenceConfiguration": {
                   "text": {
                       "temperature": 0.8
                   }
               },
               "templateConfiguration": { 
                   "text": {
                       "text": "Make me a {{genre}} playlist consisting of the following number of songs: {{number}}."
                   }
               }
         }
       ]
   )
                           
   prompt_id = response.get("id")
   ```

1. 次のコードスニペットを実行して、[ListPrompts](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html) [Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成するために (アカウント内の他のプロンプトとともに) 作成したばかりのプロンプトを確認します。

   ```
   # List prompts that you've created
   client.list_prompts()
   ```

1. オブジェクトの `id` フィールドで作成したプロンプトの ID は、`promptSummaries` フィールドに表示されます。次のコードスニペットを実行して、[GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成してできたプロンプトの情報を表示します。

   ```
   # Get information about the prompt that you created
   client.get_prompt(promptIdentifier=prompt_id)
   ```

1. プロンプトのバージョンを作成し、次のコードスニペットを実行して ID を取得して、[CreatePromptVersion](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePromptVersion.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成します。

   ```
   # Create a version of the prompt that you created
   response = client.create_prompt_version(promptIdentifier=prompt_id)
                           
   prompt_version = response.get("version")
   prompt_version_arn = response.get("arn")
   ```

1. 作成したばかりのプロンプトバージョンに関する情報を、ドラフトバージョンに関する情報とともに表示し、次のコードスニペットを実行して、[ListPrompts](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成します。

   ```
   # List versions of the prompt that you just created
   client.list_prompts(promptIdentifier=prompt_id)
   ```

1. 作成したばかりのプロンプトバージョンの情報を表示し、次のコードスニペットを実行して、[GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成します。

   ```
   # Get information about the prompt version that you created
   client.get_prompt(
       promptIdentifier=prompt_id, 
       promptVersion=prompt_version
   )
   ```

1. 「[Amazon Bedrock フローのコードサンプルを実行する](flows-code-ex.md)」の手順に従って、プロンプトをフローに追加し、プロンプトをテストします。フローを作成する最初のステップでは、フローでインラインプロンプトを定義する代わりに、作成したプロンプトを使用するには、次のコードスニペットを実行します (`promptARN` フィールドのプロンプトバージョンの ARN を、作成したプロンプトバージョンの ARN に置き換えます)。

   ```
   # Import Python SDK and create client
   import boto3
   
   client = boto3.client(service_name='bedrock-agent')
   
   FLOWS_SERVICE_ROLE = "arn:aws:iam::123456789012:role/MyPromptFlowsRole" # Flows service role that you created. For more information, see https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html
   PROMPT_ARN = prompt_version_arn # ARN of the prompt that you created, retrieved programatically during creation.
   
   # Define each node
   
   # The input node validates that the content of the InvokeFlow request is a JSON object.
   input_node = {
       "type": "Input",
       "name": "FlowInput",
       "outputs": [
           {
               "name": "document",
               "type": "Object"
           }
       ]
   }
   
   # This prompt node contains a prompt that you defined in Prompt management.
   # It validates that the input is a JSON object that minimally contains the fields "genre" and "number", which it will map to the prompt variables.
   # The output must be named "modelCompletion" and be of the type "String".
   prompt_node = {
       "type": "Prompt",
       "name": "MakePlaylist",
       "configuration": {
           "prompt": {
               "sourceConfiguration": {
                   "resource": {
                       "promptArn": ""
                   }
               }
           }
       },
       "inputs": [
           {
               "name": "genre",
               "type": "String",
               "expression": "$.data.genre"
           },
           {
               "name": "number",
               "type": "Number",
               "expression": "$.data.number"
           }
       ],
       "outputs": [
           {
               "name": "modelCompletion",
               "type": "String"
           }
       ]
   }
   
   # The output node validates that the output from the last node is a string and returns it as is. The name must be "document".
   output_node = {
       "type": "Output",
       "name": "FlowOutput",
       "inputs": [
           {
               "name": "document",
               "type": "String",
               "expression": "$.data"
           }
       ]
   }
   
   # Create connections between the nodes
   connections = []
   
   #   First, create connections between the output of the flow input node and each input of the prompt node
   for input in prompt_node["inputs"]:
       connections.append(
           {
               "name": "_".join([input_node["name"], prompt_node["name"], input["name"]]),
               "source": input_node["name"],
               "target": prompt_node["name"],
               "type": "Data",
               "configuration": {
                   "data": {
                       "sourceOutput": input_node["outputs"][0]["name"],
                       "targetInput": input["name"]
                   }
               }
           }
       )
   
   # Then, create a connection between the output of the prompt node and the input of the flow output node
   connections.append(
       {
           "name": "_".join([prompt_node["name"], output_node["name"]]),
           "source": prompt_node["name"],
           "target": output_node["name"],
           "type": "Data",
           "configuration": {
               "data": {
                   "sourceOutput": prompt_node["outputs"][0]["name"],
                   "targetInput": output_node["inputs"][0]["name"]
               }
           }
       }
   )
   
   # Create the flow from the nodes and connections
   client.create_flow(
       name="FlowCreatePlaylist",
       description="A flow that creates a playlist given a genre and number of songs to include in the playlist.",
       executionRoleArn=FLOWS_SERVICE_ROLE,
       definition={
           "nodes": [input_node, prompt_node, output_node],
           "connections": connections
       }
   )
   ```

1. 作成したばかりのプロンプトバージョンを削除するには、次のコードスニペットを実行して、[DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成します。

   ```
   # Delete the prompt version that you created
   client.delete_prompt(
       promptIdentifier=prompt_id, 
       promptVersion=prompt_version
   )
   ```

1. 作成したばかりのプロンプトを完全に削除するには、次のコードスニペットを実行して、[DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html) [Amazon Bedrock エージェントビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)を作成します。

   ```
   # Delete the prompt that you created
   client.delete_prompt(
       promptIdentifier=prompt_id
   )
   ```

------