
「잘 되었다」고 믿었던 작은 검증이 잘못된 질문에 답하고 있었던 이야기
요약
RAG 시스템 구축 시 입력 데이터(요약)를 생성하는 AI 모델의 변화가 벡터 검색 결과에 미치는 영향을 분석했습니다. 소규모 예비 검증에서는 안정적인 결과를 보였으나, 실제 데이터 규모와 올바른 검증 질문을 적용했을 때 결과가 크게 달라짐을 확인했습니다.
핵심 포인트
- 요약 모델의 차이가 벡터 검색의 유사도 판정에 영향을 줄 수 있음
- 소규모 데이터 기반의 예비 검증이 실전 결과를 보장하지 않음
- 검증 시 질문(Query)의 설계가 실제 목적과 일치하는지 확인 필수
- 벡터 검색은 키워드 일치가 아닌 의미적 근접성을 기반으로 작동함
「잘 되었다」고 믿었던 작은 검증이 잘못된 질문에 답하고 있었던 이야기
TL;DR: RAG(Retrieval-Augmented Generation, 검색 증강 생성)로 문장의 유사도를 분석할 때, 입력 데이터(요약)를 만드는 AI 모델이 달라지면 결과까지 달라지는지 조사했다. 2개의 기사만 사용한 예비 검증에서는 「변하지 않는다」는 안심할 수 있는 결과가 나왔지만, 사실 검증하고 있던 질문 자체가 실전에서 확인하고 싶었던 것과 어긋나 있었다. 30개 기사 규모로 올바른 질문을 다시 검증하자 결과는 크게 달랐다.

AI가 「유사함」을 어떻게 판정하고 있는가
평소의 「검색」 대부분은 키워드 일치에 의존한다. 「SDGs」라고 입력하면 「SDGs」라는 문자열을 포함하는 기사가 반환되는 방식이다.
이 글에서 다루는 「벡터 검색 (Vector Search)」은 조금 다른 도구로 작동한다. AI가 문장을 하나씩 읽어 들여, 그 의미를 수백 개의 숫자 나열(벡터 (Vector))로 변환한다. 비슷한 의미의 문장끼리는 사용된 단어가 다르더라도 이 수치 공간 안에서 가까운 위치에 모이게 된다. 반대로 같은 단어를 사용하더라도 의미가 어긋나 있으면 먼 위치가 된다.

예를 들어 「버렸던 김에, 사실은 가치가 있었다」라는 이야기와 「선생님의 한마디를 계기로, 먼 「누군가」가 친근한 「그 사람」으로 변했다」라는 이야기는 단어로서의 공통점은 거의 없다. 그럼에도 「누군가의 말이나 사건을 계기로, 보이지 않던 가치를 깨닫는다」라는 의미에서는 가깝다——벡터 검색은 이러한 종류의 "의미의 근접성"을 수치상의 거리로 포착해 준다.
이하에서 「유사도 (Similarity)」, 「근방 (Neighborhood)」이라고 쓰고 있는 것은 이 수치 공간상의 거리를 의미한다고 생각해주길 바란다. 거리가 가까울수록 AI는 그 두 문장을 의미적으로 가깝다고 판정하고 있다는 뜻이 된다. 이 글은 그 판정에 사용하는 「입력 데이터 (Input Data)」를 누가 만드느냐에 따라 결과가 흔들리는지를 조사한 이야기다. 감각적으로 비유하자면, 키워드 검색이 「같은 말을 찾는」 도구라면, 벡터 검색은 「비슷한 의미를 찾는」 도구라고 생각하면 비슷할 것이다. 이 "의미의 근접성"이라는 감각은 실제 데이터에서 어디까지 신뢰할 수 있을까.
RAG(검색 증강 생성)의 검색 부분——문장군을 벡터화하여 비슷한 기사끼리 찾는 구조를 만들고 있었을 때의 일이다. 생성까지는 하지 않으므로 정확하게는 「벡터 검색」이라고 불러야 하지만, 실전의 30개 기사 분석에서 사용했던 서비스(사쿠라 인터넷의 AI 엔진이 제공하는 문서 RAG API, 내부 임베딩 모델은 multilingual-e5-large) 자체가 「RAG」를 표방하는 제품이었기에 여기에서도 편의상 그렇게 부른다. 다만 후술할 2개 기사의 예비 검증만은 로컬 임베딩 모델 intfloat/multilingual-e5-small을 사용하고 있어 실전과는 경로가 다르다. 이 글에서는 「RAG」라는 단어를 문서 RAG API를 사용한 실전 분석에 한정하여 사용하고, 예비 검증은 로컬 「벡터 검색」이라 구분하여 부르기로 한다.

문득 궁금한 점이 생겼다. 이 요약, 누가 썼느냐에 따라 결과가 달라지지는 않을까?
만약 요약자의 AI가 다른 것만으로 「비슷한 기사」의 판정이 달라진다면, 그것은 RAG가 문장의 내용을 보고 있는 것이 아니라 요약자의 단어 선택 습관을 보고 있는 것일지도 모른다.
2개의 기사로 시도했더니, 안심할 수 있는 결과가 나왔다
우선 시작 단계로 2개의 기사로 시도해 보았다. 각각을 두 종류의 AI——사쿠라 인터넷의 AI 엔진을 통해 작동하는 Kimi-K2.6와 이 분석 및 집필 자체를 담당하고 있는 Claude Opus 4.8——로 독립적으로 요약하고, 벡터화는 로컬 임베딩 모델 intfloat/multilingual-e5-small(384차원)로 수행하여 비교한다.
결과는, 같은 기사에서 만든 두 요약이 놀라울 정도로 가까운 위치에 벡터화되었다. 유사도로 0.937과 0.959(모두 로컬의 multilingual-e5-small로 산출). 서로 다른 기사 간의 유사도가 0.85 전후였던 것을 고려하면 충분하고도 남을 일치였다.

