우와한 개발자

[Harness] Evaluation Harness와 Agent Harness — LLM 평가, Agent 통제, 권한 관리, 승인 게이트, 지속적 개선

by 우와한개발자

AI

1. LLM 평가는 왜 어려운가

기존 소프트웨어 테스트는 명확한 정답이 존재했다. 함수에 값을 넣으면 기대한 값이 나오는지 확인하면 됐다. 하지만 LLM의 출력은 다르다.

  • 동일한 질문에도 맥락, 언어, 해석 방식에 따라 여러 가지 올바른 답변이 존재할 수 있다
  • 유창성, 일관성, 관련성 같은 품질 지표는 정량화하기 어렵다
  • 사실이 아닌 내용을 자신 있게 생성하는 Hallucination 문제까지 더해진다

LLM 평가 파이프라인은 이 문제를 구조적으로 해결하기 위해 등장했다.

질문 입력 → 모델 응답 → 출력 수집 → 평가 및 판정
  • 일관된 기준으로 수백, 수천 개의 샘플을 자동 평가한다
  • 벤치마크 비교와 성능 추적에 활용한다

 

2. Evaluation Harness — 품질과 성능을 측정한다

Evaluation Harness는 AI 시스템의 출력 품질을 정량적으로 측정하는 자동화 평가 프레임워크다.

1) 평가 지표

(1) Accuracy

전체 샘플 중 정확하게 답변한 비율이다.

  • 계산 방식 : 정답 수를 전체 질문 수로 나눠 계산한다
  • 활용 범위 : 단일 정답형 태스크에 적합하며 모델 간 성능 비교의 기본 지표로 활용된다

(2) Precision과 Recall

Precision은 모델이 양성이라고 예측한 것 중 실제로 맞는 비율이고, Recall은 실제 양성 중 모델이 올바르게 찾아낸 비율이다. 두 지표는 Trade-off 관계에 있어 한쪽을 높이면 다른 쪽이 낮아지는 경향이 있다.

  • Precision : TP를 TP와 FP의 합으로 나눈다. 거짓 양성이 적어야 하는 법률, 의료 등 오류 비용이 높은 도메인에서 특히 중요하다
  • Recall : TP를 TP와 FN의 합으로 나눈다. 중요한 정보를 놓치지 않아야 하는 검색, 탐지 시스템에서 핵심 지표가 된다

(3) F1 Score

Precision과 Recall의 조화 평균이다.

  • 균형 지표 : 두 지표가 균형을 이룰 때 높은 점수를 받는다
  • 활용 상황 : 클래스 불균형이 있는 데이터셋에서 특히 유용하다

(4) LLM-as-a-Judge

LLM이 다른 LLM의 출력을 평가하는 패러다임이다. 인간 평가 비용을 줄이면서도 일관된 기준을 유지할 수 있다.

  • 프롬프트·기준 준비 : 평가할 프롬프트와 채점 기준을 먼저 정의한다
  • 응답 수집 : 대상 모델의 응답을 수집한다
  • 평가 실행 : 평가 모델이 점수와 피드백을 제공한다

 

2) RAG Evaluation

RAG 파이프라인은 검색 단계와 생성 단계를 각각 독립적으로 평가해야 한다.

  • Retriever 정확도 : 관련 문서를 올바르게 찾았는지 MRR, NDCG 지표로 측정한다
  • Context 적합도 : 검색된 문맥이 질문과 실제로 관련이 있는지 확인한다
  • LLM 응답 품질 : 검색된 문맥을 기반으로 정확한 답변을 생성했는지 평가한다
  • Hallucination 체크 : 문맥에 없는 정보를 생성하지 않았는지 검증한다

 

3) Evaluation Harness 파이프라인 구조

평가 데이터셋을 설계할 때는 정답 및 평가 기준 작성, 에이전트별 평가 필드 구성, 정상/경계/예외 케이스 분리, Golden Dataset 버전 관리까지 포함해야 한다. 지표는 에이전트 유형에 따라 다르게 정의한다.

  • Orchestrator : Routing Accuracy를 기준으로 삼는다
  • RAG : Recall@K와 Faithfulness를 기준으로 삼는다
  • Web 검색 : Citation Rate와 Relevance를 기준으로 삼는다
  • Report : Template 준수와 Completeness를 기준으로 삼는다
  • 성능 지표 : 응답 Latency, 토큰 사용량, 검색 청크 수를 함께 측정한다
Dataset 자동 로드 → Agent 응답 수집 → 지표 산출 및 품질 평가 → 결과 기록 및 보고
  • 결과 분석 : 평가 결과를 시각화하고 검색·답변 오류 원인을 분석한다
  • 개선 반영 : 분석 결과를 바탕으로 Prompt와 검색 파라미터를 개선한다

 

3. Agent Harness — AI Agent를 통제한다

