Trace & Evaluate your Agent with Arize Phoenix
Quick Summary
에이전트의 내부 실행 과정을 추적하고 도구 호출 결과를 체계적으로 평가해, 단순히 작동하는 수준을 넘어 실제로 효과적인 에이전트로 개선하는 방법을 아라이즈 피닉스와 스몰에이전츠 예제로 설명한다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
에이전트의 내부 실행 과정을 추적하고 도구 호출 결과를 체계적으로 평가해, 단순히 작동하는 수준을 넘어 실제로 효과적인 에이전트로 개선하는 방법을 아라이즈 피닉스와 스몰에이전츠 예제로 설명한다.
📌 핵심 요약
- 에이전트의 품질을 이해하려면 최종 응답만 확인할 것이 아니라 입력 처리, 도구 호출, 정보 검색, 결과 생성에 이르는 전체 실행 과정을 추적해야 한다.
- 스몰에이전츠의 코드 에이전트에 검색 및 웹페이지 방문 도구를 연결하고, 허깅 페이스 허브 서버리스 API 기반 모델을 사용해 실제 작업을 수행하는 기본 예제를 구성한다.
- 아라이즈 피닉스와 오픈텔레메트리, 오픈인퍼런스를 연동하면 스몰에이전츠의 호출이 자동으로 기록되어 에이전트의 동작을 실시간으로 시각화하고 디버깅할 수 있다.
- 피닉스에 저장된 덕덕고 검색 도구의 실행 구간에서 입력과 출력을 추출한 뒤, GPT-4o를 판정자로 사용해 검색 결과가 질의와 관련 있는지를 분류하고 점수화한다.
- 평가 결과를 다시 피닉스에 기록하면 개별 도구의 효과를 지속적으로 분석할 수 있으며, 평가 템플릿을 교체해 환각, 충실성, 사실 정확성, 요약, 코드 생성, 함수 호출 등으로 검증 범위를 확장할 수 있다.
🧩 주요 포인트
- 에이전트의 품질을 이해하려면 최종 응답만 확인할 것이 아니라 입력 처리, 도구 호출, 정보 검색, 결과 생성에 이르는 전체 실행 과정을 추적해야 한다.
- 스몰에이전츠의 코드 에이전트에 검색 및 웹페이지 방문 도구를 연결하고, 허깅 페이스 허브 서버리스 API 기반 모델을 사용해 실제 작업을 수행하는 기본 예제를 구성한다.
- 아라이즈 피닉스와 오픈텔레메트리, 오픈인퍼런스를 연동하면 스몰에이전츠의 호출이 자동으로 기록되어 에이전트의 동작을 실시간으로 시각화하고 디버깅할 수 있다.
- 피닉스에 저장된 덕덕고 검색 도구의 실행 구간에서 입력과 출력을 추출한 뒤, GPT-4o를 판정자로 사용해 검색 결과가 질의와 관련 있는지를 분류하고 점수화한다.
- 평가 결과를 다시 피닉스에 기록하면 개별 도구의 효과를 지속적으로 분석할 수 있으며, 평가 템플릿을 교체해 환각, 충실성, 사실 정확성, 요약, 코드 생성, 함수 호출 등으로 검증 범위를 확장할 수 있다.
🧠 상세 정리
1. 에이전트 관찰과 평가가 필요한 이유
에이전트는 입력과 도구를 받아 정보를 처리하고, 의사결정이나 검색, 자율적인 작업 실행을 거쳐 응답을 생성한다. 그러나 에이전트를 만들었다는 사실만으로는 그것이 얼마나 효과적으로 작동하는지, 올바른 답을 내놓는지, 각 단계에서 관련성 있는 정보를 다루는지 알 수 없다. 추적은 에이전트가 받은 입력부터 처리 과정, 도구 호출, 최종 출력까지의 흐름을 단계별로 보여 주며, 의사결정 과정을 들여다보는 엑스레이와 같은 역할을 한다. 평가는 결과의 정확성, 관련성, 응답 구성의 품질, 목표와의 정렬 정도를 측정해 에이전트가 단순히 기능하는 것을 넘어 실제 목적에 맞게 효과적인지를 판단하게 한다. 아라이즈 피닉스는 이러한 추적, 평가, 실시간 디버깅 기능을 한곳에 모아 에이전트의 내부 동작을 이해하고 개선할 수 있도록 지원한다.
2. 스몰에이전츠 기반 예제 에이전트 구성
실습에서는 먼저 스몰에이전츠 라이브러리를 설치하고 코드 에이전트, 덕덕고 검색 도구, 웹페이지 방문 도구, 허깅 페이스 API 모델을 불러온다. 기본 모델은 허깅 페이스 허브 서버리스 API를 사용하는 모델 객체로 만들며, 코드 에이전트에는 검색 및 페이지 방문 도구와 기본 도구를 함께 연결한다. 완성된 에이전트에는 2020년부터 2024년까지 구글 주가를 가져와 선 그래프를 만들라는 작업을 전달한다. 에이전트는 덕덕고를 이용해 과거 주가를 검색하고, 필요하면 관련 웹페이지를 방문해 데이터를 찾은 뒤, 정보를 수집하여 그래프를 생성하거나 그 방법을 설명하려고 시도한다. 이 예제는 여러 도구를 사용하는 실제 실행 흐름을 마련함으로써 이후 추적과 평가가 어떤 대상을 관찰하는지 구체적으로 보여 준다.
3. 피닉스와 오픈텔레메트리를 이용한 자동 추적
에이전트가 실행된 뒤에는 도구 호출부터 입력 처리와 응답 생성까지 내부 작업 흐름을 파악하는 것이 다음 과제가 된다. 이를 위해 스몰에이전츠의 텔레메트리 모듈을 설치하고, 아라이즈 피닉스를 시각화 환경으로 사용하며, 오픈텔레메트리와 오픈인퍼런스를 계측 수단으로 연결한다. 피닉스는 로컬 서버 명령으로 실행할 수 있고, 무료 온라인 인스턴스를 만들거나 로컬에 직접 호스팅하거나 허깅 페이스 스페이스에서 운영하는 방식도 제공된다. 피닉스를 실행한 후 프로젝트 이름이 지정된 추적 공급자를 등록하고 스몰에이전츠 계측기를 적용하면, 이후 발생하는 스몰에이전츠 호출이 피닉스로 자동 전송된다. 도쿄의 현재 시간을 묻는 간단한 호출을 실행하면 에이전트의 각 단계가 추적으로 남으며, 이를 통해 문제를 디버깅하고 성능을 최적화하며 예상한 방식으로 동작하는지 확인할 수 있다.
4. 검색 도구 실행 구간의 추출과 평가 데이터 준비
실행 추적이 확보되면 에이전트가 정보를 얼마나 잘 검색하고 처리하며 제시하는지를 평가할 수 있다. 예제는 여러 평가 대상 가운데 덕덕고 검색 도구의 결과 관련성에 초점을 맞추고, GPT-4o를 판정자로 사용하는 대규모 언어 모델 기반 평가 방식을 적용한다. 먼저 피닉스의 실행 구간 질의를 이용해 이름이 덕덕고 검색 도구인 호출만 선택하고, 입력 값과 출력 값을 각각 평가용 입력과 참조 자료로 가져온다. 이때 열 이름은 관련성 평가 프롬프트 템플릿이 요구하는 입력과 참조라는 명칭에 맞추며, 지정된 피닉스 프로젝트에서 해당 실행 구간을 데이터프레임으로 조회한다. 이후 직렬화된 입력에서 실제 검색어가 들어 있는 인자 값을 꺼내 정리함으로써, 검색 질의와 검색 결과를 한 쌍으로 비교할 수 있는 평가 데이터를 준비한다.
5. GPT-4o 판정자를 활용한 관련성 분류
평가 단계에서는 피닉스가 제공하는 검색 증강 생성 관련성 프롬프트 템플릿과 분류 함수, 오픈AI 모델 연결 기능을 불러온다. 판정 모델로 GPT-4o를 지정한 뒤 준비된 실행 구간 데이터, 관련성 템플릿, 분류 기준을 전달하며, 기준은 결과가 관련 있음인지 무관함인지 구분하도록 설정한다. 분류는 여러 항목을 병렬로 처리하고 각 판단의 설명도 함께 생성하도록 구성된다. GPT-4o는 검색 질의와 검색 도구의 출력 내용을 비교하여 결과의 관련 여부를 판정하며, 생성된 설명에 관련 있음이라는 판단이 포함되면 1점, 그렇지 않으면 0점을 부여한다. 이렇게 얻은 결과는 도구가 반환한 정보의 관련성을 개별 실행 단위로 확인하게 하며, 에이전트 전체의 최종 응답만 평가할 때 놓치기 쉬운 검색 단계의 품질 문제를 드러낸다.
6. 평가 결과 기록과 검증 범위의 확장
완성된 평가 결과는 덕덕고 검색 도구 관련성이라는 평가 이름과 함께 피닉스의 실행 구간 평가 데이터로 다시 기록된다. 이 구성을 사용하면 에이전트 내부의 검색 도구가 실제로 정확하고 관련성 높은 정보를 가져오는지 체계적으로 분석하고, 그 결과를 성능 개선에 활용할 수 있다. 같은 절차에서 관련성 프롬프트 템플릿만 목적에 맞는 다른 템플릿으로 교체하면 별도의 평가 기준도 구성할 수 있다. 피닉스는 환각 탐지, 검색 자료 기반 질의응답, 검색 관련성, 요약, 코드 생성, 유해성 탐지, 인간 정답과의 비교, 인용 링크, 구조화 질의 생성, 에이전트 함수 호출 등을 위한 평가 유형을 제공한다. 따라서 추적을 통해 실행의 원인을 관찰하고 평가를 통해 각 단계의 품질을 수치화하는 흐름을 결합하면, 다양한 유형의 에이전트를 반복적으로 검증하고 개선하는 기반을 마련할 수 있다.
🧾 핵심 주장 / 시사점
- 최종 응답의 성공 여부만으로는 에이전트의 문제 지점을 찾기 어렵기 때문에, 도구 호출과 중간 결과를 실행 구간 단위로 추적하고 평가하는 접근이 중요하다.
- 대규모 언어 모델 기반 판정은 검색 질의와 결과의 관련성을 자동 분류하고 설명까지 남길 수 있지만, 예제에서는 이를 이진 점수로 변환해 후속 분석이 가능한 형태로 만든다.
- 동일한 추적 데이터 구조를 유지하면서 평가 프롬프트를 교체하면 검색 관련성뿐 아니라 환각, 사실 정확성, 응답 일관성, 요약, 코드 생성, 함수 호출 등 다양한 품질 기준으로 확장할 수 있다.
✅ 액션 아이템
- 최종 응답만 보지 않고 입력 처리, 도구 호출, 정보 검색, 결과 생성 전 과정을 추적해 에이전트 품질을 측정한다.
- 스몰에이전츠 코드 에이전트에 검색 도구와 웹페이지 방문 도구를 연결하고 허깅 페이스 허브 서버리스 API 모델로 실행 로그를 확보한다.
- 덕덕고 검색 실행 구간의 입력·출력을 추출해 GPT-4o 판정자로 관련성 점수화하고, 결과를 피닉스에 기록해 환각·충실성·사실 정확성 템플릿으로 반복 검증한다.
❓ 열린 질문
- 아라이즈 피닉스와 오픈텔레메트리·오픈인퍼런스 연동 시 어떤 로그 구간이 에이전트 병목의 핵심 단서를 가장 빨리 제공하는가?
- GPT-4o 판정 점수에서 질의 관련성 외에 환각·사실 정확성 같은 항목을 함께 반영할 임계값은 어떻게 설정할 것인가?
- 평가 템플릿을 요약·코드 생성·함수 호출로 교체할 때 검증 범위 확장의 우선순위는 어떤 기준으로 정할 것인가?