이것으로 안심하고 진행할 수 있을 터였다. 「요약자가 달라도 RAG는 제대로 내용을 보고 있다」——그렇게 결론짓고 30개 기사의 실전 분석에 착수했다.
실전에서 했어야 했던 것은, 다른 질문이었다

30개 기사 모두를 두 종류의 AI로 각각 요약하고, RAG로 상관 분석을 돌렸다. 여기서 처음으로 깨달았다.
2개 기사의 예비 검증에서 확인하고 있었던 것은 「같은 기사에서 만든 두 요약은 서로 가까운가」라는 질문이었다. 이것은 당연히 가까워진다. 같은 내용을 바꾸어 말하고 있을 뿐이니까.
하지만 정말로 확인하고 싶었던 것은 다른 질문이었다. 「어떤 기사에 대해 "유사한 다른 기사"란 무엇인가, 라는 판정이 요약자 AI에 의해 달라지는가」 —— 이것은 완전히 별개의 검증이다.
30개의 기사로 다시 집계해 보니, 결과는 전혀 달랐다. 각 기사의 근방(유사한 기사, 상위 2건)이 요약자 AI에 의해 얼마나 일치하는가.
| 일치한 근방 기사의 수 | 기사 수 (30개 기사 중) |
|---|---|
| 2건 모두 일치 | 1개 |
| ... | |
![]() |
평균 일치율은 고작 0.47/2, 비율로 따지면 2할 남짓에 그쳤다. 30개 기사 중 17개 기사는 완전히 불일치했으며, 2건 모두 일치한 것은 단 1개뿐이었다 (후보가 29개뿐인 상황에서의 「상위 2건」이므로, 근소한 순위 변동도 섞여 있을 가능성은 있다). 또한, 이 불일치가 「Claude/Kimi라는 모델의 차이」에 의한 것인지, 「같은 모델이라도 요약을 다시 만들면 표현은 매번 달라진다」라는, 모델과 관계없이 발생하는 흔들림인지에 대해서는 이번 검증만으로는 분리해낼 수 없다. 같은 모델로 요약을 여러 번 다시 만들어 비교하는 대조 실험까지는 수행하지 않았으므로, 여기서는 「입력 데이터가 바뀌면 결과도 바뀔 수 있다」라는 넓은 의미의 표현으로 남겨두는 것이 정확할 것이다.
2개 기사의 예비 검증이 보여주었던 「안심할 수 있는 결과」는, 실전에서 확인하고 싶었던 질문에는 직접적으로 답하지 못했다는 것이 정확한 상황이라고 생각한다. 「방향이 틀렸다」라고 하기에는 과하며, 「같은 기사를 다른 AI가 요약했을 때의 표현의 유사성」이라는, 그 자체로는 의미 있는 질문에는 답하고 있었기 때문이다.
그럼에도 일치했던, 희귀한 사례
전혀 일치하지 않았던 것은 아니다. 30개 기사 중 단 1개, 요약자 AI가 달라도 근방 리스트가 완전히 일치한 기사가 있었다.
그 기사는 「버렸다고 생각했던 것에 사실은 가치가 있었다」라는, 다른 여러 기사도 공유하고 있던 강한 모티프를 가진 작품이었다 (시리즈의 다른 기사에서도, 이 반전 구조의 패턴을 대표하는 예 중 하나로 소개하고 있다). 테마적인 응집력이 강한 기사군에서는 요약자의 단어 선택이 다르더라도, RAG는 동일한 상관관계를 검출할 수 있었다 —— 라는 가설이 이 1건으로부터 떠오른다.
뒤집어 말하면, 테마의 결합이 약한 (혹은 표면적으로는 유사하지만 핵심이 다른) 기사들 사이에서는 요약자 AI의 어휘 선택이 결과를 좌우하기 쉬울지도 모른다. 다만, 이는 사후적으로 발견된 한 쌍의 일치 사례로부터 세운 가설일 뿐, 원인을 명확히 분리해낸 것은 아니다.

작은 검증은 무엇을 확인하고 있는가
이 사례로부터 얻은 교훈은 「RAG의 결과는 AI의 선택에 좌우될 수 있다」라는 결론 그 자체보다, 한 단계 더 앞선 곳에 있다.
소규모 예비 검증에서 좋은 결과가 나왔을 때, 그것은 「잘 작동한다」는 증거인가, 아니면 「다른, 더 쉬운 질문에 답하고 있는 것」뿐인가. 이 구분을 하지 못한 채 좋은 수치만을 보고 안심해 버리는 경우가 있다.

같은 규모의 검증을 더 테마가 다양한 문장군에 대해 수행한다면, 요약자 AI 의존성은 어떻게 변할까.
본 기사는 사쿠라 인터넷 「사쿠라 AI Engine 3,000 리퀘스트 다 쓰기 챌린지」에 참여한 작품입니다. 분석 대상은 문예춘추×note 「#미래를 위해 할 수 있는 일」 에세이 콘테스트의 공개 수상작입니다. 본 기사의 RAG(문서 검색) 부분은 사쿠라 AI Engine의 문서 RAG API(캠페인 상세)를 이용하고 있습니다.
관심이 있는 분은 링크된 원문 기사도 함께 읽어보시면 재미있을지도 모른다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기