왜 테스트해야 하는가

왜 테스트해야 하는가

n8n 평가(evaluation)를 사용해 신뢰할 수 있는 AI 워크플로를 만들어 볼게요. 알려진 테스트 케이스에서 나온 출력을 비교하면서, LLM 기반 워크플로에 대한 확신을 쌓는 겁니다.

평가(evaluation)란 무엇인가요?

평가는 AI 워크플로가 신뢰할 수 있는지 확인하는 아주 중요한 기법이에요. 약한 개념 증명(proof of concept)과 탄탄한 프로덕션 워크플로의 차이를 가를 수 있죠. 빌드 단계와 프로덕션 배포 이후 둘 다에서 중요합니다.

평가의 토대는 테스트 데이터셋을 워크플로에 돌려 보는 거예요. 이 데이터셋에는 여러 테스트 케이스가 들어 있습니다. 각 테스트 케이스는 워크플로의 샘플 입력을 담고 있고, 흔히 기대 출력(expected output)도 함께 담고 있죠.

평가를 통해 여러분은:

  • 다양한 입력에 걸쳐 워크플로를 테스트해서 엣지 케이스에서 어떻게 동작하는지 알 수 있어요
  • 자신 있게 변경할 수 있어요. 다른 곳을 의도치 않게 망치지 않고 말이죠
  • 모델이나 프롬프트 간 성능을 비교할 수 있어요

왜 평가가 필요한가요?

AI 모델은 근본적으로 코드와 달라요. 코드는 결정적(deterministic)이라서 추론할 수 있죠. 하지만 LLM은 블랙박스라서 같은 방식으로 다룰 수 없습니다. 대신 LLM에 데이터를 흘려보내 출력을 관찰하는 방식으로 LLM의 출력을 측정해야 해요.

모델이 프로덕션에서 마주칠 모든 엣지 케이스를 정확히 반영하는 여러 입력을 돌려 본 후에야, 모델이 확실하게 동작한다는 확신을 쌓을 수 있습니다.

두 가지 유형의 평가

가벼운 평가 (배포 전)

깔끔하고 포괄적인 데이터셋을 만드는 건 어려워요. 초기 빌드 단계에서는 예시를 몇 개만 만드는 게 합리적일 때가 많아요. 그 정도면 워크플로를 배포 가능한 상태(또는 개념 증명)로 반복하는 데 충분하거든요. 공식적인 메트릭을 설정하지 않고도 결과를 시각적으로 비교해 워크플로 품질을 가늠할 수 있습니다.

메트릭 기반 평가 (배포 후)

워크플로를 배포하면 프로덕션 실행에서 더 크고 대표성 있는 데이터셋을 만들기 쉬워져요. 버그를 발견하면 그것을 일으킨 입력을 데이터셋에 추가할 수 있죠. 버그를 고칠 때는 수정이 의도치 않게 다른 걸 망치지 않았는지 회귀 테스트로 확인하기 위해 데이터셋 전체를 다시 워크플로에 돌려 보는 게 중요합니다.

테스트 케이스가 너무 많아서 하나씩 확인할 수 없으므로, 평가는 메트릭(특정 특성을 나타내는 숫자 값)으로 출력 품질을 측정해요. 이렇게 하면 실행 사이의 품질 변화도 추적할 수 있습니다.

평가 유형 비교

가벼운 평가 (배포 전) 메트릭 기반 평가 (배포 후)
반복마다의 성능 개선 작음
데이터셋 크기 작음
데이터셋 출처 수작업 생성, AI 생성, 기타 프로덕션 실행, AI 생성, 기타
실제 출력 필요 필요
기대 출력 선택 사항 필요 (보통)
평가 메트릭 선택 사항 필요

더 알아보기

  • 가벼운 평가: 개발 중에 손수 고른 테스트 케이스에 대고 AI 워크플로를 평가하기에 딱 좋은 방법이에요.
  • 메트릭 기반 평가: 큰 데이터셋으로 점수와 메트릭을 사용해 프로덕션에서 성능과 정확성을 유지하는 고급 평가예요.
  • 팁과 흔한 문제: 특정 평가 사용 사례를 설정하고 흔한 문제를 우회하는 법을 배워요.