Quick Flow
prompt chaining은 한 작업을 여러 API call로 쪼개는 것이 아니라, 중간 결과를 검사·저장·분기해야 할 때 각 판단 책임을 분리하는 pipeline입니다. 단순 질문이나 한 번의 변환은 단일 prompt가 더 낫습니다. source extraction, 기준표 review, 승인 대기, retry 정책처럼 중간 산출물의 상태가 중요할 때만 chain을 만듭니다.
| 필요한 것 | 단일 prompt | chaining |
|---|---|---|
| 짧은 요약·변환 | 적합 | 호출 수만 늘 수 있음 |
| draft와 review의 근거 분리 | 제한적 | 적합 |
| 중간 산출물 audit·재시도 | 어려움 | 단계별 log와 gate를 둘 수 있음 |
| 실패한 부분만 다시 실행 | 어려움 | failed stage만 retry 가능 |
| 여러 독립 source 분석 | 한 요청도 가능 | 병렬 extract 후 merge 가능 |
extract evidence -> draft -> review against criteria -> refine -> final validation
| | | |
source IDs draft ID findings[] pass / needs-review단계 계약을 정하는 법
각 stage는 입력, output schema, 성공 조건, 실패 행동을 가져야 합니다. "더 잘 검토해"처럼 앞 stage 전체를 다시 넘기면 chain이 길어질수록 state가 흐려집니다. 다음 stage가 필요한 field만 전달하고, model이 만든 해석과 원문·사용자 입력을 다른 field에 둡니다.
{
"stage": "review",
"input": {
"draft_id": "d-104",
"criteria": ["source coverage", "required fields", "unsafe claim"]
},
"output": {
"status": "pass | revise | needs_human_review",
"findings": [{"criterion":"source coverage","evidence":"...","action":"..."}]
}
}흔한 self-correction 흐름은 draft -> review -> refine입니다. review 단계는 초안을 더 멋지게 쓰는 역할이 아니라 미리 정한 criteria에 대해 finding을 내는 역할입니다. refine 단계는 finding과 draft를 받아 확인된 항목만 고치고, source가 부족하거나 risk가 큰 항목은 needs_human_review로 넘깁니다.
실행·검증·재시도
| stage | 입력 | 통과 조건 | 실패 시 |
|---|---|---|---|
| extract | source와 질문 | source ID·quote·coverage가 있음 | source 부족으로 종료 또는 추가 수집 |
| draft | 검증된 evidence | output schema와 요구 field 충족 | schema error로 제한 재시도 |
| review | draft와 criteria | finding마다 근거·severity가 있음 | 기준 불명확으로 criteria 수정 |
| refine | draft와 확인된 finding | 해결·보류 이유가 남음 | 반복 횟수 초과 시 사람에게 전달 |
| final validation | 최종 산출물 | 결정적 check와 human gate 통과 | publish·write action을 막음 |
모델이 한 request 안에서 여러 단계를 reasoning할 수 있으므로, 모든 multi-step 일을 chain으로 만들 필요는 없습니다. explicit chain은 intermediate output을 log·평가·분기해야 하는 제품 workflow에 유용합니다. latency, token cost, prompt injection surface, failure mode도 단계 수만큼 늘어나므로, stage를 추가할 때는 없을 때 검증할 수 없는 조건을 하나씩 명시합니다.
자주 틀리는 부분
같은 모델이 draft와 review를 모두 했다는 사실은 독립 검증이 아닙니다. 고위험 판단은 source check, deterministic validator, 다른 권한 주체의 승인처럼 model 밖의 gate를 둡니다.
피해야 할 chain
"분석해" -> "더 잘해" -> "다시 확인해"
검증 가능한 chain
extract quote -> map claim -> validate schema -> review criteria -> human approval각 stage의 input·output, model·prompt version, 실행 시간, retry reason을 기록해 두면 prompt를 바꿨을 때 어느 단계가 좋아지거나 나빠졌는지 확인할 수 있습니다. 전체 성공률만 보지 말고 format violation, evidence coverage, human escalation 비율을 함께 평가합니다.
참고 링크
2 sources