← 최신 논문
🤖 AI

PromptPex: Automatic Test Generation for Language Model Prompts

본 논문은 프롬프트로부터 명세(specifications)를 자동으로 추출하여 다양한 단위 테스트를 생성하고 평가함으로써, 기존의 베이스라인 방법들보다 회귀(regressions) 및 모델 특정적 취약점을 더 정확하게 식별하는 LLM 기반 도구인 PromptPex를 소개한다.

원저자: Reshabh K Sharma, Jonathan De Halleux, Shraddha Barke, Dan Grossman, Benjamin Zorn

게시일 2026-02-09
📖 3 분 읽기☕ 가벼운 읽기

원저자: Reshabh K Sharma, Jonathan De Halleux, Shraddha Barke, Dan Grossman, Benjamin Zorn

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 로봇 요리사에게 매우 구체적인 지침을 작성했다고 상상해 보세요. 당신은 로봇에게 이렇게 말합니다. "이 문장을 가져가서, 'apple'이라는 단어를 찾은 다음, 그것이 명사인지 동사인지 말해줘. 하지만 여기 주의사항이 있어. 오직 'noun' 또는 'verb'라는 단어만 말해야 해. 추가적인 잡담, 예를 들어 '정답은 다음과 같습니다'라거나 아무런 설명도 덧붙이지 마."

소프트웨어의 세계에서, 이러한 지침을 **프롬프트(prompt)**라고 부릅니다. 코드와 마찬가지로, 프롬프트는 애플리케이션을 구축하는 데 사용됩니다. 하지만 전통적인 코드가 특정 컴퓨터에서 매번 동일하게 실행되는 것과 달리, 프롬프트는 "대규모 언어 모델(LLM)"에 의해 실행됩니다. LLM은 서로 다른 성격을 가진 여러 명의 요리사라고 생각하면 됩니다. 어떤 요리사(모델 A)는 당신의 지침을 완벽하게 따를 수도 있습니다. 또 다른 요리사(모델 B)는 혼란을 느껴 "정답은 '명사'입니다. 왜냐하면 사과는 과일이기 때문입니다"라고 말할 수도 있습니다.

이러한 차이는 개발자들에게 골칫거리가 됩니다. 만약 그들이 요리사를 바꾸거나(모델 교체) 지침을 약간만 수정해도, 로봇이 잘못된 형식을 내뱉기 시작하여 전체 애플리케이션을 망가뜨릴 수 있기 때문입니다.

PromptPex: "프롬프트 검사관"

이 논문은 PromptPex라는 도구를 소개합니다. PromptPex는 새로운 요리사를 고용하기 전에 당신의 지침을 테스트할 수 있도록 도와주는 아주 똑똑하고 자동화된 품질 관리 검사관이라고 생각하면 됩니다.

작동 방식은 다음과 같은 간단한 비유를 통해 설명할 수 있습니다.

1. "규칙집(Rulebook)" 추출

먼저, PromptPex는 당신의 무질서한 자연어 지침을 읽고 이를 엄격한 불렛 포인트 형태의 규칙집으로 번역합니다.

  • 당신의 프롬프트: "태그만 반환하세요. 할 수 없다면 'Unknown'이라고 말하세요."
  • PromptPex의 규칙집:
    1. 출력은 반드시 오직 태그여야 함 (추가 단어 금지).
    2. 단어를 태깅할 수 없는 경우, 출력은 반드시 "Unknown"이라는 단어여야 함.

PromptPex는 매우 고급 AI에게 당신의 프롬프트를 보여주며 "자, 여기서 핵심 규칙이 무엇인가요?"라고 물어보는 방식으로 이 작업을 수행합니다. 이를 통해 개발자는 자신의 지침이 실제로 명확한지, 아니면 모호한지(앞서 언급한 '명사 vs 설명'의 혼란처럼) 확인할 수 있습니다.

