Dropbox가 Dash Chat 에이전트의 응답 품질을 높이기 위해 DSPy 최적화 프레임워크를 도입한 과정을 다룬다. 인간 레이블로 LLM 평가자(judge)를 보정하고, 보정된 judge로 에이전트의 시스템 프롬프트를 자동 최적화하는 두 단계 전략으로 불완전 답변 26% 감소와 토큰 사용 5.4% 절감을 달성했다.
핵심 포인트- 에이전트 평가는 멀티스텝 과정 전체(의도 파악 → 도구 호출 → 컨텍스트 선택 → 응답 합성)를 판단해야 하므로 전통적 검색 관련성 평가보다 본질적으로 복잡하다.
- 5개 차원(의도 파악, 의미적 관련성, 도구 호출, 지시 따르기, 컨텍스트 선택)으로 평가 프레임워크를 구성하고 1~5점 척도 + 실패 코드로 인간 레이블을 수집했다.
- DSPy의 GEPA, MIPROv2 알고리즘으로 LLM judge 프롬프트를 자동 최적화해 인간 판단과의 일치도를 높였다.
- 보정된 judge를 사용해 과거 채팅을 재현 실행하고 특정 실패 모드에 집중한 타겟 프롬프트 최적화를 수행했다.
- 2주 만에 프롬프트 후보 6개를 생성 — 이전 달 수동 변경 5회와 대비.
상세 정리- 배경: Dash Chat은 사용자 의도를 파악하고 도구를 활용해 응답을 구성하는 멀티스텝 AI 에이전트로, 멀티턴 대화 전체를 평가해야 한다는 과제가 있었다.
- 평가 차원 설계: 의도 파악, 의미적 관련성, 도구 호출, 지시 따르기, 컨텍스트 선택 5개 차원으로 구조화했다.
- 인간 레이블 수집: 1~5점 척도 평가와 함께 실패 코드(stale evidence, missing context, unsupported claims, incomplete coverage, personalization failures)를 기록해 단순 점수보다 풍부한 애노테이션을 만들었다.
- 이 풍부한 레이블은 judge 훈련뿐 아니라 실패 원인 디버깅에도 활용되었다.
- DSPy 최적화: GEPA와 MIPROv2 알고리즘이 인간 레이블 예시와 비교하며 자동으로 프롬프트 변경안을 제안하고 테스트했다.
- 에이전트 개선 루프: 보정된 judge로 과거 채팅을 재현 실행하고, 프로덕션과 유사한 점수로 평가 후 특정 실패 모드에 집중한 프롬프트 최적화를 수행했다.
- 안전 장치: 프롬프트 편집을 소규모 타겟 지시 업데이트로 제한하고 자동 리뷰 체크를 추가해 최적화 루프가 무분별하게 동작하지 않도록 했다.
- 결과 수치: 불완전 답변 26% 감소, 핵심 누락 13% 감소, 토큰 사용 5.4% 절감, 응답 길이 9.8% 단축, 개선 효과는 24시간 내에 가시화되었다.
왜 읽나LLM 에이전트 응답 품질을 체계적으로 측정하고 DSPy로 자동 최적화하려는 AI/ML 엔지니어에게 실전 파이프라인 사례.