Agent Platform에서 관리형 에이전트 API로 빌드된 에이전트 평가

이 페이지에서는 Gen AI Evaluation Service를 사용하여 Agent Platform에서 관리형 에이전트 API 로 빌드된 에이전트를 평가하는 방법을 설명합니다. 합성 테스트 시나리오를 생성하고, 이러한 시나리오에 대해 에이전트를 실행하고, 사전 빌드된 측정항목으로 결과 대화 추적을 점수화할 수 있습니다.

시작하기 전에

  1. 에이전트 만들기 및 관리 의 단계를 완료하여 관리형 에이전트 리소스를 만듭니다.

  2. 평가 확장 프로그램으로 Agent Platform SDK를 설치합니다.

    pip install google-cloud-aiplatform[evaluation]
    
  3. 인증을 설정하고 프로젝트를 구성합니다.

    다음을 바꿉니다.

    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

평가 워크플로

관리형 에이전트 평가는 다음 세 단계로 진행됩니다.

  1. 시나리오 생성: 에이전트의 안내 및 도구 정의에서 다양하고 멀티턴 테스트 시나리오를 자동으로 만듭니다.
  2. 추론 실행: 생성된 시나리오에 대해 에이전트를 실행하여 대화 추적을 캡처합니다.
  3. 평가: 사전 빌드된 측정항목을 사용하여 대화 추적을 점수화합니다.

1단계: 대화 시나리오 생성

generate_conversation_scenarios를 사용하여 에이전트의 구성을 기반으로 테스트 시나리오를 자동으로 만듭니다. 이 메서드는 에이전트의 시스템 안내 및 도구를 읽어 실제 사용자 프롬프트를 생성합니다.

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • AGENT_ID: 에이전트 리소스의 ID입니다. ID를 찾기 위해 커스텀 에이전트를 가져오거나 나열하는 방법에 대한 자세한 내용은 에이전트 나열을 참고하세요.
AGENT_RESOURCE = f"projects/PROJECT_ID/locations/global/agents/AGENT_ID"

scenarios = client.evals.generate_conversation_scenarios(
    agent=AGENT_RESOURCE,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where a user asks for a refund.",
    },
)

scenarios.show()

생성된 각 시나리오에는 대화의 초기 사용자 메시지를 나타내는 starting_prompt가 포함됩니다.

2단계: 추론 실행

run_inference를 사용하여 생성된 시나리오에 대해 에이전트를 실행합니다. 에이전트는 각 시나리오를 실행하고 도구 호출, 중간 단계, 최종 응답을 비롯한 전체 상호작용을 캡처하는 대화 추적을 생성합니다.

inference_results = client.evals.run_inference(
    agent=AGENT_RESOURCE,
    src=scenarios,
    config={"user_simulator_config": {"max_turn": 5}}
)

inference_results.show()

3단계: 평가

evaluate를 사용하여 사전 빌드된 측정항목으로 대화 추적을 점수화합니다. 에이전트 평가에 사용할 수 있는 측정항목은 다음과 같습니다.

측정항목 설명
final_response_quality_v1 에이전트가 사용자의 작업을 성공적으로 완료했는지 평가합니다.
safety_v1 에이전트의 응답이 안전한지 평가합니다.
multi_turn_task_success_v1 에이전트가 사용자의 멀티턴 작업을 성공적으로 완료했는지 평가합니다.
from agentplatform import types

eval_result = client.evals.evaluate(
    dataset=inference_results,
    metrics=[
        types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
    ],
    agent=AGENT_RESOURCE,
)

eval_result.show()

show() 메서드는 집계 점수, 사례별 근거, 시스템 토폴로지 (에이전트 도구 및 안내)를 비롯한 에이전트의 대화 추적이 포함된 대화형 보고서를 표시합니다.

기존 상호작용 평가

에이전트와 이미 기록된 상호작용을 평가할 수도 있습니다. 이는 프로덕션 대화의 품질을 평가하는 데 유용합니다. 상호작용을 에이전트에 전송하는 방법과 interaction_id를 가져오는 방법에 대한 자세한 내용은 커스텀 에이전트에 상호작용 전송을 참고하세요.

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • INTERACTION_ID: 기록된 상호작용의 ID입니다.
  • AGENT_RESOURCE: 에이전트의 전체 리소스 이름이며 형식은 projects/PROJECT_ID/locations/global/agents/AGENT_ID입니다.
interactions_dataset = types.EvaluationDataset(
    eval_cases=[
        types.EvalCase(
            interactions_data_source=types.InteractionsDataSource(
                interaction=f"projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID",
                gemini_agent_config=types.GeminiAgentConfig(
                    gemini_agent=AGENT_RESOURCE,
                ),
            ),
        ),
    ]
)

eval_result = client.evals.evaluate(
    dataset=interactions_dataset,
    metrics=[
        types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
    ],
    agent=AGENT_RESOURCE,
)

eval_result.show()

다음 단계

가이드

REST API를 사용하여 에이전트를 만들고, 업데이트하고, 나열하고, 가져오고, 삭제하는 방법을 알아봅니다.

가이드

런타임에 에이전트와 상호작용하고, 세션 상태를 관리하고, 구성을 동적으로 재정의하는 방법을 알아봅니다.

개요

Google Agent Platform의 에이전트 평가에 대해 알아봅니다.

가이드

Google Agent Platform에서 평가 측정항목을 관리하는 방법을 알아봅니다.