

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

# 에이전트 동작 테스트 및 문제 해결
<a name="agents-test"></a>

에이전트를 만들면 *규격 초안*이 생깁니다. 규격 초안은 에이전트를 반복적으로 빌드하는 데 사용할 수 있는 에이전트 버전입니다. 에이전트를 변경할 때마다 규격 초안이 업데이트됩니다. 에이전트의 구성을 마치면 에이전트의 스냅샷인 *버전*과 이 버전을 가리키는 *별칭*을 만들 수 있습니다. 그런 다음 이 별칭을 직접적으로 호출하여 에이전트를 애플리케이션에 배포할 수 있습니다. 자세한 내용은 [애플리케이션에서 Amazon Bedrock 에이전트 배포 및 사용](agents-deploy.md) 섹션을 참조하세요.

다음 항목은 에이전트를 테스트하는 방법에 대한 설명입니다.
+ Amazon Bedrock 콘솔에서 측면의 테스트 창을 열고 에이전트가 응답할 수 있도록 입력을 전송합니다. 규격 초안 또는 만들어 둔 버전을 선택할 수 있습니다.
+ API에서 규격 초안은 `DRAFT` 버전입니다. [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)를 테스트 별칭, `TSTALIASID` 또는 정적 버전을 가리키는 다른 별칭과 함께 사용하여 에이전트에 입력을 전송합니다. 에이전트를 테스트하려면 먼저 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareAgent.html)를 직접 호출하여 에이전트를 준비해야 합니다.

## 에이전트 동작 추적
<a name="agent-behavior-trace"></a>

에이전트의 동작 문제를 해결하는 데 도움이 되도록, Amazon Bedrock Agents는 에이전트와의 세션 중에 *추적*을 확인할 수 있는 기능을 제공합니다. 추적은 에이전트의 단계별 추론 프로세스를 보여줍니다. 추적에 대한 자세한 내용은 [trace를 사용하여 에이전트의 단계별 추론 프로세스 추적](trace-events.md) 섹션을 참조하세요.

## 에이전트 테스트
<a name="test-your-agent"></a>

다음은 에이전트를 테스트하는 단계입니다. 원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

------
#### [ 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. 오른쪽 창에 **테스트** 창이 나타납니다.
**참고**  
**테스트 창**이 닫혀 있는 경우, 에이전트 세부 정보 페이지 또는 아무 페이지의 상단에서 **테스트**를 선택하여 테스트 창을 다시 열 수 있습니다.

1. 에이전트를 만든 후에는 다음 방법 중 하나로 에이전트를 준비하여 규격 초안 변경 사항과 함께 패키징해야 합니다.
   + **테스트** 창에서 **준비**를 선택합니다.
   + **규격 초안** 페이지에서 페이지 상단의 **준비**를 선택합니다.
**참고**  
규격 초안을 업데이트할 때마다 에이전트가 최신 변경 사항을 패키징하도록 준비해야 합니다. 가장 좋은 방법은 항상 **규격 초안** 페이지의 **에이전트 개요** 섹션에서 에이전트의 **마지막 준비** 시간을 확인하여 최신 구성으로 에이전트를 테스트하고 있는지 확인하는 것입니다.

1. **테스트 창** 상단의 드롭다운 메뉴를 사용하여 테스트할 별칭 및 연결된 버전을 선택합니다. 기본적으로 **TestAlias: 규격 초안** 조합이 선택됩니다.

1. (선택 사항) 별칭에 대해 프로비저닝된 처리량을 선택하려는 경우 선택한 테스트 별칭 아래의 텍스트에 **ODT 사용** 또는 **PT 사용**이 표시됩니다. 프로비저닝된 처리량 모델을 생성하려면 **변경**을 선택합니다. 자세한 내용은 [Amazon Bedrock에서 프로비저닝된 처리량으로 모델 간접 호출 용량 증대](prov-throughput.md) 단원을 참조하십시오.

1. (선택 사항) 프롬프트 관리의 프롬프트를 사용하려면 메시지 상자에서 옵션 아이콘(![Vertical ellipsis icon representing a menu or more options.](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/icons/vertical-ellipsis.png))을 선택하고 **프롬프트 가져오기**를 선택합니다. 프롬프트와 버전을 선택합니다. **테스트 변수 값** 섹션에 프롬프트 변수 값을 입력합니다. 프롬프트 관리의 프롬프트에 대한 자세한 내용은 [Amazon Bedrock에서 프롬프트 관리를 사용하여 재사용 가능한 프롬프트 구성 및 저장](prompt-management.md) 섹션을 참조하세요.

