P6-10.2 최신성·근거성·실행을 프롬프트 밖으로 넘기는 한계¶
Section ID:
P6-10.2Version:v2026.07.23
P6-10.1에서는 프롬프트 엔지니어링(prompt engineering)이 입력 설계를 통해 모델 행동을 관찰하고 조정하는 첫 번째 실무 도구라는 점을 보았습니다. 이제는 프롬프트를 잘 써도 여전히 남는 문제가 무엇인지 더 직접 봐야 합니다.
프롬프트는 모델 반응을 유도하는 강한 도구이지만, 최신성·사실성·근거 보장·장기 일관성까지 혼자 해결하는 도구는 아니다.
입력 조정만으로 닫히지 않는 문제¶
- 프롬프트만으로 해결하기 어려운 문제는 무엇인가?
- 왜 프롬프트가 좋아 보여도 실제 서비스에서는 불충분할 수 있는가?
- 어떤 시점에서 RAG, 파인튜닝, 도구 사용, 평가 체계가 필요해지는가?
프롬프트 한계의 핵심은 입력 조정과 시스템 구조를 바꿔야 하는 문제를 나누는 기준입니다. 최신성·근거 문제는 답의 출발점을 외부 문서로 바꾸는 RAG 쪽 문제이고, 실행 문제는 도구 사용과 함수 호출의 문제이며, 반복 판정은 평가 구조의 문제입니다.
프롬프트 엔지니어링을 과대평가하지 않으려면, 어떻게 물을까에서 잘 물어도 아직 남는 문제는 무엇인가로 질문을 옮겨야 합니다. 여기서 먼저 바뀌어야 하는 인상은 프롬프트를 더 세게 쓰면 해결된다가 아니라 입력 조정과 시스템 구조 보장은 다른 층이라는 이해입니다.
프롬프트 한계를 읽을 때는 그래서 다음으로 무엇을 붙여야 하는가를 같이 보면 더 안정적입니다.
| 지금 남는 문제 | 프롬프트만 더 고치면 되는가 | 다음으로 먼저 붙일 구조 | 왜 구조가 바뀌는가 |
|---|---|---|---|
| 답변 형식과 길이가 자주 흔들린다 | 때로는 그렇다 | 프롬프트 개선 또는 지시 형식 조정 | 아직은 입력 설계 층에서 해결될 수 있기 때문입니다. |
| 최신 정책이나 현재 버전 문서가 필요하다 | 아니다 | RAG, 최신 문서 연결 | 답의 출발점을 외부 문서로 바꿔야 하기 때문입니다. |
| 계산값, 저장, 조회 같은 실제 행동이 필요하다 | 아니다 | tool use, function calling | 말이 아니라 실제 실행 결과가 필요하기 때문입니다. |
| 같은 실패를 반복 점검하고 통과 기준을 세워야 한다 | 아니다 | evaluation, harness | 응답 문장보다 실행 기록과 판정 구조가 필요하기 때문입니다. |
즉, 프롬프트를 더 세게 쓰는 일은 입력 조정이고, RAG·tool use·evaluation으로 넘어가는 일은 시스템 구조를 바꾸는 선택입니다.
여기서 먼저 남겨야 할 것은 어떤 문제가 입력 조정 한계인지, 어떤 문제가 근거 연결 부재인지를 보여 주는 실패 유형 메모, 형식 흔들림 통계, 재현 실패 기록입니다. 이 기록이 있어야 P6-11.1의 RAG 필요 판단으로 왜 넘어가야 하는지 흔들리지 않고, 프롬프트 개선으로 줄일 문제와 시스템 구조를 바꿔야 할 문제를 나눌 수 있습니다. 뒤로 갈수록 이 기록은 P6-16의 평가 기준과 Part 6의 회고 메모, 개선 계획, 프로젝트 기록으로 다시 읽힙니다.
입력 조정과 시스템 구조 보장의 구분¶
- 프롬프트의 한계를 입문 수준에서 설명할 수 있습니다.
- 최신성, 사실성, 일관성, 실행 가능성 문제가 왜 남는지 말할 수 있습니다.
- 프롬프트로 해결할 문제와 구조를 바꿔야 할 문제를 구분할 수 있습니다.
- RAG 필요성을
프롬프트를 더 길게 쓰는 문제가 아니라근거 연결 구조로 읽을 수 있습니다.
먼저 가를 장면은 형식은 어느 정도 맞지만 최신 사실이 불안한 경우, 답이 그럴듯하지만 출처를 믿기 어려운 경우, 계산·저장·조회 같은 행동이 필요한데 답변 문장만 좋아지는 경우, 같은 실패가 반복되는데 원인을 비교하기 어려운 경우입니다. 이때 질문은 프롬프트를 더 세게 쓸까가 아니라 최신 문서 연결, 실제 근거, 실행 구조, 평가 기록 중 무엇이 빠졌는가가 되어야 합니다.
이 구분을 기준으로 삼으면, 프롬프트의 한계를 더 강한 문장 요령보다 입력 조정으로 줄일 문제와 구조를 바꿔야 할 문제를 가르는 기준으로 더 직접 읽을 수 있습니다.
프롬프트는 왜 강력하지만 불완전한가¶
프롬프트는 입력을 설계하는 도구입니다. 따라서 모델이 가진 능력을 더 잘 끌어내거나, 형식을 더 안정되게 만들 수는 있습니다. 하지만 입력 설계만으로는 모델 바깥의 문제를 모두 해결할 수 없습니다.
예를 들어 프롬프트는:
- 답변 길이 조정
- 형식 제어
- 예시 기반 패턴 유도
- 말투 조정
에는 강할 수 있습니다.
반면 프롬프트만으로는 다음이 자동 해결되지 않습니다.
- 최신 정보 반영
- 외부 문서 근거 보장
- 데이터베이스 조회
- 계산 결과 검증
- 긴 작업 흐름의 재현성
최신성 문제¶
모델이 학습 이후에 생긴 정보를 자동으로 아는 것은 아닙니다. 프롬프트를 더 정교하게 써도, 모델이 본 적 없는 최신 사실을 확실히 보장할 수는 없습니다.
따라서 최신 정보를 기준으로 답해 줘라는 프롬프트는 요청일 뿐, 외부 최신 데이터 연결을 대신하지 않습니다.
이 지점에서 RAG나 도구 사용이 필요해집니다.
사실성과 근거 문제¶
프롬프트에 근거를 들어 설명해 줘라고 써도, 모델이 실제 근거 문서를 조회한 것은 아닐 수 있습니다. 그럴듯한 설명을 만들어 낼 가능성은 있지만, 진짜 출처와 연결되었다는 보장은 없습니다.
즉:
- 근거를 요구하는 프롬프트
- 실제 근거 문서를 연결한 시스템
은 같은 것이 아닙니다.
이 구분이 없으면 사용자는 출처처럼 보이는 답을 검증된 답으로 오해할 수 있습니다.
일관성과 재현성 문제¶
프롬프트를 조금 바꾸거나, temperature가 달라지거나, 맥락 순서가 달라지면 출력이 변할 수 있습니다. 따라서 프롬프트만으로 아주 엄격한 재현성을 보장하기는 어렵습니다.
이것은 실무에서 다음과 같이 나타납니다.
- 같은 요청인데 표현이 흔들린다
- 분류 라벨이 미세하게 달라진다
- 표 형식이 가끔 깨진다
- 긴 작업에서 앞뒤 기준이 달라진다
이런 문제는 프롬프트 개선으로 줄일 수는 있지만, 완전히 없애기 어렵습니다.
실행과 행동 문제¶
프롬프트는 기본적으로 텍스트 입력입니다. 따라서:
- 실제 데이터베이스 조회
- 외부 API 호출
- 파일 수정
- 계산 결과 저장
같은 행동은 프롬프트만으로 일어나지 않습니다. 이런 단계에서는 도구 사용(tool use), 함수 호출(function calling), 에이전트(agent) 구조가 필요해집니다.
즉, 프롬프트는 행동 요청을 표현할 수는 있어도, 행동 실행 구조 그 자체는 아닙니다.
이 전환을 다음 구조 선택과 바로 연결하면 더 분명해집니다. 최신 정보가 비어 있으면 RAG나 최신 문서 연결이 필요하고, 계산과 저장 같은 실제 행동이 필요하면 tool use나 function calling이 필요합니다. 같은 실패를 계속 비교하고 걸러야 한다면 evaluation과 harness처럼 반복 판정 구조가 필요합니다.
즉, 프롬프트의 한계는 프롬프트를 더 세게 쓰자로만 닫히지 않습니다. 외부 비교 기준으로 보면 여기서부터는 입력 조정이 아니라 근거 연결, 실행 연결, 반복 평가 중 무엇을 먼저 붙일지 고르는 단계입니다.
이 전환을 더 짧게 진단하면 다음처럼 읽는 편이 안전합니다.
| 먼저 드는 질문 | 예라면 먼저 볼 것 | 아니오라면 먼저 볼 것 |
|---|---|---|
| 지금 부족한 것이 말하는 방식과 형식인가? | 프롬프트 지시, 맥락, 예시를 다시 조정합니다. | 최신 근거, 실행, 평가 구조 중 무엇이 빠졌는지 봅니다. |
| 지금 부족한 것이 최신 문서와 현재 근거인가? | RAG와 최신 문서 연결을 먼저 검토합니다. | 실행이나 반복 평가가 더 중요한 문제인지 봅니다. |
| 지금 부족한 것이 실제 조회, 계산, 저장 같은 실행인가? | tool use, function calling, 실행 로그 구조를 먼저 검토합니다. | 반복 판정과 회귀 감지 문제가 더 큰지 봅니다. |
| 지금 부족한 것이 반복 판정과 회귀 감지인가? | evaluation, harness, 고정 평가 세트를 먼저 검토합니다. | 다시 프롬프트 층에서 줄일 수 있는 흔들림인지 확인합니다. |
아주 단순하게 그리면¶
flowchart TD
A["더 나은 프롬프트"]
B["더 나은 응답 형태"]
C["여전히 부족함: 최신 데이터, 도구, 검증"]
A --> B
B --> C
이 도식의 핵심은 프롬프트 개선이 중요하지만, 그것만으로 구조 문제를 다 해결하지는 못한다는 점입니다.
사례 및 예시¶
사례 1. 최신 정책 안내¶
사용자가 오늘부터 환불 기한이 며칠인가요?라고 묻는 장면을 생각해 볼 수 있습니다. 프롬프트를 더 정교하게 써서 정확하고 신중하게 답하라고 지시하면 최신성 문제도 어느 정도 줄 것이라고 기대하기 쉽습니다. 하지만 최신 정책 원문이 입력에 들어오지 않으면 모델은 예전 기준을 말할 수 있습니다. 사람은 답변이 조심스럽고 말투가 단정하면 더 믿기 쉽지만, 이 장면에서 놓치기 쉬운 핵심은 답변 태도가 아니라 현재 문서에 접근했는가입니다.
최신 문서 연결이 없으면 정중한 오답이 그대로 운영 안내로 나갈 수 있습니다. 여기서 바뀌는 점은 말투가 신중한가를 보던 기준에서 최신 문서 근거가 실제로 붙었는가를 보는 기준으로 이동한다는 것입니다. 이 경우 문제는 프롬프트가 약해서가 아니라, 최신 정보를 연결하는 구조가 빠져 있다는 데 있습니다. 그래서 이 사례에서 확인해야 할 결과는 말투가 아니라 최신 문서 근거가 실제로 붙어 있는가, 그리고 붙은 문서 ID만 보고도 현재 버전인지 재확인할 수 있는가입니다.
이 사례가 실제 운영 장면인 이유는 정책 안내 업무가 가장 그럴듯한 답보다 현재 효력 있는 답을 요구하기 때문입니다. 고객지원, 사내 인사 규정, 배송 정책, 환불 조건은 문장이 자연스럽다고 끝나지 않습니다. 사용자는 오늘 기준으로 적용되는 조항을 묻고, 운영자는 그 답이 어느 문서 버전에서 왔는지 다시 추적할 수 있어야 합니다. 그래서 프롬프트 문장을 아무리 단정하게 다듬어도, 최신 문서 연결이 비어 있으면 시스템은 여전히 과거 패턴을 잘 말하는 도우미에 머물 뿐입니다.
같은 질문에 대해 무엇이 실제로 달라지는지 표로 보면 더 분명합니다.
| 같은 질문 장면 | 프롬프트만 볼 때 놓치기 쉬운 것 | 구조를 붙였을 때 확인할 것 |
|---|---|---|
오늘부터 환불 기한이 며칠인가요? | 답변 문장이 신중하고 자연스러운가 | 최신 정책 문서가 실제로 회수됐는가 |
이번 주부터 규정이 바뀌었다는데 맞나요? | 모델이 바뀌었을 수 있다고 조심스럽게 말하는가 | 어떤 공지 문서 버전을 근거로 말하는가 |
예외 조항도 같이 알려 주세요 | 답이 길고 친절한가 | 본문 조항과 예외 조항이 같은 근거 묶음으로 붙었는가 |
이 비교의 핵심은 더 조심스럽게 말하는 답과 현재 문서에 묶인 답이 서로 다른 층이라는 점입니다. 이 대목이 바로잡는 오해는 신중한 표현이 최신성 문제도 어느 정도 해결해 준다는 기대입니다. 실제로는 최신성 문제를 줄이는 첫 작업이 프롬프트 미세조정이 아니라, 현재 문서 회수와 근거 표기 구조를 붙이는 일입니다.
사례 2. 수치 계산이 중요한 보고서¶
주간 매출 보고서를 자동으로 작성한다고 해 봅시다. 프롬프트에 숫자를 정확히 계산해서 표로 정리해 달라고 넣으면 계산 정확도도 어느 정도 올라갈 것이라고 기대하기 쉽습니다. 하지만 실제 합계와 증감률을 계산 도구 없이 바로 믿으면 작은 산술 오류가 그대로 보고서에 들어갈 수 있습니다. 사람은 표 형식도 맞고 문장도 매끄러우면 정확해 보인다고 느끼기 쉽습니다.
하지만 이 장면에서 필요한 것은 더 강한 문장이 아니라 계산기나 후처리 검증처럼 숫자를 다시 확인하는 구조입니다. 계산이 한 칸만 틀려도 뒤 해석 문장과 의사결정까지 같이 어긋날 수 있습니다. 여기서 바뀌는 점은 표가 그럴듯한가를 보던 기준에서 원본 수치, 합계, 증감률이 실제로 일치하는가를 보는 기준으로 이동한다는 것입니다. 그래서 정확히 해 달라는 프롬프트와 정확함을 보장하는 구조는 서로 다른 문제임이 드러납니다. 그래서 이 사례에서 확인해야 할 결과는 표 문장보다 합계, 증감률, 원본 수치가 서로 일치하는가, 그리고 그 일치 여부를 계산 로그나 검산 기록으로 다시 볼 수 있는가입니다.
실제 보고서 자동화에서는 숫자 한 칸이 틀리면 문장 한 줄이 틀리는 수준에서 끝나지 않고, 다음 회의의 판단과 조치까지 흔들릴 수 있습니다. 특히 매출, 재고, 광고비, 전환율처럼 서로 연결된 지표는 한 항목이 틀리면 뒤의 해석 전체가 연쇄적으로 어긋납니다. 그래서 운영자는 표가 예쁘게 나왔는가보다 먼저 이 수치가 어디서 왔고, 어떤 계산을 거쳤고, 다시 계산해도 같은가를 확인해야 합니다.
예를 들어 주간 매출 보고서 자동화를 아래처럼 나눠 보면 프롬프트와 구조의 차이가 더 선명해집니다.
| 보고서 단계 | 프롬프트만으로는 자주 남는 위험 | 구조를 붙였을 때 확인해야 할 것 |
|---|---|---|
| 원본 숫자 읽기 | CSV나 표에서 열을 잘못 해석해도 겉보기 문장은 그럴듯할 수 있음 | 어떤 원본 행과 열을 읽었는가 |
| 합계·증감률 계산 | 작은 산술 오류가 표와 해설 문장에 같이 전파될 수 있음 | 계산 로그와 재계산 결과가 일치하는가 |
| 해석 문장 생성 | 잘못된 숫자를 근거로 자연스러운 결론을 써 버릴 수 있음 | 해석 문장이 검산된 수치만 참조하는가 |
이 사례에서 중요한 기준은 정확히 계산해 달라는 지시가 곧 정확함이 보장됐다는 뜻이 아니라는 점입니다. 계산 문제는 말의 세기가 아니라 검산 구조의 유무로 갈립니다. 그래서 실제로는 프롬프트를 길게 다듬기 전에 계산기를 붙였는가, 중간 합계가 로그로 남는가, 원본 수치와 결과 수치를 다시 맞춰 볼 수 있는가를 먼저 확인해야 합니다.
사례 3. 반복 업무 자동화¶
운영팀이 업로드된 파일을 읽고 분류해서 폴더에 저장해 달라는 자동화를 원한다고 해 봅시다. 요청 문장이 충분히 구체적이면 실행도 거의 해결된 것처럼 느끼기 쉽습니다. 하지만 프롬프트로는 읽기, 분류, 저장까지 한 문장으로 적을 수 있어도, 실제 시스템에서는 파일 접근 권한, 분류 기준, 저장 위치, 실패 시 재시도 같은 단계가 따로 필요합니다.
실제 세계에서는 말보다 권한과 도구 연결이 더 중요합니다. 권한이 없거나 저장 경로가 잘못되면 분류 자체는 맞아도 마지막 저장 단계에서 작업이 끊길 수 있습니다. 즉, 사람이 말로는 한 줄로 끝낼 수 있어도 실행 세계에서는 여러 도구와 애플리케이션이 붙어야 합니다. 여기서 바뀌는 점은 요청 문장이 구체적인가를 보던 기준에서 실제 저장 성공, 실패 처리, 재시도 구조가 있는가를 보는 기준으로 이동한다는 것입니다. 그래서 이 장면에서 부족한 것은 더 긴 프롬프트가 아니라 실행 구조 자체입니다. 그래서 이 사례에서 확인해야 할 결과는 분류 문장 생성이 아니라 실제 저장 성공, 실패 처리, 재시도 경로가 있는가, 그리고 어느 단계에서 실패했는지 로그로 다시 읽을 수 있는가입니다.
세 사례를 구조 한계 관점으로 다시 묶으면 다음과 같습니다.
| 상황 | 프롬프트를 더 세게 써도 안 채워지는 것 | 실제로 더 붙여야 하는 구조 |
|---|---|---|
| 최신 정책 안내 | 최신 정보 접근 | RAG 또는 최신 문서 연결 |
| 수치 계산 보고서 | 산술 정확도 보장 | 계산 도구, 후처리 검증 |
| 반복 업무 자동화 | 파일 접근, 저장, 재시도 | tool use, 권한 처리, 실행 흐름 |
같은 내용을 시스템 경계 기준으로 다시 보면 다음처럼 읽을 수 있습니다.
flowchart TD
A["더 강한 프롬프트"]
B["응답은 더 좋아 보일 수 있음"]
C{"빠진 부분이\n시스템 보장인가?"}
A --> B --> C
C -->|최신 출처 필요| D["문서 접근"]
C -->|수치 정확성 검증 필요| E["계산 검증"]
C -->|실제 실행 필요| F["실행 + 재시도 흐름"]
핵심은 더 강한 문장과 더 강한 시스템 보장이 서로 다른 층이라는 점입니다.
즉, 여기까지의 결론은 프롬프트를 더 잘 쓰는 일과 답의 근거를 실제 문서에 묶는 일이 다르다는 것입니다. P6-11부터는 바로 이 차이를 따라, 말하는 방식 조정이 아니라 답의 출발점을 어디에 둘 것인가를 읽습니다.
프롬프트 밖 구조가 필요한 장면¶
실제 실패 장면에서 가장 자주 막히는 이유는 답이 이상하다는 한 문장 안에 여러 원인이 한꺼번에 섞여 있기 때문입니다. 이 절을 읽은 뒤에는 먼저 무엇이 빠져서 이 실패가 났는가를 한 번 갈라 적는 습관이 필요합니다.
| 실제로 먼저 보인 문제 | 먼저 붙일 질문 | 먼저 손봐야 할 것 |
|---|---|---|
| 답변 말투와 형식이 자주 흔들린다 | 같은 재료로 답하는 방식이 흔들리는가? | 프롬프트 구조, 예시, 출력 형식 |
| 오늘 기준 정책 답이 자꾸 불안하다 | 현재 문서를 실제로 읽었는가? | RAG, 최신 문서 연결 |
| 계산값이 맞는지 확신이 안 든다 | 계산 과정을 다시 확인할 수 있는가? | 계산 도구, 검산 로그 |
| 저장·조회·전송이 실제로 끝났는지 모르겠다 | 말이 아니라 실행 기록이 남았는가? | tool use, function calling, 실행 로그 |
이 표의 핵심은 프롬프트를 더 세게 쓰자와 시스템에 다른 구조를 붙이자를 같은 개선으로 보지 않는 데 있습니다. 형식 흔들림은 프롬프트 층에서 줄일 수 있지만, 최신 문서 부재나 실행 기록 부재는 입력 문장을 더 정교하게 다듬는다고 닫히지 않습니다.
이 기준을 붙잡고 P6-11로 넘어가면 RAG를 프롬프트 확장판으로 오해하지 않게 됩니다. 말을 더 잘 시키는 일과 답의 출발점을 외부 근거에 묶는 일이 다른 층이라는 감각이 여기서 먼저 고정돼야, P6-11의 검색·근거 결합도 훨씬 덜 압축되어 읽힙니다.
연습 및 예제¶
이 연습의 목표는 강한 프롬프트와 실제 구조 보장이 다른 문제라는 점을 직접 판정해 보는 것입니다. 실제 서비스에서는 답변 문장만 읽지 않고 최신 문서가 붙었는가, 계산 로그가 있는가, 실행 로그가 남았는가 같은 검증 항목을 함께 봐야 합니다.
사용자는 최신 정책, 정확한 계산, 실제 저장 실행을 한꺼번에 기대할 수 있습니다. 프롬프트에는 최신 문서를 근거로, 정확하게 계산해서, 저장까지 완료해라고 강하게 적어 둘 수 있지만, 최신 문서 연결, 계산 도구, 저장 도구가 없으면 답은 여전히 말뿐인 지시로 끝날 수 있습니다.
먼저 비교할 검증 항목을 표로 정리하면 다음과 같습니다.
| 작업 | 사용자가 기대하는 것 | 프롬프트만으로 자주 빠지는 것 | 붙여야 하는 구조 |
|---|---|---|---|
| 정책 안내 | 최신 문서 기준 답변 | 최신 버전 문서 ID | 문서 검색, 최신 버전 연결 |
| 수치 보고 | 계산값 정확성 | 계산 로그, 재계산 근거 | 계산 도구, 후처리 검산 |
| 파일 자동화 | 실제 저장 완료 | 저장 로그, 재시도 정보 | 파일 도구, 실행 로그 |
아래 세 장면에서 먼저 할 일은 답을 계산하는 것이 아니라, 어떤 칸이 비어 있어서 프롬프트 밖 구조가 필요한지 표시하는 것입니다.
| 장면 | 프롬프트로 먼저 줄일 수 있는 것 | 시스템 구조가 필요한 것 | 확인해야 할 기록 |
|---|---|---|---|
오늘 기준 환불 기한을 알려 주세요라고 묻자 모델이 정중하게 7일이라고 답했다 | 답변 길이, 말투, 주의 문구 | 현재 효력이 있는 정책 문서 연결 | 문서 ID, 문서 버전, 검색 시각 |
세 지점 매출 합계와 평균을 알려 주세요라고 묻자 표는 예쁘지만 합계가 틀렸다 | 표 형식, 설명 순서 | 계산 도구와 검산 구조 | 원본 행, 계산 로그, 재계산 결과 |
계약서를 법무 폴더에 저장해 주세요라고 묻자 저장했다고 답했다 | 보고 문장 형식 | 실제 파일 저장 도구와 권한 처리 | 저장 경로, 저장 로그, 실패 시 재시도 기록 |
이제 같은 장면을 조금 더 애매하게 바꾸어 직접 판정해 보겠습니다. 빈칸에는 프롬프트, RAG, 도구 사용, 평가/로그 중 먼저 볼 구조를 적습니다.
| 실패 장면 | 먼저 볼 구조 | 이유 |
|---|---|---|
| 답변은 최신 문서에서 가져왔지만, 매번 요약 형식이 다르다 | ||
| 합계 숫자는 맞지만 어떤 원본 행을 계산했는지 남아 있지 않다 | ||
| 파일 저장은 성공했지만 실패했을 때 재시도 여부를 알 수 없다 | ||
| 답변이 자연스럽고 표도 맞지만, 정책 문서 버전이 지난달 기준이다 |
해설:
| 실패 장면 | 먼저 볼 구조 | 이유 |
|---|---|---|
| 최신 문서는 붙었지만 요약 형식이 흔들림 | 프롬프트 | 근거 연결은 되었으므로 먼저 출력 형식과 예시를 고정할 문제임 |
| 합계는 맞지만 원본 행 기록이 없음 | 평가/로그 | 계산 결과만 맞아도 재현 기록이 없으면 운영 검증이 어려움 |
| 저장은 성공했지만 재시도 여부가 없음 | 도구 사용 | 실행 성공만이 아니라 실패 처리와 재시도 경로도 실행 구조에 포함됨 |
| 표와 문장은 좋지만 문서 버전이 오래됨 | RAG | 말투나 형식이 아니라 답의 출발점이 현재 문서에 묶이지 않은 문제임 |
이 연습에서 확인해야 할 것은 강한 프롬프트를 쓰면 된다와 구조를 붙여야 한다가 같은 판단이 아니라는 점입니다. 프롬프트는 답변 모양을 바꾸는 데 강하지만, 최신 문서 버전, 계산 재현성, 저장 성공, 실패 처리 기록은 별도 구조가 있어야 확인할 수 있습니다.
시스템 경계에서 남는 실패 유형¶
이 연습은 프롬프트가 강해질수록 모든 문제가 해결된다는 오해를 막아 줍니다. 실제 서비스에서는 최신 정보 접근, 계산 검증, 도구 호출과 실행 로그 같은 바깥 구조가 따로 필요하므로, 프롬프트는 시스템 전체 중 하나의 층으로만 읽어야 합니다.
위 판정표에서 중요한 것은 구조 보강이 항상 하나의 만능 장치가 아니라는 점입니다. 최신성은 근거 연결로, 계산은 검산 구조로, 저장은 실행 도구와 로그로, 반복 실패 감지는 평가 기록으로 넘어갑니다. 따라서 프롬프트 한계는 말투 문제가 아니라 근거·계산·실행·평가 구조 중 무엇이 비었는가로 읽어야 합니다.
프롬프트 밖으로 넘어가는 경계¶
프롬프트는 응답 모양을 바꾸는 데 강하지만, 최신 문서 접근, 계산 검증, 실제 실행 성공 같은 시스템 보장은 별도 구조가 있어야만 확보됩니다.
더 중요하게 붙잡아야 할 점은 입력 설계로 응답 모양을 바꾸는 일과 최신성, 근거, 실행 가능성을 보장하는 일이 같은 문제가 아니라는 것입니다. 그래서 프롬프트의 한계는 프롬프트를 더 길게 쓰는 문제보다, 언제부터 RAG, tool use, evaluation 같은 구조가 필요한지 판단하게 만드는 경계로 읽는 편이 좋습니다.
- 최신성 부족
- 근거 부족
- 출력 흔들림
- 실행 불가
즉, 여기서부터는 프롬프트를 더 다듬는 일만으로는 부족하고, 근거 연결은 RAG로, 실행은 tool use와 agent로, 검증과 운영은 evaluation과 harness로 넘겨 읽어야 합니다.
이 경계가 중요한 이유는 다음과 같습니다.
- 바로 앞의 P6-10.1 프롬프트 엔지니어링을
입력 설계의 첫 번째 제어 지점으로 두되 만능 해법으로 오해하지 않게 하고 - 구조를 추가해야 하는 시점을 판단하게 하며
- 다음 장의 P6-11.1, P6-11.2 RAG와 뒤의 P6-13.1 도구 사용, P6-14.1 에이전트로 왜 확장되는지 자연스럽게 연결하기 때문입니다
체크리스트¶
더 강한 문장과더 강한 시스템 보장을 다른 문제로 설명할 수 있는가?- 최신성 오류, 계산 오류, 실행 실패가 각각 어떤 구조 부족과 연결되는지 말할 수 있는가?
- 다음 장을
프롬프트 확장판이 아니라답의 근거 출발점을 바꾸는 구조로 읽을 준비가 되었는가?
출처와 참고 자료¶
- Tom B. Brown et al., Language Models are Few-Shot Learners, arXiv, 2020, 확인 날짜: 2026-07-19.
- OpenAI, Prompting | ChatGPT Learn, 확인 날짜: 2026-07-19.
- Patrick Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS, 2020, 확인 날짜: 2026-07-19.