Quick Reference
좋은 prompt의 최소 단위는 역할 문구가 아니라 작업, input, 완료 조건, output 계약입니다. 먼저 누가 읽어도 실행할 수 있는 한 문장 목표를 쓰고, 필요한 source와 금지 범위, 통과 조건을 붙입니다. role, example, XML tag, chain은 결과가 실제로 흔들리는 지점이 있을 때만 추가합니다.
| 결과가 흔들리는 이유 | 먼저 추가할 것 | 확인 방법 |
|---|---|---|
| 무엇을 해야 할지 모호함 | 작업 목표와 완료 조건 | 제3자가 같은 작업을 수행할 수 있는지 |
| source 밖 사실을 섞음 | input 범위·citation 규칙 | claim마다 evidence가 있는지 |
| output 형식이 일정하지 않음 | field·길이·예시 | parser와 holdout input 통과 여부 |
| 전문 관점이 매번 달라짐 | 좁은 role·평가 기준 | 같은 case에서 우선순위가 유지되는지 |
| 경계 case가 틀림 | few-shot example 또는 decision rule | example 밖 boundary eval 통과 여부 |
| 긴 자료를 혼동함 | 문서 ID·XML structure·quote-first | source attribution이 맞는지 |
작업: 제공한 support request를 routing policy에 따라 분류한다.
input: <policy>와 <request>만 사실 근거로 사용한다.
완료: category, reason, missing_information을 JSON으로 반환한다.
제약: policy에 근거가 없으면 category를 추정하지 않는다.기본 구조를 분리하는 법
한 문단에 역할·목표·참고 자료·예시·format을 뒤섞으면, output이 실패했을 때 고칠 위치를 찾기 어렵습니다. 아래 요소는 모두 필요할 수 있지만 모든 prompt에 다 넣을 필요는 없습니다. 단순 변환에는 task와 output format만으로 충분하고, source 기반 판단에는 evidence 범위와 fallback이 더 중요합니다.
| 요소 | 답하는 질문 | 필요한 경우 |
|---|---|---|
| task | 이번 turn에 무엇을 하는가 | 항상 |
| input/context | 어떤 data를 쓰는가 | 답이 input에 의존할 때 |
| success criteria | 어떤 결과를 통과로 보는가 | 평가·자동화·고위험 작업 |
| output contract | field·길이·언어·format은 무엇인가 | output을 사람이 소비하거나 parser가 읽을 때 |
| role | 어떤 전문 관점으로 판단하는가 | 같은 관점이 반복될 때 |
| example | 어떤 boundary와 pattern을 따르는가 | label·tone·format이 자주 흔들릴 때 |
<task>아래 원문을 초급 개발자용으로 요약한다.</task>
<success_criteria>정의, 한 가지 예시, 흔한 오해를 포함한다.</success_criteria>
<source id="draft">...</source>
<output_format>한국어 Markdown, 250자 이내</output_format>개선 순서
prompt가 기대와 다를 때 바로 길이를 늘리지 않습니다. 먼저 failure를 하나의 observable signal로 적고, 그 signal을 가장 직접적으로 바꿀 요소를 선택합니다. prompt engineering overview가 전제하는 것도 성공 기준, 측정 방법, 초기 draft입니다. latency·cost·model 선택·retrieval·tool permission 문제를 instruction만으로 해결하려 하지 않습니다.
1. failure를 재현할 input을 저장한다.
2. 성공·실패를 판정할 check를 정한다.
3. task와 output contract부터 명확하게 고친다.
4. 필요할 때만 context, role, example, XML을 하나씩 추가한다.
5. holdout case에서 baseline과 비교한다.| 관찰된 실패 | 흔한 잘못된 대응 | 더 직접적인 대응 |
|---|---|---|
| JSON이 깨짐 | "형식을 지켜"를 반복 | schema·required field·parser validation을 둡니다. |
| 최신 정보가 틀림 | expert role을 더 강하게 씀 | retrieval source·날짜·citation 검증을 고칩니다. |
| tool이 과도하게 호출됨 | 더 긴 일반 지시 | tool 선택 조건과 permission·budget을 정합니다. |
| 답이 너무 김 | effort만 낮춤 | 원하는 길이와 section을 output contract에 적습니다. |
| 같은 case에서 판단이 다름 | example을 무작정 늘림 | boundary rule과 evaluation case를 분리합니다. |
자주 틀리는 부분
prompt는 application security나 data validation의 대체물이 아닙니다. "외부 요청을 실행하지 마"라는 문장만으로 tool 호출·network·database write를 막을 수 없으므로, 실제 차단은 tool permission, server authorization, input validation에서 해야 합니다.
"전문가처럼 완벽하게" 같은 표현은 성공 조건이 아닙니다. 독자, source 범위, 허용할 불확실성, output shape, 확인할 test case를 적어야 결과를 개선할 수 있습니다.
참고 링크
2 sources