AI Agent는 목표를 인식하고, 스스로 계획을 세우고, 도구를 활용해 실행하며, 결과를 평가해 수정하는 자율 시스템이다. 강력한 도구지만 통제되지 않을 때 심각한 리스크가 발생한다.

  • 오작동 및 무한 루프 : 예상치 못한 입력에 대한 비선형 반응, 무한 재시도 루프로 시스템이 불안정해진다
  • 과도한 권한 : 불필요하게 넓은 API, DB 접근 권한이 데이터 유출과 오남용으로 이어진다
  • 비용 폭증 : 제어 없는 자동 실행이 API 호출 급증과 예측 불가능한 인프라 비용을 만든다
  • 연쇄 영향 : 하위 Agent의 오류가 상위 워크플로 전체로 전파되는 캐스케이딩 실패가 발생한다

Agent Harness는 이 위험들을 구조적으로 통제한다. 핵심 정책으로 권한 범위를 정의하고, 행동 감사로 모든 행동을 기록·추적하며, 실시간 검증으로 실행을 차단하는 세 계층으로 구성된다.

 

1) 권한 관리 — Least Privilege Principle

Agent는 작업을 수행하는 데 필요한 최소한의 권한만 가져야 한다. 불필요하게 광범위한 접근 권한은 공격 표면과 오작동 피해를 극대화한다.

  • 역할 기반 분리 : 작업 유형별로 별도의 Service Account를 발급해 권한을 분리한다
  • 시간 제한 권한 : 임시 토큰을 활용하고 자동 만료를 설정해 장기 노출을 방지한다
  • 리소스 스코프 제한 : 특정 DB 테이블, S3 버킷처럼 필요한 리소스에만 접근을 허용한다

위험도는 작업의 성격에 따라 LOW, MEDIUM, HIGH로 구분한다.

  • LOW : 읽기 작업이 해당하며 낮은 위험도로 분류한다
  • MEDIUM : 쓰기 작업이 해당하며 중간 위험도로 분류한다
  • HIGH : 비가역 작업이 해당하며 가장 높은 위험도로 분류한다

 

2) Human-in-the-Loop

중요한 결정과 고위험 작업은 반드시 사람의 승인을 거쳐야 한다.

  • 고위험 작업(프로덕션 배포, DB 삭제, 금융 거래) : 반드시 사람의 승인이 필요하다
  • 중위험 작업(설정 변경, 배치 작업) : 사후 검토 또는 조건부 승인을 적용한다
  • 저위험 작업(조회, 리포트 생성) : 자동 실행을 허용한다

승인 게이트는 HIGH 위험도 작업이 감지되면 실행을 보류하고 승인 요청을 발송하는 구조로 설계한다. 정상 흐름인 승인만 설계하고 거절과 타임아웃을 빠뜨리면 예외 상황에서 시스템이 무한 대기 상태에 빠질 수 있다.

  • 승인 흐름 : 10분 내 미응답 시 자동 만료 처리한다
  • 거절 흐름 : 거절 시 사유를 반환하고 에스컬레이션 알림을 발송한다

 

3) 로그와 감사 (Audit)

Agent의 모든 행동은 변경 불가능한 로그로 기록되어야 한다. 사고 발생 시 원인 분석과 책임 소재를 명확히 하는 근거가 된다.

  • 실행 이력 : 호출된 도구, 입력 파라미터, 반환 결과
  • 주체 식별 : 어떤 Agent가, 어떤 사용자를 대신해 실행했는지
  • 타임스탬프 : 정확한 실행 시점 및 소요 시간
  • 예외 기록 : 에러 코드, 재시도 횟수, 중단 사유
TraceStep 수집 → 불변 저장소(append-only, 90일 보관) → 이상 징후 탐지(연속 실패, 과다 호출) → 알림 발송

 

 

4. 지속적 개선 — 두 Harness를 하나로 묶는다

Evaluation Harness와 Agent Harness는 각각 독립적으로 작동하지만, 최종적으로는 하나의 개선 루프로 통합되어야 한다.

리포트 분석 및 실패 패턴 파악 → 프롬프트·파라미터 수정 → 테스트 케이스 확장 → 모델 교체 검토
  • 품질 문제와 보안 문제를 동일한 개선 루프로 처리해 운영 비용을 줄이고 개선의 일관성을 유지한다

정책 검증과 테스트도 설계로 끝나면 안 된다.

  • 침투 테스트 : 실제 공격 상황을 시뮬레이션해 권한 상승 시도가 올바르게 차단되는지 확인한다
  • 재검증 사이클 : 감사 리포트를 검토해 개선 사항을 반영하고 반복한다

AI Agent의 자율성이 높아질수록, 그것을 통제하는 Harness의 중요성도 함께 높아진다. Evaluation Harness로 품질을 측정하고, Agent Harness로 행동을 통제하고, 두 결과를 하나의 개선 루프로 묶는 것. 이것이 AI 시스템을 신뢰할 수 있게 만드는 구조다.

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기