Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

일반적인 프롬프트 평가 워크플로우는 객관적인 측정을 통해 프롬프트를 체계적으로 개선할 수 있도록 돕는 다섯 가지 핵심 단계를 따릅니다. 이러한 워크플로우를 구성하는 방법은 다양하며 여러 오픈 소스 및 유료 도구를 사용할 수 있지만, 핵심 프로세스를 이해하면 작게 시작해서 필요에 따라 확장할 수 있습니다.

1단계: 프롬프트 작성

개선하고자 하는 초기 프롬프트를 작성하는 것부터 시작하세요. 이 예시에서는 간단한 프롬프트를 사용하겠습니다:

python
prompt = f"""
Please answer the user's question:

{question}
"""

이 기본 프롬프트는 테스트와 개선을 위한 기준선 역할을 합니다.

2단계: 평가 데이터셋 생성

평가 데이터셋에는 프롬프트에 입력할 샘플 입력이 포함됩니다. 우리의 프롬프트는 입력이 하나(사용자의 질문)뿐이므로, 테스트할 다양한 질문들의 모음이 필요합니다.

데이터셋에는 프롬프트와 병합할 질문들이 포함되어 있습니다. 이러한 데이터셋은 직접 만들거나 Claude를 사용하여 생성할 수 있습니다. 실제 평가에서는 수십, 수백, 심지어 수천 개의 서로 다른 레코드가 있을 수 있지만, 이 예시에서는 세 가지 질문으로 시작하겠습니다:

  • 2+2는 얼마인가요?
  • 오트밀은 어떻게 만드나요?
  • 달은 얼마나 멀리 있나요?

3단계: Claude를 통해 처리하기

데이터셋의 각 질문을 가져와 프롬프트 템플릿과 병합하여 완전한 프롬프트를 만듭니다. 그런 다음 각각을 Claude에 전송하고 응답을 수집합니다.

예를 들어, 첫 번째 질문은 완전한 프롬프트가 되어 Claude가 처리하고 "2 + 2 = 4"와 같은 답변을 반환합니다. 데이터셋의 모든 질문에 대해 이 과정을 반복하여 질문-답변 쌍의 모음을 구축합니다.

4단계: 채점자를 통해 처리하기

이제 Claude의 응답 품질을 객관적으로 측정하는 중요한 단계가 옵니다. 각 질문-답변 쌍을 가져와 응답을 채점하는 채점자에게 입력합니다.

채점자는 답변 품질에 따라 점수(일반적으로 1-10)를 부여합니다:

  • 10 = 개선할 여지가 없는 완벽한 답변
  • 4 = 적절하지만 분명히 개선할 여지가 있음
  • 낮은 점수는 부실한 응답을 나타냄

모든 응답을 채점한 후, 점수들을 평균합니다. 이 예시에서는 10, 4, 9점의 평균이 7.66이 되어, 프롬프트 성능에 대한 객관적인 측정값을 얻게 됩니다.

5단계: 프롬프트 변경 및 반복

기준 점수가 확립되면, 이제 프롬프트를 수정하고 전체 과정을 다시 실행하여 변경 사항이 성능을 개선하는지 확인할 수 있습니다.

예를 들어, 더 구체적인 지시사항을 추가하여 원래 프롬프트를 개선할 수 있습니다:

python
prompt = f"""
Please answer the user's question:

{question}

Answer the question with ample detail
"""

프롬프트 채점

이 워크플로우의 강점은 프롬프트 성능에 대한 객관적인 측정값을 얻는 데 있습니다. 서로 다른 프롬프트 버전 간의 점수를 비교하여 어느 것이 더 나은 성능을 보이는지 판단할 수 있습니다.

이 예시에서:

  • 프롬프트 v1은 7.66점을 기록했습니다
  • 프롬프트 v2는 8.7점을 기록했습니다

v2의 더 높은 점수는 "충분한 세부 사항으로 질문에 답하세요"를 추가한 것이 프롬프트의 성능을 개선했다는 객관적인 증거를 제공합니다. 그런 다음 더 나은 성능을 보이는 버전을 사용하거나 더 높은 점수를 달성하기 위해 계속 반복할 수 있습니다.

이러한 체계적인 접근 방식은 프롬프트 개선에서 추측을 제거하고 최적화를 위한 신뢰할 수 있는 프레임워크를 제공합니다. 효과적인 채점자를 구현하는 데는 복잡성이 있지만, 이 워크플로우는 자체 평가 시스템을 구축하기 위한 견고한 기반을 제공합니다.