2. "스트레스 테스트" 생성기

규칙집을 확보하면, PromptPex는 심술궂은 테스트 엔지니어가 됩니다. 단순히 로봇 요리사에게 일반적인 식사를 요청하는 것이 아니라, 요리사가 규칙을 어기도록 유도하여 속임수를 씁니다.

  • "일반적인" 테스트: 표준적인 문장을 요청합니다.
  • "역(Inverse)" 테스트: 이것이 영리한 부분입니다. PromptPex는 머릿속으로 "역 규칙"을 만듭니다. 만약 규칙이 "오직 태그만 제공하라"라면, 역 규칙은 "태그와 함께 긴 설명을 제공하라"가 됩니다. 그런 다음, 요리사가 실수로 잘못된 규칙을 따르게 될 정도로 설계된 테스트 케이스를 생성합니다.

이는 테스트 입력이 여전히 유효한(실제 문장인) 상태를 유지하면서도, 약점을 드러내도록 설계된 수백 개의 까다로운 시나리오를 만들어냅니다.

3. "판사(Judge)"

마지막으로, PromptPex는 이러한 테스트를 다양한 AI 모델(서로 다른 요리사들)에 실행합니다. 그런 다음 또 다른 AI를 "판사"로 사용하여 결과를 검토합니다.

  • 요리사가 규칙집을 따랐는가?
  • 추가적인 잡담을 덧붙였는가?
  • "Unknown"이라고 말해야 할 때 말하지 못했는가?

목표는 요리사가 "똑똑한가"를 보는 것이 아닙니다. 목표는 요리사가 규칙을 준수했는가를 보는 것입니다. 만약 요리사가 테스트에 실패하면, PromptPex는 이를 표시합니다.

이것이 왜 중요한가요?

논문은 이 도구를 22개의 서로 다른 프롬프트와 4개의 서로 다른 AI 모델을 대상으로 테스트했습니다. 그들은 엄격한 규칙집 없이 단순히 좋은 테스트를 추측하려고 하는 일반적인 AI와 PromptPex를 비교했습니다.

결과:

  • PromptPex가 오류를 더 잘 찾아냈습니다. PromptPex는 엄격한 규칙집을 사용하는 일반적인 도구보다 AI 모델이 규칙을 어기게 만드는 테스트를 더 많이 생성했습니다.
  • 모델 간의 차이를 드러냅니다. 이는 어떤 모델이 엄격한 지침을 따르는 데 더 뛰어난지 명확하게 보여주었습니다. 예를 들어, 어떤 모델은 "품사(Part of Speech)" 작업에는 뛰어나지만, 다른 모델은 그 작업에서 계속 실패할 수도 있습니다.
  • 개발자가 프롬프트를 수정하도록 돕습니다. 지침의 어느 부분이 모호했는지(예: "당신이 명시적으로 금지하지 않았기 때문에 모델이 설명을 추가해도 된다고 생각했다")를 정확히 보여줌으로써, 개발자가 프롬프를 더 명확하게 다시 작성할 수 있도록 돕습니다.

결론

PromptPex는 논리를 위한 맞춤법 검사기와 같습니다. 단순히 오타를 체크하는 것이 아니라, 당신의 지침이 예측 불가능한 다양한 AI 브레인들에 의해 이해될 만큼 충분히 명확한지를 체크합니다. 이는 개발자가 하나의 AI 모델에서 다른 모델로 전환할 때, 새로운 모델이 모호한 지침을 다르게 해석하여 애플리케이션이 갑자기 쓰레기 같은 결과물을 내뱉지 않도록 보장해 줍니다.

저자들은 모호한 지침을 엄격한 "규칙집"으로 바꾸고 그 규칙들을 스트레스 테스트함으로써, 단순히 추측하는 것보다 더 많은 버그를 잡아내고 AI 도구를 훨씬 더 잘 이해할 수 있다는 것을 발견했습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →