본문 바로가기
C.W.K.
Stream
Lesson 01 of 10 · published

프롬프트보다 평가가 먼저야

~16 min · evaluation, process

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

프롬프트를 쓰기 전에 시험부터 만들어

대표 입력 스무 개와 기대 출력 또는 통과 기준을 먼저 적는 것이 진지한 프롬프트 작업의 가장 강한 흐름이야. 그러면 프롬프트는 정해진 평가를 만족하는 해답을 찾게 돼. 평가가 없으면 방금 본 사례 하나가 보기 좋아지는 방향으로만 고치게 되고.

평가 모음의 구성

  • 입력 — 임의로 만들지 말고 실제 요청에서 뽑아.
  • 통과 기준 — must_contain, must_not_contain, 스키마 일치처럼 가능한 것은 코드로, 필요한 것은 사람이 판정해.
  • 범위 — 정상 흐름, 예외, 적대적 입력, 거절 사례를 모두 담아.
  • 안정적인 ID — 각 사례에 ID를 붙여 버전 사이의 변화를 따라가.

감보다 평가가 강한 까닭

  • 평가를 통과하면 언제 프롬프트가 끝났는지 알 수 있어.
  • 작은 수정이 다른 행동을 깨뜨릴 때 퇴행을 잡아.
  • 평가가 프롬프트의 명세가 되어 다음 사람도 뜻을 빨리 이해해.

Code

평가부터 만드는 프롬프트 작업 흐름·python
# 1. Write the eval
cases = [
    {"id": "happy-1", "input": "...", "must_contain": ["approved"]},
    {"id": "refund-1", "input": "...", "must_not_contain": ["approved"]},
    {"id": "empty",    "input": "",     "must_match_schema": EmptyError},
    # ...20 total
]

# 2. Iterate the prompt
while True:
    score = run_eval(cases, prompt)
    if score == len(cases): break
    prompt = improve(prompt, score.failures)

External links

Exercise

배포하거나 고치려는 프롬프트를 골라 변경 전에 실제 요청에서 평가 사례 스무 개를 만들어봐. 현재 버전을 실행하고 통과율을 기록해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.