기술 가이드
식품 규정과 내부 기준을 위한 RAG 설계에서 자주 놓치는 6가지
기준 문서를 검색했는데 내용이 비슷한 조항이 여러 개 나옵니다. 하나는 구버전이고, 다른 하나는 다른 제품군에 적용되는 내용이에요. 이때 가장 비슷한 문장을 고르는 것만으로는 업무에 맞는 답변을 만들기 어렵습니다.
RAG는 검색한 자료를 생성형 AI에 제공해 응답을 보강하는 방식입니다.[1] 식품 기준을 다룰 때는 검색 성능 외에도 ‘어느 기준을 어떤 조건으로 가져왔는가’를 함께 설계해야 해요. 다음 여섯 항목은 그 설계를 구체화하기 위한 점검안입니다.
1. 문서 제목보다 출처와 식별자를 먼저 남깁니다
파일명이 같은 기준서가 여러 번 들어와도 같은 문서인지 구분할 수 있어야 합니다. 발행 주체와 공식 출처, 문서 식별 정보, 수집 시점을 보관하고 원본과 추출본의 관계를 남겨보세요.
검색 결과에는 내부에서 붙인 별칭만 보여주지 말고 담당자가 원문을 확인할 수 있는 정보를 함께 제공하는 편이 좋습니다. 출처를 확인할 수 없는 자료는 확정 근거와 같은 등급으로 취급하지 않아요.
2. 버전은 최신 파일 하나로 정리하지 않습니다
새 문서가 들어왔다고 과거 문서를 모두 대체하면 과거 점검에 어떤 기준을 적용했는지 설명하기 어렵습니다. 각 버전을 구분하고 변경 관계를 남겨두세요.
응답에는 문서 이름뿐 아니라 어떤 버전을 참고했는지 표시합니다. 같은 이름의 서로 다른 버전이 한 답변에 섞였을 때도 사용자가 알아볼 수 있어야 하고요.
3. 수집일과 적용 시점을 구분합니다
오늘 내려받은 문서가 오늘부터 적용되는 기준이라고 단정할 수는 없습니다. 공개 시점, 적용 시점, 자료를 수집한 시점을 별도로 다루는 설계가 필요해요.
질문이 ‘현재 기준’인지 ‘해당 점검 당시 기준’인지도 구분합니다. 적용 정보가 확인되지 않으면 가장 최근 파일이라는 이유만으로 확정 답변을 만들지 않고 검토 대상으로 남겨요. 구체적인 법규 해석과 적용 여부는 담당자가 공식 원문으로 확인해야 합니다.
4. 조항을 나눠도 예외와 정의의 관계는 남깁니다
문서를 검색하기 좋은 크기로 나눌 때 본문과 단서, 표의 단위, 용어 정의가 떨어질 수 있습니다. 한 조각만 보면 맞는 설명이지만 함께 읽어야 할 조건이 빠지는 거예요.
상위 절, 관련 정의, 예외 조항을 함께 찾아갈 수 있게 연결해보세요. 모든 문서를 크게 묶는 방법보다 필요한 관계를 보존하는 쪽으로 접근하는 겁니다. 인용 범위가 길어지면 실제로 어떤 부분이 결론을 뒷받침하는지도 표시해야 합니다.
5. 검색 범위에는 업무 조건과 권한을 함께 적용합니다
제품군과 대상 시점뿐 아니라 사용자가 열람할 수 있는 문서인지도 확인합니다. 모델에 보여준 뒤 출력에서 가리는 것만으로는 검색 단계의 권한 문제를 해결할 수 없어요.
정확한 코드나 조항 번호를 찾는 검색과 의미가 비슷한 표현을 찾는 검색도 구분해보세요. 일반적으로 키워드와 벡터를 결합하는 방식을 하이브리드 검색이라고 부릅니다.[2] 어떤 조합이 적합한지는 실제 질문과 기준 문서로 비교해야 합니다.
6. 인용이 있는지보다 인용이 맞는지 검증합니다
링크가 붙었다고 답변이 검증된 것은 아닙니다. 인용문이 주장과 맞는지, 제외한 예외가 없는지, 해당 대상에 적용할 수 있는지를 확인하세요.
평가 질문에는 정답이 있는 경우뿐 아니라 근거가 부족한 경우도 포함합니다. 틀린 버전을 인용하거나 적용 조건을 확정할 수 없을 때는 답변을 보류하는지 시험해보세요.
가상 기준서 세 개로 검색 결과를 검증해봅니다
여섯 항목이 실제 검색에 반영되는지 작은 자료로 확인해볼게요. 다음 기준서와 적용 기간은 모두 가상이며 실제 법규를 인용하거나 현행성을 판정하는 예시가 아닙니다.
질문 대상은 제품군 P-01이고, 확인하려는 시점을 D라고 정합니다. M-01의 A판은 D보다 20일 전부터 D보다 10일 뒤 직전까지 적용된다고 가정해요. 같은 문서의 B판은 이미 수집돼 있지만 D보다 10일 뒤부터 적용됩니다. M-02는 비슷한 표현을 담고 있어도 제품군 P-02의 문서입니다.
권한과 문서 출처가 확인됐다는 전제에서, D 시점의 P-01 기준 후보는 M-01 A판입니다. B판이 더 최근에 수집됐다는 이유로 선택하면 안 됩니다. M-02의 문장이 질문과 더 비슷해도 대상 제품군이 다르므로 적용 근거에서 제외해요. 선택한 A판에 연결된 정의와 예외를 확인하기 전에는 결론을 확정하지 않습니다.
이 예시에서는 적용 시작을 포함하고 종료를 제외하는 방식으로 기간을 표현했습니다. 실제 법규의 시행일·경과조치·예외를 이 단순 구간 하나로 모두 표현할 수 있다는 뜻은 아닙니다. 적용 조건이 복잡하거나 확인되지 않았으면 담당자의 해석과 확인을 위한 상태로 남겨야 해요.
이어서 같은 질문으로 여섯 가지 실패 조건을 시험합니다.
출처를 확인할 수 없는 M-01 사본만 주면, 확정 근거가 아니라 출처 확인 필요로 표시합니다.
문서 이름은 같지만 질문 시점에 맞는 판이 없으면, 임의로 최신 판을 대신 쓰지 않습니다.
아직 적용 전인 B판만 검색되면, 해당 시점의 기준을 확인하지 못했다고 설명합니다.
A판의 예외 항목을 빼면, 조건을 다 확인한 것처럼 적합 여부를 확정하지 않습니다.
사용자에게 A판 열람 권한이 없으면, 모델 입력과 출력에 그 내용을 넣지 않습니다.
문서가 답하지 않는 질문을 주면, 인용 링크를 붙여 그럴듯한 결론을 만들어내지 않습니다.
여기서 과거를 다루는 두 질문도 구분해야 합니다. ‘지금 가진 자료로 D 시점의 적용 기준을 다시 살펴본다’와 ‘D 시점에 시스템이 알고 있던 정보로 당시 판단을 재현한다’는 다릅니다. 후자는 문서의 적용 기간만으로 부족해요. 당시 자료를 수집하고 사용할 수 있었던 시점과 저장본까지 확인해야 합니다. 나중에 받은 문서를 당시 시스템이 알고 있었던 것처럼 넣지 않기 위해서죠.
시험 결과에는 질문, 대상·시점 조건, 선택 문서와 판, 인용 항목, 제외 이유, 보류 여부를 남겨보세요. 내용이 바뀐 문서를 같은 시험 자료로 계속 덮어쓰지 말고, 시험에 사용한 버전도 고정합니다. 모델이나 검색 방식을 바꾼 뒤에는 같은 조건으로 결과를 비교할 수 있어야 합니다.
이 시험 묶음의 목적은 ‘출처 링크가 붙었다’는 확인에서 한 걸음 더 나아가는 것입니다. 잘못된 판과 대상, 누락된 예외, 접근할 수 없는 자료를 구분하는지 보는 거예요. 이 몇 가지 예시를 통과한 것만으로 전체 RAG 정확도나 개별 식품의 법적 적합성이 입증되지는 않습니다.
규정 RAG를 준비하고 있다면, 데이터스케쳐스와 문서 분할 방식보다 출처·버전·적용 조건을 먼저 정리해보세요. 이 글은 검색 시스템 설계 안내이며 개별 식품의 적합성이나 법규 적용을 판정하는 지침은 아닙니다.
참고자료
[1] Microsoft Learn · Retrieval-Augmented Generation (RAG) in Azure AI Search
https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview
검색 자료로 응답을 보강하는 RAG의 구조, 자료 갱신과 접근 제어
[2] Microsoft Learn · Hybrid search using vectors and full text
https://learn.microsoft.com/en-us/azure/search/hybrid-search-overview
키워드 검색과 벡터 검색을 결합하는 하이브리드 검색의 의미
자료 확인: 2026-10-08. 본문의 가상 상황·화면 구성·점검 절차는 출처의 실제 사례가 아니라 이 글에서 제안한 적용 예시입니다.