Claude와 작업할 때, 좋은 프롬프트를 작성하는 것은 시작일 뿐입니다. 신뢰할 수 있는 AI 애플리케이션을 구축하려면 두 가지 핵심 개념을 이해해야 합니다: 프롬프트 엔지니어링과 프롬프트 평가입니다. 프롬프트 엔지니어링은 더 나은 프롬프트를 작성하는 기법을 제공하며, 프롬프트 평가는 그 프롬프트가 실제로 얼마나 잘 작동하는지 측정하는 데 도움을 줍니다.

프롬프트 엔지니어링 vs 프롬프트 평가
프롬프트 엔지니어링은 프롬프트를 작성하고 개선하기 위한 도구 모음입니다. 이는 Claude가 여러분이 요청하는 내용과 원하는 응답 방식을 정확히 이해하도록 돕는 모범 사례들의 집합입니다. 이를 프롬프트 작성의 기술이라고 생각하세요 - 멀티샷 프롬프팅, XML 태그를 사용한 구조화, 그리고 앞으로 살펴볼 다른 여러 접근 방식들이 있습니다.
반면 프롬프트 평가는 측정에 관한 것입니다. 이는 프롬프트가 실제로 효과적인지에 대한 객관적인 지표를 제공하는 자동화된 테스트입니다. 프롬프트가 잘 작동하는지 추측하는 대신, 평가를 통해 다음을 할 수 있습니다:
- 예상 답변과 비교하여 테스트
- 동일한 프롬프트의 다른 버전 비교
- 오류에 대한 출력 검토
프롬프트 작성 후의 세 가지 경로
프롬프트를 작성한 후에는 일반적으로 다음에 무엇을 할지에 대해 세 가지 선택지에 직면하게 됩니다:

옵션 1: 프롬프트를 한 번 테스트하고 충분히 좋다고 판단합니다. 이는 사용자가 예상치 못한 입력을 제공할 때 프로덕션 환경에서 문제가 발생할 상당한 위험을 안고 있습니다.
옵션 2: 프롬프트를 몇 번 테스트하고 한두 가지 예외 상황을 처리하도록 조정합니다. 옵션 1보다는 낫지만, 사용자는 종종 여러분이 고려하지 못한 매우 예상치 못한 출력을 제공할 것입니다.
옵션 3: 프롬프트를 평가 파이프라인을 통해 실행하여 점수를 매긴 다음, 객관적인 데이터를 기반으로 프롬프트를 반복 개선합니다. 이는 사전에 더 많은 작업과 비용이 필요하지만, 프롬프트의 신뢰성에 대해 훨씬 더 큰 확신을 줍니다.
대부분의 엔지니어가 테스트 함정에 빠지는 이유
옵션 1과 옵션 2는 저를 포함한 모든 엔지니어가 빠지는 함정입니다. 프롬프트를 작성하고, 자신의 입력으로 몇 번 테스트한 후 "이 정도면 충분히 좋다"고 생각하는 것은 자연스러운 일입니다. 하지만 진지한 애플리케이션을 구축할 때, 이러한 접근 방식은 종종 프로덕션 환경에서 문제를 일으킵니다.
문제는 사용자가 여러분의 프롬프트와 상호작용할 모든 방식을 예측할 수 없다는 것입니다. 제한된 테스트에서는 완벽하게 작동하는 것처럼 보이는 것이 실제 사용 패턴에 직면했을 때 완전히 실패할 수 있습니다.
체계적인 평가의 가치
옵션 3 - 프롬프트를 평가 파이프라인을 통해 실행하는 것 - 은 성능에 대한 객관적인 데이터를 제공합니다. 직감이나 제한된 수동 테스트에 의존하는 대신, 프롬프트가 다양한 입력을 얼마나 잘 처리하는지 알려주는 측정 가능한 점수를 얻게 됩니다.
이 접근 방식을 통해 자신 있게 반복 개선할 수 있습니다. 프롬프트를 변경하고 그 변경이 성능을 개선하는지 저해하는지 즉시 확인할 수 있습니다. 이는 추측하는 것과 프롬프트 개선이 실제로 효과가 있는지 아는 것의 차이입니다.
평가는 시간과 자원에 대한 더 많은 사전 투자가 필요하지만, 다양한 사용자 입력에서 일관되게 작동하는 신뢰할 수 있고 프로덕션에 적합한 프롬프트가 필요할 때 그 투자는 결실을 맺습니다.