1. 에이전트를 테스트하려면 메시지를 입력하고 **실행**을 선택합니다. 응답이 생성될 때까지 기다리는 동안 또는 응답이 생성된 후, 다음과 같은 옵션이 있습니다.
   + 에이전트 오케스트레이션 프로세스의 각 단계에 대한 세부 정보를 보려면 **추적 표시**를 선택합니다. 프롬프트, 추론 구성, 각 단계에 대한 에이전트의 추론 프로세스와 에이전트의 작업 그룹 및 지식 기반 사용법에 대해 자세히 살펴볼 수 있습니다. 추적은 실시간으로 업데이트되므로 응답이 반환되기 전에 해당 추적을 볼 수 있습니다. 각 단계 옆의 화살표를 선택하여 해당 단계의 추적 내용을 펼치거나 접을 수 있습니다. **추적** 창 및 표시되는 세부 정보에 대한 자세한 내용은 [trace를 사용하여 에이전트의 단계별 추론 프로세스 추적](trace-events.md) 섹션을 참조하세요.
   + 에이전트가 지식 기반을 간접적으로 호출하면 응답에 각주가 포함됩니다. 응답의 특정 부분에 대해 인용된 정보가 포함된 S3 객체의 링크를 보려면 관련 각주를 선택합니다.
   + Lambda 함수를 사용하여 작업 그룹을 처리하는 대신 에이전트가 제어를 반환하도록 설정한 경우, 응답에는 예측된 작업과 해당 파라미터가 포함됩니다. 작업에 대한 API 또는 함수의 예제 출력 값을 제공한 다음 **제출**을 선택하여 에이전트 응답을 생성합니다. 다음 이미지를 예시로 참조하세요.  
![작업에 대한 예제 출력을 제공하기 위한 테스트 창의 요청입니다.](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/agents/roc-testwindow.png)

   **테스트** 창에서 다음 작업을 수행할 수 있습니다.
   + 에이전트와 새 대화를 시작하려면 새로 고침 아이콘을 선택합니다.
   + **추적** 창을 보려면 확장 아이콘을 선택합니다. **추적** 창을 닫으려면 축소 아이콘을 선택합니다.
   + **테스트** 창을 닫으려면 오른쪽 화살표 아이콘을 선택합니다.

작업 그룹 및 지식 기반을 활성화하거나 비활성화할 수 있습니다. 이 기능을 사용하면 에이전트의 문제를 해결하고, 다양한 설정으로 에이전트의 동작을 평가하여 업데이트해야 할 작업 그룹이나 지식 기반을 격리할 수 있습니다.

**작업 그룹 또는 지식 기반을 활성화하는 방법**

1. Amazon Bedrock 콘솔을 사용할 권한이 있는 IAM 자격 증명 AWS Management Console 으로에 로그인합니다. 그 다음 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)에서 Amazon Bedrock 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **에이전트**를 선택합니다. **에이전트** 섹션에서 에이전트를 선택합니다.

1. **에이전트** 섹션의 에이전트 목록에서 테스트할 에이전트의 링크를 선택합니다.

1. 에이전트 세부 정보 페이지의 **규격 초안** 섹션에서 해당하는 **규격 초안** 링크를 선택합니다.

1. **작업 그룹** 또는 **지식 기반** 섹션에서 상태를 변경하려는 작업 그룹 또는 지식 기반의 **상태** 위에 마우스 포인터를 놓습니다.

1. 편집 버튼이 나타납니다. 편집 아이콘을 선택한 다음, 드롭다운 메뉴에서 작업 그룹 또는 지식 기반을 **활성화** 또는 **비활성화** 중 하나로 설정합니다.

1. 작업 그룹이 **비활성화**된 경우 에이전트는 작업 그룹을 사용하지 않습니다. 지식 기반이 **비활성화**인 경우 에이전트는 지식 기반을 사용하지 않습니다. 작업 그룹 또는 지식 기반을 활성화 또는 비활성화한 다음 **테스트** 창을 사용하여 에이전트 문제를 해결합니다.

1. 에이전트를 테스트하기 전에 **준비**를 선택하여 변경한 내용을 에이전트에 적용합니다.

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

2025년 3월 31일 `after`에 생성된 에이전트의 경우: 
+ 콘솔에서 에이전트를 생성한 경우 스트리밍이 기본적으로 활성화됩니다. 언제든지 스트리밍을 비활성화할 수 있습니다.
+ 에이전트 실행 역할에 구성된 에이전트 모델에 대한 `bedrock:InvokeModelWithResponseStream` 권한이 포함되어 있는지 확인합니다.

에이전트를 처음 테스트하기 전에 [Amazon Bedrock Agents 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 통해 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareAgent.html) 요청을 전송하여 규격 초안 변경 사항과 함께 패키징해야 합니다. 요청에 `agentId`를 포함시킵니다. 변경 사항은 `TSTALIASID` 별칭이 가리키는 `DRAFT` 버전에 적용됩니다.

