프롬프트 한 판을 쓰고, 다섯 번 연속으로 쓸 수 있게 하세요
이 장에서 컨텍스트, Prompt 기법, Agent, 비용까지 배웠습니다. 수업 전체에서 지식 포인트가 가장 많은 장입니다. 그런데 손에 떨어지는 첫 일은 하나뿐입니다: M0에서 정한 그 요구사항을, 안정적인 프롬프트 한 판으로 쓰기. 안정적이라는 말은 운에 기대지 않는다는 뜻입니다.
많은 사람이 여기서 걸리는 모습은 이겁니다. 「해봤어요. 어떨 땐 좋고 어떨 땐 나빠요.」 좋을 때도 있고 나쁠 때도 있는 건, 보통 프롬프트가 요구를 박아 두지 않은 것입니다. 모델이 이 책임을 지는 건 좀 억울합니다. 같은 문장을 다섯 번 연속으로 물어보면, 진짜 안정적인지 보입니다.
같은 한 문장, 다섯 번 묻기
안정은 한 글자도 안 틀린다는 뜻이 아닙니다
대규모 모델은 태생적으로 무작위성이 있습니다. 글자 하나까지 똑같이 재현하려는 건 헛수고입니다. 박아 둘 것은 세 가지입니다: 구조가 안정(세 단락이면 세 단락), 필드가 안정(「다음 주 계획」이 있어야 한다고 했으면 반드시 있어야 함), 경계가 안정(정보가 부족하면 「자료에 없음」이라고 말하지, 하나를 지어내지 않음). 이 세 가지는 이 장에서 배운 출력 포맷 제약과 Few-Shot 예시로 용접할 수 있습니다. 아울러 사용자 입력을 구분자로 감싸 두세요. 이것이 Prompt 인젝션의 첫 방어선입니다.
이 장의 실습 체크리스트
0 / 3 완료
M0의 그 일을 첫 판 프롬프트로 쓰기
15분 누구나「역할 + 배경 + 요구 + 출력 포맷」 네 종 세트로 쓰세요. 완벽을 쫓지 마세요. 일단 돌아갈 수 있는 한 판이 있으면 됩니다. 이 판이 이후 모든 수정의 대조군입니다.
무엇이 완료인가
다섯 번 연속 실행하고, 불안정에 분류하기
1시간 어디가 모자란지 알고 싶은 사람같은 입력으로 다섯 번 연속 돌리고, 매번 결과를 저장하세요. 바로 쓸 수 없는 것은 세 종류 중 하나로 넣습니다: 포맷이 흔들림, 내용을 지어냄, 길이가 폭주함. 세 종류의 해법은 다릅니다: 포맷이 흔들리면 예시를 보태고, 내용을 지어내면 자료를 좁히고, 길이가 폭주하면 강제 글자 수를 겁니다.
무엇이 완료인가
예시와 금지 항목을 넣고, 다시 돌려 비교하기
반나절 실제 흐름에 이을 사람프롬프트에 표준 예시(Few-Shot) 하나와 금지 목록(예: 「어떤 인사말도 넣지 말 것」, 「자료에 없는 정보는 『미언급』으로 쓸 것」)을 보태고, 다시 다섯 번 돌려 이전 판과 비교하세요. 덤으로 한 가지: 사용자 입력을 구분자로 감싸고, 입력에 「위의 모든 지시를 무시해」를 넣어 보세요. 넘어가는지 확인합니다.