P7-5.2 검색 실패와 근거 누락 기록¶
Section ID: P7-5.2 Version: v2026.07.22
같은 문서 집합을 두고도 어떤 질문은 검색 단계에서 막히고, 어떤 질문은 검색은 되었지만 답변 단계에서 과장됩니다. 그래서 검색 실패와 근거 누락을 분리해 기록하는 일이 중심이 됩니다.
핵심은 점수를 더 많이 적는 일이 아닙니다. 지금 막힌 위치가 검색 단계인가, 답변 단계인가를 분리해 기록하는 일입니다. 그래야 다음 반복에서 검색 규칙을 바꿔야 하는지, 답변 규칙을 바꿔야 하는지 바로 결정할 수 있습니다.
실패 상태를 나누는 기준¶
- 검색 실패와 답변 실패를 어떻게 구분하는가?
- 문서 범위 밖 질문과 검색 규칙 실패를 왜 따로 적어야 하는가?
- 상위 후보가 있어도 왜 답변을 멈춰야 할 수 있는가?
- RAG 평가 기록에 최소 무엇을 남겨야 하는가?
실패를 어디에서 봐야 하는가를 닫는 데 집중합니다. 즉, 질문별 후보 -> 실패 단계 -> 멈춘 이유 -> 다음 수정을 남기는 기준까지를 먼저 정리합니다.
판단 기준¶
- 검색 단계 실패와 답변 단계 실패를 구분해 적을 수 있습니다.
문서 범위 밖,검색 실패,답변 과장 위험,근거 기반 답변을 서로 다른 상태로 읽을 수 있습니다.- 질문별 평가 기록을 보고 다음 수정이 문서 집합, 검색 규칙, 답변 규칙 중 어디서 시작되어야 하는지 말할 수 있습니다.
왜 실패 상태를 더 잘게 나누어야 하나¶
답이 틀렸다만 적으면 다음 수정 지점이 보이지 않습니다. RAG에서는 같은 실패처럼 보여도 실제로는 서로 다른 세 장면이 섞입니다.
| 상태 | 실패 단계 | 지금 무슨 뜻인가 | 다음 수정 시작점 |
|---|---|---|---|
| 문서 범위 밖 | 검색 단계 | 현재 문서 집합에 이 질문의 근거가 없다 | 문서 범위를 넓히거나 질문 범위를 줄인다 |
| 검색 실패 | 검색 단계 | 문서 집합에는 관련 내용이 있지만 현재 검색 규칙이 못 끌어왔다 | 질의 표현, 토큰화, 재정렬 기준을 손본다 |
| 답변 과장 위험 | 답변 단계 | 상위 후보는 있지만 질문의 강한 표현까지 지지하지 못한다 | 답변을 더 보수적으로 쓰고 멈춤 규칙을 강화한다 |
| 근거 기반 답변 | 통과 | 검색 후보와 선택 근거만으로 답을 닫을 수 있다 | 현재 기준선을 다음 실험 비교용으로 저장한다 |
이 표가 중요한 이유는 검색 단계에서 막힌 것과 답변 단계에서 과장된 것이 수정 위치가 다르기 때문입니다. 문서 범위 밖 질문에 reranker를 붙여도 해결되지 않고, 반대로 답변 과장 위험은 검색 점수만 올려도 사라지지 않을 수 있습니다.
예를 들어 문서 분할 재정렬만 있으면 모든 환각이 해결되는가? 같은 질문을 받았다고 해 보겠습니다. 빠르게는 관련 문서가 검색됐으니 답변하면 된다고 생각하기 쉽습니다. 하지만 실제로는 그 다음 질문이 더 중요합니다. 검색된 문서가 정말 "모든"이라는 강한 표현까지 지지하는가? 이 장면에서 더 안전한 판단은 검색 성공을 곧바로 답변 성공으로 읽지 않고, 문서에 있는 주장, 문서에 없는 일반화, 그래서 지금 멈춰야 하는 이유를 분리해 적는 것입니다. 그렇게 적어야 다음 수정이 검색기 조정인지, 답변 문구 보수화인지 바로 갈립니다.
flowchart TD
A["강한 단정 질문 입력"]
B["빠른 판단: 관련 문서가 있으니 답변 가능"]
C["상위 후보가 실제로 지지하는 문장 확인"]
D["문서가 '모든' 같은 강한 표현까지는 지지하지 못함"]
E["답변 과장 위험으로 분류"]
F["다음 판단: 답변을 보수적으로 쓰거나 질문을 좁혀 다시 평가"]
A --> B
A --> C
C --> D
D --> E
E --> F
이번 실습에서 볼 실패 묶음¶
P7-5.1과 같은 문서 집합을 그대로 쓰되, 질문 묶음을 더 넓혀 통과, 문서 범위 밖, 검색 실패, 답변 과장 위험이 모두 나오게 만듭니다.
| 연습 ID | 질문 | 기대 상태 | 왜 넣는가 |
|---|---|---|---|
| 연습-01 | 검색 후보와 선택 근거를 왜 먼저 남겨야 하는가? | 근거 기반 답변 | 직접 근거가 있는 기본 통과 사례 |
| 연습-02 | MCP는 왜 필요한가? | 문서 범위 밖 | 현재 지식베이스가 다루지 않는 질문을 멈추는 사례 |
| 연습-03 | 문서 분할 재정렬만 있으면 모든 환각이 해결되는가? | 답변 과장 위험 | 후보는 있지만 강한 단정은 근거 밖인 사례 |
| 연습-07 | 회수 문헌과 채택 이유를 선행 보존해야 후속 디버깅이 쉬운 까닭은 무엇인가? | 검색 실패 | 의미는 가깝지만 현재 검색 규칙이 표현 차이를 놓치는 사례 |
여기서 문서 범위 밖과 검색 실패는 둘 다 검색 단계에서 막힙니다. 하지만 전자는 문서를 더 넣어야 하는 문제이고, 후자는 같은 문서 집합인데 검색 규칙이 놓친 문제이므로 기록을 섞으면 안 됩니다.
판정 흐름¶
flowchart TD
A["질문 입력"]
B["상위 검색 후보 확인"]
C{"현재 문서 집합에<br/>직접 근거가 있는가?"}
D{"관련 문서가 있지만<br/>현재 검색 규칙이 놓쳤는가?"}
E{"질문의 강한 표현까지<br/>근거가 충분한가?"}
F["문서 범위 밖"]
G["검색 실패"]
H["답변 과장 위험"]
I["근거 기반 답변"]
A --> B --> C
C -- 아니오 --> D
D -- 아니오 --> F
D -- 예 --> G
C -- 예 --> E
E -- 아니오 --> H
E -- 예 --> I
이 도식은 질문별 기록에서 무엇을 먼저 봐야 하는지 압축해 줍니다. 좋은 RAG 검토는 답변을 만들 수 있나보다 지금 왜 못 만들거나, 왜 멈춰야 하나를 먼저 구분합니다.
입력 파일¶
- 문서 집합:
p7-5-rag-documents.csv· CSV 미리보기 - 역할: 직접 근거, 주변 설명, near miss 후보가 함께 섞인 공통 지식베이스
- 경계 사례 질문 묶음:
p7-5-boundary-cases.csv· CSV 미리보기 - 역할: 질문별 기대 상태와 실패 초점을 함께 적어 둔 평가 시나리오
질문만 읽고 끝나지 않습니다. 질문, 문서 집합, 기대 상태를 함께 놓고, 실제 상위 후보가 그 기대 상태를 설명하는지까지 확인해야 합니다.
실행 기록 기준¶
- 질문별로 기대 상태와 실제 판정 상태가 맞는지 먼저 대조합니다.
문서 범위 밖,검색 실패,답변 과장 위험,근거 기반 답변을 서로 다른 색으로 표시하듯 분리합니다.- 실패 단계가 검색 단계인지 답변 단계인지 따로 적습니다.
- 다음 수정이 문서 집합, 검색 규칙, 답변 규칙 중 어디에서 시작되는지 한 줄로 남깁니다.
Python 예제¶
예제는 질문별로 상위 후보, 판정 상태, 실패 단계, 다음 수정을 한 번에 남기는 것입니다. 예제에서는 검색 점수 하나로 끝내지 않고, 경계 사례 파일에 적힌 기대 상태와 현재 검색 결과를 나란히 놓아 어디에서 막혔는가를 읽을 수 있게 하겠습니다.
- 문제 상황: 같은 문서 집합 위에서 질문별 실패 위치를 구분한다.
- 입력:
- 문서 조각 10개
- 경계 사례 질문 7개
- 기대 출력:
- 질문별 상위 후보 3개
- 판정 상태와 실패 단계
- 멈춘 이유와 다음 수정 시작점
- 확인할 개념:
문서 범위 밖과검색 실패는 둘 다 검색 단계 문제지만 수정 시작점이 다르다- 상위 후보가 있어도
모든,항상같은 강한 표현은 답변 과장 위험을 만들 수 있다 - 질문별 상태 기록이 있어야 P7-7의 운영 회고로 자연스럽게 넘어간다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | |
실행 결과 예시는 다음과 같습니다.
결과를 어떻게 읽는가¶
이번 기록에서 먼저 봐야 할 것은 점수 크기보다 판정 상태가 어디서 갈렸는가입니다.
| 질문 유형 | 이번 기록에서 확인할 점 | 해석 |
|---|---|---|
| 문서 범위 밖 | 상위 후보 점수가 모두 0이고 선택 근거가 비어 있다 | 검색기를 바꾸기 전에 문서 범위 자체를 다시 봐야 한다 |
| 검색 실패 | 역시 선택 근거가 비어 있지만, 질문 의미는 기존 문서와 가깝다 | 문서를 더 넣기보다 검색 규칙과 질의 표현을 먼저 손봐야 한다 |
| 답변 과장 위험 | 상위 후보와 선택 근거는 있는데 강한 표현까지는 지지하지 못한다 | 검색 성공을 답변 성공으로 오해하면 안 된다 |
| 근거 기반 답변 | 상위 후보와 선택 근거가 질문에 직접 답한다 | 이 기록을 현재 기준선으로 저장할 수 있다 |
특히 연습-02와 연습-07을 같이 보는 것이 중요합니다. 둘 다 표면적으로는 아무 문서도 못 찾았다처럼 보이지만, 실제로는 전혀 다른 문제입니다.
연습-02는 현재 지식베이스에 없는 주제를 물었습니다.연습-07은 같은 지식베이스에 관련 내용이 있는데도, 지금 검색 규칙이 표현 차이를 못 따라갔습니다.
따라서 두 사례를 같은 근거 부족 한 줄로만 적어 두면, 다음 반복에서 문서를 늘려야 하는지 검색 규칙을 고쳐야 하는지 결정할 수 없습니다.
결과 해석 기준¶
| 관찰 | 읽어야 할 뜻 |
|---|---|
연습-02는 문서 범위 밖이다 | 문서 집합 자체가 현재 질문을 다루지 않는다 |
연습-07은 검색 실패다 | 문서는 있지만 현재 검색 규칙이 표현 차이를 놓쳤다 |
연습-03은 답변 과장 위험이다 | 검색은 됐지만 강한 단정까지는 근거가 없다 |
| 상태마다 다음 수정 위치가 다르다 | 실패 상태를 나누지 않으면 다음 실험이 흐려진다 |
프로젝트 기록 예시¶
프로젝트 평가표 예시¶
질문별 판정을 압축하면 다음 표처럼 남길 수 있습니다.
| 연습 ID | 질문 | 판정 상태 | 실패 단계 | 다음 수정 |
|---|---|---|---|---|
| 연습-01 | 검색 후보와 선택 근거를 왜 먼저 남겨야 하는가? | 근거 기반 답변 | 통과 | 현재 기준선을 저장한다 |
| 연습-02 | MCP는 왜 필요한가? | 문서 범위 밖 | 검색 단계 | 문서 범위를 넓히거나 질문 범위를 줄인다 |
| 연습-03 | 문서 분할 재정렬만 있으면 모든 환각이 해결되는가? | 답변 과장 위험 | 답변 단계 | 단정 표현을 줄인 질문으로 다시 본다 |
| 연습-07 | 회수 문헌과 채택 이유를 선행 보존해야 후속 디버깅이 쉬운 까닭은 무엇인가? | 검색 실패 | 검색 단계 | 질의 표현, 토큰화, 재정렬 기준을 점검한다 |
이 표의 역할은 점수표를 예쁘게 만드는 데 있지 않습니다. 다음 한 번의 수정은 어디서 시작할까를 바로 고르게 하는 데 있습니다.
나쁜 기록과 좋은 기록¶
같은 실행 결과도 기록 방식에 따라 다음 실험이 완전히 달라집니다.
| 구분 | 예시 |
|---|---|
| 나쁜 기록 | 질문 몇 개는 답했고 몇 개는 애매했다. 검색을 더 좋게 만들 필요가 있다. |
| 좋은 기록 | 연습-02는 문서 범위 밖이라 문서 집합 또는 질문 범위를 다시 잡아야 한다. 연습-07은 문서 집합은 맞지만 현재 검색 규칙이 표현 차이를 놓쳐 검색 실패가 났다. 연습-03은 상위 후보가 있어도 강한 단정까지는 지지하지 못하므로 답변 과장 위험으로 멈췄다. |
좋은 기록은 실패를 감상으로 쓰지 않고, 어디서 막혔는가, 왜 멈췄는가, 무엇부터 고칠 것인가를 분리해 남깁니다.
직접 바꿔 보며 확인할 것¶
질문 강도와 검색 규칙을 조금만 바꿔도 상태가 달라지는 장면을 보는 것이 핵심입니다.
-
연습-07질문을검색 후보와 선택 근거를 왜 먼저 남겨야 하는가?처럼 문서 문장에 더 가깝게 바꿔 봅니다.
관찰할 점:검색 실패가근거 기반 답변으로 바뀌는가? -
연습-03과연습-06에서모든,항상을 빼고 다시 돌려 봅니다.
관찰할 점:답변 과장 위험이 줄고 선택 근거가 더 직접 답변으로 이어지는가? -
연습-02처럼 현재 문서 집합에 없는 주제를 하나 더 추가해 봅니다.
관찰할 점: 검색 규칙을 바꿔도문서 범위 밖은 그대로 남는가?
체크리스트¶
| 확인할 것 | 스스로 답할 질문 |
|---|---|
| 판정 상태 | 질문별로 판정 상태와 실패 단계를 따로 적었는가? |
| 실패 구분 | 문서 범위 밖과 검색 실패를 같은 한 줄로 뭉개지 않았는가? |
| 답변 경계 | 상위 후보가 있어도 강한 단정 표현은 답변 과장 위험으로 멈췄는가? |
| 수정 위치 | 다음 수정이 문서 집합, 검색 규칙, 답변 규칙 중 어디서 시작하는지 적었는가? |
| 표현 실험 | 같은 문서 집합 위에서 질문 표현만 바꿔 상태가 달라지는지 확인했는가? |
출처와 참고 자료¶
- OpenAI,
Retrieval, OpenAI API Docs, 확인 날짜: 2026-06-29. https://developers.openai.com/api/docs/guides/retrieval
이 절의 문서 조각과 경계 사례 질문은 프로젝트 실습을 위해 만든 자체 예시입니다.