```
    def prepare_agent(self, agent_id):
        """
        Creates a DRAFT version of the agent that can be used for internal testing.

        :param agent_id: The unique identifier of the agent to prepare.
        :return: The response from Amazon Bedrock Agents if successful, otherwise raises an exception.
        """
        try:
            prepared_agent_details = self.client.prepare_agent(agentId=agent_id)
        except ClientError as e:
            logger.error(f"Couldn't prepare agent. {e}")
            raise
        else:
            return prepared_agent_details
```

자세한 내용은 [Amazon Bedrock Agents 시작](bedrock-agent_example_bedrock-agent_Hello_section.md) 단원을 참조하십시오.

**참고**  
규격 초안을 업데이트할 때마다 에이전트가 최신 변경 사항을 패키징하도록 준비해야 합니다. 가장 좋은 방법은 [Agents for Amazon Bedrock 빌드 타임 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)를 사용하여 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html) 요청(요청 및 응답 형식과 필드 세부 정보는 링크 참조)을 보내고 에이전트의 `preparedAt` 시간을 확인하여 최신 구성으로 에이전트가 테스트되고 있는지 검증하는 것입니다.

에이전트를 테스트하려면 에이전트에 [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) 요청을 보냅니다. 예제 코드는 [애플리케이션에서 에이전트 간접 호출](agents-invoke-agent.md) 항목을 참조하세요.

**참고**  
 AWS CLI 는를 지원하지 않습니다[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).

요청에는 다음과 같은 필드가 있습니다.
+ 다음 필수 필드는 반드시 제공해야 합니다.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/agents-test.html)
+ 다음 필드는 선택 사항입니다.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/agents-test.html)

응답은 이벤트 스트림에 반환됩니다. 각 이벤트에는 `chunk`가 포함되며, 여기에는 반드시 디코딩되어야 하는 `bytes` 필드의 응답 일부가 포함됩니다. 다음 객체도 반환될 수 있습니다.
+ 에이전트가 지식 기반을 쿼리한 경우 `citations`도 `chunk`에 포함됩니다.
+ 스트리밍이 활성화되고 에이전트에 대해 가드레일이 구성된 경우 응답은 가드레일 간격에 지정된 문자 간격으로 생성됩니다. 기본적으로 간격은 50자로 설정됩니다.
+ 추적을 활성화하면 `trace` 객체도 반환됩니다. 오류가 발생하면 오류 메시지와 함께 필드가 반환됩니다. 추적을 읽는 방법을 자세히 알아보려면 [trace를 사용하여 에이전트의 단계별 추론 프로세스 추적](trace-events.md) 섹션을 참조하세요.
+ 작업 그룹이 Lambda 함수를 사용하지 않도록 설정하면 `returnControl` 필드에 [ReturnControlPayload](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ReturnControlPayload.html) 객체가 반환됩니다. [ReturnControlPayload](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ReturnControlPayload.html) 객체의 일반적인 구조는 다음과 같습니다.

  ```
  {
      "invocationId": "string",
      "invocationInputs": [
          [ApiInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ApiInvocationInput.html) or [FunctionInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_FunctionInvocationInput.html),
          ...
      ]
  }
  ```

  `invocationInputs` 목록의 각 멤버는 다음 중 하나입니다.
  + 에이전트가 예측하는 API 작업이 포함된 [ApiInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ApiInvocationInput.html) 객체는 API를 이행하기 위해 사용자로부터 가져오는 파라미터 및 기타 정보 외에도 사용자 입력을 기반으로 직접 호출되어야 합니다. [ApiInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ApiInvocationInput.html) 객체의 구조는 다음과 같습니다.

    ```
    {
        "actionGroup": "string",
        "apiPath": "string",
        "httpMethod": "string",
        "parameters": [
            {
                "name": "string",
                "type": "string",
                "value": "string"
            },
            ...
        ],
        "requestBody": {
            {{<content-type>}}: {
                "properties": [
                    {
                        "name": "string",
                        "type": "string",
                        "value": "string"
                    }
                ]
            }
        }
    }
    ```
  + 에이전트가 예측한 함수가 포함된 [FunctionInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_FunctionInvocationInput.html) 객체는 사용자 입력에 따라 직접 호출되어야 하며, 사용자로부터 가져오는 해당 함수의 파라미터도 호출해야 합니다. [FunctionInvocationInput](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_FunctionInvocationInput.html)의 구조는 다음과 같습니다.

    ```
    {
        "actionGroup": "string",
        "function": "string",
        "parameters": [
            {
                "name": "string",
                "type": "string",
                "value": "string"
            }
        ]
    }
    ```

------