

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 프롬프트 관리를 사용하여 프롬프트 생성
<a name="prompt-management-create"></a>

프롬프트를 만들 때 다음과 같은 옵션을 선택할 수 있습니다.
+ FM이 출력을 생성하기 위한 입력 역할을 하는 프롬프트 메시지를 작성합니다.
+ 이중 중괄호를 사용하여 프롬프트를 직접 호출할 때 채울 수 있는 프롬프트 메시지에 변수를 포함합니다(예: *\$1\$1variable\$1\$1*).
+ 프롬프트를 간접 호출할 모델을 선택하거나 에이전트와 함께 프롬프트를 사용하려는 경우 지정하지 않은 상태로 둡니다. 모델을 선택하는 경우 사용할 추론 구성을 수정할 수도 있습니다. 여러 모델의 추론 파라미터를 확인하려면 [파운데이션 모델의 추론 요청 파라미터 및 응답 필드](model-parameters.md) 섹션을 참조하세요.

모든 프롬프트는 다음과 같은 기본 추론 파라미터를 지원합니다.
+ **maxTokens** - 생성된 응답에서 허용할 최대 토큰 수입니다.
+ **stopSequences** - 중지 시퀀스 목록입니다. 중지 시퀀스는 모델이 응답 생성을 중지하게 하는 문자 시퀀스입니다.
+ **temperature** - 응답을 생성하는 동안 모델이 더 높은 확률 옵션을 선택할 가능성입니다.
+ **topP** - 모델이 다음 토큰으로 고려할 가능성이 가장 높은 후보의 비율입니다.

모델이 추가 추론 파라미터를 지원하는 경우 해당 파라미터를 프롬프트의 *추가 필드*로 지정할 수 있습니다. JSON 객체에 추가 필드를 제공합니다. 다음 예시는 `top_k`를 설정하는 방법을 보여줍니다. 이는 Anthropic Claude 모델에서 사용할 수 있지만 기본 추론 파라미터는 아닙니다.

```
{
    "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 자격 증명으로 AWS Management Console에 로그인합니다. 그 다음 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)에서 Amazon 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 자격 증명으로 AWS Management Console에 로그인합니다. 그 다음 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)에서 Amazon 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 Agents 빌드 타임 엔드포인트](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) 요청(요청 및 응답 형식과 필드 세부 정보는 링크 참조)을 전송합니다.

필수 필드는 다음과 같습니다.


****  

| 필드 | 간략한 설명 | 
| --- | --- | 
| name | 프롬프트의 이름입니다. | 
| variants | 프롬프트에 대한 여러 구성 목록입니다(아래 참조). | 
| 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 -이 필드를 사용하여 추론을 실행하는 모델과 관련된 추론 파라미터를 지정합니다. 특정 모델의 추론 파라미터에 대한 자세한 내용은 [파운데이션 모델의 추론 요청 파라미터 및 응답 필드](model-parameters.md) 섹션을 참조하세요.
+ metadata - 프롬프트 변형과 연결할 메타데이터입니다. 배열에 키-값 페어를 추가하여 메타데이터로 프롬프트 변형에 태그를 지정할 수 있습니다.

다음 필드는 선택 사항입니다.


****  

| 필드 | 사용 사례 | 
| --- | --- | 
| 설명 | 프롬프트에 대한 설명을 제공합니다. | 
| clientToken | API 요청이 한 번만 완료되도록 합니다. 자세한 내용은 [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)를 참조하세요. | 
| 태그 | 태그를 흐름에 연결합니다. 자세한 내용은 [Amazon Bedrock 리소스 태그 지정](tagging.md) 섹션을 참조하세요. | 

응답은 `DRAFT` 버전을 만들고 다른 프롬프트 관련 API 요청의 프롬프트 식별자로 사용할 수 있는 ID와 ARN을 반환합니다.

------