Copilot Studio로 구축된 대화형 에이전트는 수요와 부하 증가에 따라 자동으로 확장되는 플랫폼에서 실행됩니다. 하지만 대화형 에이전트는 종종 맞춤형 로직이나 백엔드 API 호출을 사용하는데, 이는 맞춤형 로직이 비효율적이거나 기본 API 및 백엔드 시스템이 잘 확장되지 않아 지연 시간을 초래합니다.
성능 테스트는 다양한 부하 패턴에서 에이전트의 성능과 안정성을 평가합니다. 사용자 기반이 증가함에 따라 잠재적 문제를 식별하여 에이전트가 기능적이고 반응 빠르게 유지되도록 보장합니다. 부하 상태에서 대화형 에이전트를 테스트하지 않으면, 개발과 테스트에서는 잘 작동하지만 실제 사용자 트래픽에서는 실패할 수 있습니다.
성능 테스트의 기술적 측면을 다루기 전에, 원하는 사용자 경험을 포착하고 독특한 부하 패턴을 생성하는 대화형 사용 사례를 식별하는 수용 기준을 정의하세요. 이 글에서는 성능 테스트의 계획 단계를 간략히 다루고, 대화 에이전트를 위한 부하 생성의 기술적 구체적인 안내를 제공합니다.
성과 테스트를 계획하세요
성능 시험 계획은 명확한 목표와 구체적인 수용 기준을 가져야 합니다. 예를 들어, 일부 테스트는 표준 부하 하에서 시스템의 성능을 측정하는 반면, 다른 테스트는 의도적으로 시스템이 반응하지 않게 만드는 극심한 스트레스를 발생시킵니다. Copilot Studio로 구축된 대화형 에이전트의 성능을 측정할 때, 에이전트의 기본 성능이나 예상되는 무거운 부하를 측정하도록 테스트를 설계하되, 과도한 스트레스를 유발하도록 테스트를 구성하지 마세요.
경고
예상 사용자 행동을 초과하는 생성 부하는 메시지 소비 과잉과 환경 불필요한 제한으로 이어질 수 있습니다. 속도 조절과 과소비를 방지하기 위해 다음 사항을 확인하세요:
- 당신의 테스트는 현실적인 사용자 행동을 모방합니다.
- 귀하의 테넌트와 환경은 충분한 라이선스와 청구 정책이 할당되어 있습니다.
사용자 행동을 이해하세요
테스트 계획을 시작할 때, 사용자가 다양한 대화 사용 사례에서 어떻게 행동해야 하는지 분석하세요. 부하 테스트 관점에서 보면, 사용자 행동은 사용자가 말하거나 묻는 내용(예: "비행기 예약하고 싶어요" 또는 "반품 정책이 어떻게 되나요?"), 특정 사용 사례를 이끄는 사용자 수, 그리고 사용자 참여 패턴(예: 정오에 한꺼번에 접속하는 것과 하루 종일 점진적으로 쌓이는 경우) 등 다양한 상황에서 다를 수 있습니다.
다음 표는 은행 대화 에이전트의 예상 사용자 행동을 설명합니다.
| 사용 사례 | 일반적인 사용자 발화 | 교전 패턴 |
|---|---|---|
| 대출 신청 | 새 대출이 필요해요. 새 대출 을 신청하고 싶어요... |
하루 평균 1,000명의 동시 사용자 |
| 균형 조사 | 내 계좌 잔액은 얼마인가요? 내 계좌 잔액 을 보여줘... |
10,000명의 동시 사용자가 모두 정오쯤 접속해 |
| 추가 사용 사례 | … | … |
테스트 계획 만들기
사용자 행동을 사용 사례와 참여 패턴으로 정의한 후, 성능 테스트 계획의 구체적인 내용을 생각해 보세요. 최소한 대화형 에이전트의 성능 테스트 계획에는 목표, 테스트 시나리오, 핵심 성과 지표, 상세한 테스트 데이터, 성공 기준이 명시되어야 합니다.
팀이 이미 테스트 케이스를 제품 내에서 만들 거나 Copilot Studio 키트를 사용해 평가용 대화 시나리오를 정의했다면, 이 시나리오들을 재활용하여 테스트 계획을 시작할 수 있습니다.
다음 예제 테스트 계획은 은행 대화 상담원을 위한 것입니다. 이 계획은 이전에 확인된 대화형 사용 사례를 사용하여 기준선 테스트 시나리오와 부하 테스트 시나리오를 정의합니다. 기준선 테스트를 통해 정상적인 성능을 평가하고 정기 사용 중 문제를 파악하며, 부하가 증가하면 시스템이 사용자 활동이 가장 큰 부분을 어떻게 처리하는지를 알 수 있습니다.
| 섹션 | 세부 정보 |
|---|---|
| Objective | 은행 대화 상담원의 기본 및 부하 상태 성능을 평가하세요. |
| Scope |
범위: 기준선 및 부하 테스트. 범위 밖: 스트레스 테스트. |
| KPI(핵심 성과 지표) |
|
| 테스트 시나리오 |
기초 검사
|
| 데이터 테스트 |
|
| Tools |
|
| 성공 조건 |
|
기술 및 비즈니스 이해관계자들과 협력하여 귀사의 필요에 맞는 테스트 계획을 수립하세요. 예시에 제시된 주요 매개변수에 동의합니다. Apache JMeter와 같은 도구를 사용해 테스트 스크립트를 만드는 방법에 대해 성능 테스트 참고 샘플과 가이드라인에서 배워보세요.
다중 턴 대화를 시뮬레이션하세요
계획에 명시된 테스트 데이터는 계획된 성능 테스트 드라이브가 다중 턴 대화를 포함함을 의미합니다. 다중 턴 대화는 시뮬레이션된 사용자와 대화 에이전트 간에 주고받는 일련의 주고받는 메시지입니다. 성능 테스트는 생성되는 부하가 실제 사용자 행동과 유사하도록 다중 턴 대화를 이끌어야 합니다. 또한, 일부 장기 실행 동작이나 API 호출은 사용자가 특정 선택을 하거나 대화 내에서 특정 메시지 패턴을 보낼 때만 호출됩니다.
다음 예시에서 은행의 백엔드 API는 사용자가 저축계좌를 선택한 후에만 호출됩니다. 첫 번째 메시지의 응답 시간은 에이전트의 의도 인식 엔진만 사용되기 때문에 1초보다 짧습니다. 마지막 메시지는 백엔드 API의 응답을 기다리며, 이는 추가 지연을 초래합니다. 다중 턴 대화를 시뮬레이션하지 않았다면 성능 문제는 발생하지 않았을 것입니다.
다중 턴 대화를 시뮬레이션하려면 테스트 데이터를 준비할 때와 테스트 스크립트를 만들 때 모두 계획이 필요합니다. 예제에서 보듯이 완전한 대화 흐름을 호출하는 일련의 사용자 발화를 테스트 데이터에 포함하세요. 테스트 스크립트가 한 번의 대화 내에서 여러 발화를 보내도록 하세요.