YouTubeStanford Online·2026년 11월 11일·0

RAG Explained: From BM25 to Agentic RAG

Quick Summary

BM25부터 에이전트형 RAG까지의 핵심은 필요한 근거를 정확히 찾고, 문맥을 보존하며, 검색과 생성의 품질·비용을 함께 평가하는 데 있다.

영상 보기

클릭 전까지는 가벼운 미리보기만 먼저 불러옵니다.

원본 열기

🖼️ 인포그래픽

RAG Explained: From BM25 to Agentic RAG 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

RAG Explained: From BM25 to Agentic RAG의 핵심 내용을 4단계로 요약한 인포그래픽
RAG Explained: From BM25 to Agentic RAG 핵심 내용을 4단계로 압축한 4컷 인포그래픽

💡 한 줄 결론

BM25부터 에이전트형 RAG까지의 핵심은 필요한 근거를 정확히 찾고, 문맥을 보존하며, 검색과 생성의 품질·비용을 함께 평가하는 데 있다.

📌 핵심 요점

  1. RAG의 가치는 검증 가능한 근거다. 답변 시점에 관련 자료를 검색하고 이를 생성에 활용한다. 사실이 바뀌면 인덱스를 갱신할 수 있고, 사용자는 검색 문서를 통해 답변의 근거를 확인할 수 있다.
  2. BM25와 밀집 검색은 서로 다른 강점을 갖는다. BM25는 정확한 용어·숫자·코드 일치에 강하고, DPR은 의미적 유사성을 학습한다. 하이브리드 검색은 두 결과를 결합하며, Reciprocal Rank Fusion은 서로 다른 원시 점수 대신 순위를 합친다.
  3. 청크 설계가 검색의 의미를 좌우한다. 작은 청크는 문맥을 잃고 큰 청크는 여러 주제를 섞을 수 있다. 중첩, 맥락 설명 추가, late chunking은 문맥 보존을 돕고, 요약 트리와 Graph RAG는 여러 구간이나 문서를 종합하는 질문을 지원한다.
  4. 검색기는 정확도와 운영 비용을 함께 비교해야 한다. 문서 표현의 사전 계산은 질의 시 부담을 줄인다. ANN은 재현율 일부를 양보해 속도를 높이며, 바이인코더·크로스인코더·ColBERT는 입력 간 상호작용과 계산 비용에서 차이가 난다.
  5. 에이전트형 RAG는 검색 여부와 반복 절차까지 결정한다. Self-RAG는 검색·비평·생성을 모델에 학습시키고, C-RAG는 별도 평가기로 검색 결과를 교정한다. Search-R1은 강화학습으로 검색과 재검색 절차를 학습하지만, 반복 과정의 오류 누적과 프롬프트 주입 위험은 남는다.

🧩 배경과 문제 정의

  • 에이전트 프로젝트는 수행할 작업, 연구 질문, 데이터·API, 프레임워크, 평가 기준을 함께 설계해야 한다. 한 번 성공한 시연만으로는 시스템의 신뢰성을 판단하기 어렵다.
  • 언어 모델의 유창한 답변은 실제 근거를 보장하지 않는다. 사전 지식에 의존한 추측과 기록에 기반한 답변을 구분하려면 확인 가능한 자료가 필요하다.
  • RAG는 필요한 정보를 답변 시점에 검색해 생성에 활용한다. 사실이 바뀔 때 인덱스를 갱신할 수 있고, 검색한 문서를 통해 답변의 근거를 확인할 수 있다.
  • 검색 품질은 임베딩뿐 아니라 검색 단위, 문맥 보존, 유사도 척도에 달려 있다. 정확도와 함께 지연 시간, 메모리, 비용도 고려해야 한다.

🕒 시간순 섹션별 상세정리

1. 에이전트 프로젝트의 출발점은 작업과 연구 질문의 구체화다

  • 프로젝트 주제는 직접 흥미를 느끼는 문제에서 출발하되, 에이전트가 수행할 작업, 연구 질문, 지원 데이터·API, 사용할 프레임워크, 평가 방법을 구체화해야 한다 [00:21]
  • 목표는 에이전트 시스템을 직접 설계·구축·평가하는 것이다. 검색, 도구 사용, 메모리, 다중 에이전트, 최적화, 데이터, 평가, 안전성이 프로젝트의 주요 후보 영역이다 [00:54]

2. 한 번의 성공보다 반복 가능한 평가와 실패 분석이 중요하다

  • 최종 발표에서 한 번 작동하는 데모만으로는 높은 평가를 받기 어렵다. 데이터의 출처와 성공의 정의를 명확히 하고 시스템의 엄밀성을 입증해야 한다 [01:32]
  • 평가에는 LLM 심사, 평가표, 사람의 평정, 실행 가능성 점검을 활용하거나 여러 방법을 결합할 수 있다 [02:00]

3. 주제의 참신함은 데이터와 평가의 실행 가능성으로 뒷받침돼야 한다

  • 연구 대상에는 작업 성공률 외의 비용·지연·안전성, 새로운 환경과 도구에 대한 적응, 프롬프트 주입과 적대적 공격에 대한 강건성, 도구 오용, 제한된 데이터에서의 학습, 장기 작업과 협업이 포함된다 [02:33]
  • 강의계획서의 마감일을 달력에 등록하는 에이전트, 수강 일정 최적화, 논문 탐색·요약, 교내 행사 추천, 특정 코드베이스용 코딩 에이전트 등이 응용 예시다. 어떤 주제든 데이터·프레임워크·연산 자원·평가의 확보 가능성을 확인해야 한다 [03:39]

4. RAG의 핵심 가치는 유창함보다 검증 가능한 근거다

  • 상담 시간이 언제 가장 한산한지 물으면 모델은 사전 지식만으로 수요일 오후를 추천할 수 있다. 자연스러운 문장이어도 실제 대기 기록에 근거한 답변은 아니다 [06:40]
  • 대기 기록에는 화요일 오후 4시에 14명, 목요일 오전 9시에 3명이 기다렸다는 정보가 있다. 이 자료를 제공하면 목요일 오전을 추천하면서 확인 가능한 수치를 근거로 제시할 수 있다 [07:10]

5. 검색기와 독해기의 분업이 대규모 문서 처리를 가능하게 한다

  • 고전적인 개방형 질의응답은 검색기가 위키백과에서 소수의 문서를 가져오고, 독해기가 그 문서에서 답을 추출하는 두 단계 구조다. 검색기는 후보를 좁히고 독해기는 선택된 자료를 정밀하게 처리한다 [08:46]
  • 수백만 개일 수 있는 문서 집합에서 검색기는 상위 K개 구절을 선택한다. K의 예시는 100, 50, 10이며, 독해기는 이 후보들을 읽어 구체적인 답을 반환한다 [09:44]

6. 초기 RAG는 검색 인덱스와 학습 가능한 생성기를 결합한다

  • 질의를 인코딩한 벡터로 문서 인덱스에서 최대 내적 검색(MIPS)을 수행하고, 상위 K개 문서를 생성기에 전달한다. 출력은 검색 문서들에 대해 주변화해 계산한다 [11:29]
  • 이 구조는 종단 간 학습을 지원하며, 기울기가 생성기에서 질의 인코더까지 전달된다. 거대한 문서 인덱스는 고정하고, 같은 틀을 질의응답·사실 검증·문제 생성 등에 활용할 수 있다 [12:07]

7. 검색 확률과 생성 확률을 결합하며 문서 활용 방식도 달라진다

  • RAG는 질의 X에 관련된 문서 Z를 검색하는 과정과, X와 Z를 조건으로 답 Y를 토큰 단위로 생성하는 과정으로 나뉜다 [13:10]
  • RAG-Sequence는 하나의 구절을 조건으로 전체 답을 생성하는 방식이다. RAG-Token은 답의 토큰마다 구절의 가중치를 다시 계산해 전체 생성 과정에서 같은 구절에 고정되지 않는다 [14:02]

8. DPR은 문서 벡터를 미리 계산해 질의 시 검색 부담을 줄인다

  • 밀집 구절 검색기인 DPR은 질문과 구절을 서로 다른 BERT 인코더에 입력한다. 두 벡터의 내적을 점수로 사용해 문서의 순위를 정한다 [15:13]
  • 구절 벡터는 오프라인에서 미리 계산해 인덱스에 저장할 수 있다. 질의 시점에는 질문만 인코딩하고 MIPS로 상위 K개를 찾으며, 검색 점수는 구절들에 대한 확률 분포로 변환한다 [15:56]

9. 검색 문서를 텍스트로 제공하는 단순한 결합이 답변의 근거성을 높인다

  • 생성기는 BART 같은 인코더·디코더 모델을 사용할 수 있다. 질문과 검색 구절을 이어 붙여 입력하고 답을 토큰 단위로 생성하며, 검색 구절이 일반 텍스트이므로 현대 LLM에서도 프롬프트로 같은 원리를 적용할 수 있다 [16:34]
  • 초기 RAG는 Natural Questions, TriviaQA, WebQuestions, Curated TREC 등의 데이터셋에서 DPR이나 이전 방식보다 성능 향상을 보였다. 이 결과는 초기 모델에 관한 것으로, 강의 시점의 모델 성능은 더 높을 수 있다는 단서가 붙는다 [17:24]

10. RAG는 단일 검색·생성 흐름에서 조합 가능한 모듈로 확장된다

  • 기본 RAG는 문서를 인덱싱하고, 질의와 관련된 자료를 검색한 뒤 모델이 답하는 구조다. 여기에 추가 구성요소를 넣어 검색과 생성의 품질을 개선할 수 있다 [18:37]
  • 검색 전에는 질의 라우팅·재작성·확장을 적용할 수 있다. 검색 후에는 여러 검색 결과의 결합, 재순위화, 요약, 융합을 적용할 수 있다 [19:08]

11. 사전 계산 가능 여부가 검색의 속도와 자원 비용을 좌우한다

  • RAG 비교에는 답변 성능 외에 속도·메모리·비용도 중요한 기준이다. 문서 인덱스를 오프라인에서 처리하는 설계는 이러한 비용을 고려한 선택이다 [20:23]
  • 일부 인코더는 문서 표현을 미리 계산할 수 있지만, 질의와 문서를 함께 넣어 어텐션을 계산하는 구조는 같은 방식의 사전 계산이 어렵다. 이 차이가 지연 시간을 고려할 때 중요한 설계 조건이 된다 [20:54]

12. 최신 모델도 비공개 데이터에는 별도의 검색 연결이 필요하다

  • 비공개 금융회사 데이터베이스처럼 공개 인터넷에 없는 정보는 모델이 모두 알기 어렵다. 최신 모델에도 해당 데이터베이스에 접근할 수 있게 연결하면 RAG 원리를 적용할 수 있다 [21:46]
  • 일반 인터넷 정보는 모델이 지원하는 검색 기능으로 가져올 수 있다. 현재 날씨처럼 외부 자료가 필요한 질문은 기존 데이터베이스에서 정보를 조회해 답하는 예시에 해당한다 [22:32]

13. 검색 표현은 단어에서 문단·멀티모달·그래프까지 확장된다

  • BERT는 검색 인코더의 역사적 예시이며 유일한 선택지는 아니다. 단어별 고정 임베딩과 달리 문맥 임베딩은 주변 문맥에 따른 의미를 반영하고, Sentence-BERT나 DPR은 문장·구절을 표현 단위로 삼을 수 있다 [23:06]
  • CLIP처럼 텍스트와 이미지를 공유 공간에 표현하거나 오디오·이미지·텍스트로 확장할 수 있다. 그래프 임베딩은 노드 정보와 노드 사이의 관계를 표현하므로 RAG의 검색 원리는 다양한 자료에 적용될 수 있다 [24:58]

14. 청크 크기와 중첩은 문맥 보존과 주제 집중 사이의 균형이다

  • 고정 길이 분할의 예시는 청크당 100~500토큰이다. 너무 작은 청크는 문맥이 부족하고, 너무 큰 청크는 여러 주제가 하나의 벡터에 섞이므로 적절한 크기를 조정해야 한다 [26:23]
  • 인접 청크 사이에 일반적으로 10~20%의 토큰을 겹치게 하면 경계에서 공유하는 문맥과 문장 정보를 보존하는 데 도움이 된다 [27:08]

15. 문맥 보강과 동적 분할은 검색 단위의 의미를 더 풍부하게 만든다

  • 문맥을 보강하는 청킹은 각 구간에 메타데이터나 요약을 추가한다. LLM으로 자연스러운 분할 지점을 탐지하는 동적 청킹도 의미 있는 구간을 만드는 방법이다 [27:50]
  • 화면 예시의 ‘프로젝트 마일스톤이 6주 차에 마감된다’는 정보는 잘못된 내용으로 명시되며, 정확한 일정은 웹사이트를 확인해야 한다. 이 문구를 실제 과제 일정으로 받아들여서는 안 된다 [28:24]

16. 관련 청크를 찾아도 회사와 시점의 맥락은 빠질 수 있다

  • ACME Corp의 2023년 2분기 매출 성장률을 묻는 질의에서 적합한 구간을 찾더라도, 그 구간만 읽으면 어느 회사와 어느 분기를 가리키는지 불명확할 수 있다. 문맥적 검색의 출발 문제는 검색된 청크 자체에 대상과 시점을 식별할 정보가 부족할 수 있다는 점이다 [29:35]

17. 청크에서 사라진 회사명과 시점 정보를 복원한다

  • 질의는 특정 회사·분기·연도를 요구하지만, 검색된 청크에는 해당 정보가 빠져 있어 질의와 연결하기 어렵다. 원문 앞에 필요한 맥락을 붙이면 벡터 색인과 키워드 색인 모두 회사와 시점 정보를 활용할 수 있다. [30:04]
  • Anthropic이 제안한 방식은 각 청크에 대해 문서 전체를 참고하는 프롬프트를 실행하고, 약 50~100토큰의 맥락 설명을 생성해 청크 앞에 덧붙인다. [30:50]

18. 맥락을 보강한 청크를 벡터와 BM25로 함께 색인한다

  • 맥락이 추가된 청크를 임베딩 모델에 넣어 벡터 표현을 만들고, BM25에도 넣어 희소 색인을 구축한다. 임베딩은 의미적 일치를, TF-IDF와 BM25는 정확한 숫자 등의 일치를 지원하므로 두 검색 결과를 결합할 수 있다. [31:11]
  • 청크마다 추가 맥락을 생성하는 모델 호출 비용이 발생하므로, 이 방식은 비용 부담이 클 수 있다. [32:02]

19. 맥락 보강과 하이브리드 검색이 검색 실패를 줄인다

  • 상위 20개 결과를 기준으로 한 검색 실패 지표에서, 일반 임베딩을 맥락화 임베딩으로 바꾸면 오류 수치가 5.7에서 3.7로 낮아진다. 하이브리드 방식에서도 맥락 보강에 따라 5에서 2.9로 낮아진다. [33:11]
  • 임베딩과 BM25를 함께 사용하는 조합은 더 좋은 성능을 보이며, 의미 기반 검색과 키워드 기반 검색의 결합이 유용하다는 근거가 된다. [34:00]

20. Late chunking은 문서 전체를 임베딩한 뒤 청크를 나눈다

  • 먼저 문서를 분할하고 각 청크를 따로 임베딩하면 개별 구간 밖의 문맥을 잃는다. Late chunking은 긴 문서를 먼저 임베딩 모델에 통과시킨 뒤 분할해, 각 청크에 문서 수준의 의미 정보를 남긴다. [34:29]
  • 제시된 비교에서는 문서 수준의 정보를 반영한 late chunking이 단순 분할보다 좋은 성능을 보인다. [35:38]

21. 요약 트리는 세부 질문과 문서 전체 질문을 함께 지원한다

  • 답이 문서 여러 곳에 흩어져 있으면 단일 청크로는 충분하지 않다. 청크를 임베딩하고 묶어서 요약한 뒤, 요약을 다시 임베딩하는 과정을 반복하면 아래에서 위로 요약 트리를 만들 수 있다. [36:58]
  • 검색할 때는 트리의 모든 수준을 대상으로 삼는다. 세부 질문은 말단 노드와 연결되고, 더 추상적인 의미를 묻는 질문은 상위 요약 노드와 연결될 수 있다. [37:35]

22. Graph RAG는 여러 문서의 관계를 종합한다

  • 여러 문서를 종합해야 하는 질문에는 특정 청크 하나가 답을 제공하지 못한다. 색인 단계에서 문서를 분할하고, 언어 모델로 개체와 관계를 추출해 지식 그래프를 구성한다. [38:48]
  • 그래프를 군집화하거나 커뮤니티를 탐지한 뒤, 질의 시 각 커뮤니티 요약으로부터 부분 답변을 얻고 이를 전역 답변으로 합친다. [39:27]

23. 복잡한 색인 구조의 이점은 질문 수준과 비용에 달려 있다

  • 맥락 검색은 청크 밖의 문서 정보를 보완하고, 트리는 여러 청크를 종합하며, 그래프는 문서 간 정보를 연결한다. 특정 주제에 대한 대중의 인식처럼 여러 문서를 살펴야 하는 질문에는 주제나 테마별 묶음이 유용하다. [40:43]
  • 정교한 구조는 더 높은 수준의 질문에 답하도록 설계되지만, 청킹 방식마다 비용이 따른다. 상용·대규모 질의응답 시스템은 속도가 빠르고 대다수 질문을 처리할 수 있는 앞선 단순 기법들을 여전히 선호한다. [41:45]

24. 커뮤니티 선택과 언어 모델 크기는 설계상의 절충이다

  • 질의와 커뮤니티 사이의 관련성 점수를 정의해 검색 대상을 선택할 수 있다. 예를 들어 주말에 볼 경기를 묻는 질문에는 스포츠·경기 관련 군집을 선택하고, 여러 군집의 부분 답변을 합칠 수 있다. [42:29]
  • 언어 모델은 일정 수준의 역량이 필요하지만 반드시 최첨단일 필요는 없다. 검색 정확도와 품질, 모델 비용과 속도를 함께 비교해야 하며, 이 용도에는 비교적 작으면서도 역량을 갖춘 모델이 사용된다. [43:23]

25. 검색 단계의 오류가 최종 답변까지 누적될 수 있다

  • RAG 파이프라인에서는 앞 단계의 오류가 뒤 단계로 전파될 수 있다. 처음부터 잘못된 자료를 검색하면 최종 답변의 품질도 확보하기 어렵다. [44:25]
  • 자기 성찰이나 비평 같은 추가 구성 요소로 오류 누적을 줄이려는 접근이 있지만, 실제 시스템에서는 여전히 우려되는 한계다. [44:42]

26. 근사 최근접 이웃 검색으로 대규모 벡터 검색을 가속한다

  • 질의 벡터와 가장 가까운 상위 K개 청크를 정확하게 찾으려면 전체 벡터를 비교하는 완전 탐색을 할 수 있다. 문서 수가 N이고 차원이 D이면 계산 복잡도는 O(ND)이며, 수백만 건 규모에서는 비용이 크다. [45:18]
  • 근사 최근접 이웃 검색인 ANN은 재현율 일부를 양보하는 대신 검색 속도를 크게 높인다. 전체 공간을 탐색하지 않고 작은 영역에 집중한다. [45:50]

27. HNSW는 계층형 그래프를 따라 가까운 벡터를 찾는다

  • HNSW는 모든 벡터를 최하위인 0번 층에 두고, 위층으로 갈수록 더 적은 벡터를 배치한다. 검색은 최상위 층에서 시작해 질의에 가까운 방향으로 탐욕적으로 이동하고 아래층으로 내려간다. [46:33]
  • 각 층에서 최근접 이웃을 찾는 계층적 탐색으로 검색을 빠르게 수행하며, 탐색 이동 횟수는 log n 수준으로 드러난다. [47:15]

28. BM25는 희소성과 반복 빈도를 조절해 정확한 단어 일치를 평가한다

  • BM25는 1990년대부터 사용된 대표적인 검색 방식으로, 현재도 검색 연구의 기준선으로 쓰인다. IDF와 문서 길이를 정규화한 단어 빈도를 결합하며, 별도 학습이나 벡터 없이 정확한 용어 일치에 강점을 갖는다. [49:22]
  • 제시된 IDF 곡선에서는 단어가 전체 문서의 절반 미만에 나타나면 양수, 절반을 넘는 문서에 나타나면 음수 값을 갖는다. 드문 단어에 더 큰 중요도를 부여해 질의를 구별하는 표현을 찾는다. [51:16]

29. DPR은 별도 인코더와 대조 학습으로 의미 기반 검색을 학습한다

  • DPR은 오프라인에서 문단을 BERT·RoBERTa 등의 인코더로 벡터화해 색인에 저장한다. 온라인에서는 질의를 별도의 질의 인코더에 통과시킨 뒤 문단 벡터와 내적을 계산해 상위 K개를 고르며, 질의 인코더와 문단 인코더는 서로 분리되어 있다. [53:16]
  • 학습에는 정답 문단과 오답 문단의 내적 유사도를 이용한 대조 손실을 사용한다. 정답 문단에 대한 음의 로그 소프트맥스를 최소화해 관련 문단은 가깝게, 무관하거나 덜 관련된 문단은 멀게 만든다. [54:15]

30. 검색 평가는 정답 포함 여부와 순위 품질을 구분한다

  • Hit@K는 상위 K개 결과에 관련 문단이 포함되는지를 평가한다. Fail@K는 이에 상보적인 실패 지표이며, 앞서 맥락 검색의 효과를 비교할 때 사용한 지표다. [55:50]
  • NDCG@K는 관련성뿐 아니라 순위도 반영한다. DCG는 관련성 점수를 순위에 따라 할인하고, NDCG는 이를 정답 기준의 이상적인 순위에서 얻는 IDCG로 정규화한다. [56:48]

31. DPR의 실험 성능은 학습 데이터와 음성 예시의 영향을 받는다

  • 제시된 비교에서 DPR은 다섯 데이터셋 중 네 개에서 BM25보다 좋은 성능을 보인다. 해당 DPR은 배치 내 음성 예시와 BM25 hard negative를 함께 사용해 학습했으며, BM25 및 두 검색 방식의 결합 결과와 비교된다. [58:36]
  • 실험의 single은 개별 데이터셋만으로 DPR을 학습한 경우이고, multi는 여러 데이터셋을 합쳐 학습한 경우다. [59:18]

32. BM25와 DPR의 약점을 보완하는 하이브리드 검색

  • DPR은 추가 사전학습 없이 1,000~2,000개의 질의응답 쌍만 사용해도 전체 파이프라인을 종단 간 학습하는 Google의 기존 시스템보다 좋은 성능을 보인 사례가 있다. [1:00:01]
  • BM25는 의미적 바꿔 쓰기를 처리하기 어렵고, DPR은 특정 코드·숫자·제품 ID의 정확한 일치를 놓칠 수 있다. 하이브리드 검색은 두 검색기를 모두 실행하고 순위 목록을 결합해 이러한 약점을 보완한다. [1:00:27]

33. 인코더 구조에 따른 상호작용과 계산 비용

  • 문단 임베딩은 오프라인에서 미리 처리할 수 있다. 문단의 인덱스를 이용해 해당 임베딩에 접근하고 내적 계산에 활용한다. [1:01:47]
  • 바이인코더는 질의와 문단을 각각 인코딩한다. 크로스인코더는 두 입력을 모델에 함께 넣고 양쪽에 걸친 전체 어텐션으로 상호작용을 계산한다. [1:02:45]

34. ColBERT의 토큰별 후기 상호작용과 검색기 선택 기준

  • ColBERT는 토큰마다 벡터를 유지하면서 질의와 문단을 독립적으로 인코딩하고, 점수를 계산할 때 상호작용을 수행한다. MaxSim은 각 질의 토큰과 가장 잘 맞는 문서 토큰의 점수를 찾은 뒤 모든 질의 토큰에 걸쳐 합산한다. [1:05:52]
  • 문서 인코딩은 오프라인에서 수행할 수 있다. 제시된 비교에서 ColBERT는 BM25와 여러 기준 모델보다 높은 성능을 보였으며, 검색 품질과 함께 지연시간도 비교 대상이 된다. [1:06:31]

35. 검색 결정을 생성 모델에 통합하는 Self-RAG

  • 에이전트형 RAG는 검색을 에이전트의 행동으로 취급한다. 에이전트는 바로 답할지 검색할지, 어떤 검색어를 사용할지, 결과가 충분해 검색을 멈춰도 될지를 결정한다. [1:08:27]
  • Self-RAG는 하나의 모델에 검색·비평·생성을 학습시키고 특수한 성찰 토큰을 사용한다. 모델은 답변 작성 중 근거가 필요하다고 판단하면 검색 토큰을 출력하고, 검색된 각 문단에 대한 답변 구간을 병렬로 생성한다. [1:09:26]

36. 생성기를 수정하지 않고 검색 결과를 교정하는 C-RAG

  • C-RAG는 검색기와 생성기 사이에 평가기를 둔다. 평가기는 검색 문서에 신뢰도 점수를 부여하고, 그 점수를 후속 행동으로 연결한다. [1:10:51]
  • 올바른 결과는 유지하면서 필요하면 분할·정제한다. 잘못된 결과는 버리고 질의를 다시 작성해 웹을 검색하며, 판단이 모호한 경우에는 두 경로를 모두 사용한다. [1:11:12]

37. 검색과 재검색 절차를 학습하는 Search-R1

  • Search-R1은 검색 반복 절차를 사람이 직접 설계하는 대신 강화학습으로 학습한다. 모델은 생각하고 검색한 뒤 반환된 정보를 읽고, 다시 생각하고 검색하는 과정을 거쳐 답을 만든다. [1:11:56]
  • 두 대상 중 누가 더 나이가 많은지 묻는 사례에서는 검색을 세 번 수행하고 매번 질의를 수정했다. 이 검색 계획은 사람이 사전에 작성한 것이 아니다. [1:12:17]

38. Search-R1의 학습 구조와 최종 정답 중심 보상

  • Search-R1의 학습 구조는 기존 PPO·GRPO 과정과 유사하며 검색 기능을 추가한다. 롤아웃 중 정책이 검색 질의를 출력하면 검색 엔진을 호출하고, 반환된 결과를 정보 토큰으로 문맥에 넣는다. [1:13:05]
  • 보상은 최종 답변이 맞는지를 기준으로 부여한다. 이러한 결과 중심 보상으로 검색을 포함한 답변 생성 과정을 학습한다. [1:13:52]

39. 검색·독해·반복 과정에서 발생하는 RAG의 실패

  • 검색 단계에서는 필요한 근거를 찾지 못하거나, 임베딩과 오프라인 문서가 오래되거나, 접근해서는 안 되는 내용을 검색하는 문제가 생길 수 있다. [1:14:45]
  • 독해 단계에서는 문맥 중간의 정보를 놓치는 현상과 주의 분산이 발생할 수 있다. 검색된 근거들이 서로 충돌하면 어느 정보를 기준으로 답할지 판단해야 한다. [1:15:26]

🧾 결론

  • RAG는 검색기와 생성기를 연결하는 기본 구조에서 출발해, 재작성·재순위화·메모리·반복 검색을 조합하는 설계로 확장된다.
  • 복잡한 색인이나 에이전트 구조의 효용은 질문의 범위와 데이터 특성에 달려 있다. 여러 문서를 종합하는 질문과 단순 사실 조회에는 서로 다른 설계가 필요하다.
  • 한 번 성공한 시연만으로 신뢰성을 판단하기 어렵다. 검색 성능과 최종 답변 품질을 구분하고, 여러 작업과 실패 조건에서 반복 평가해야 한다.

📈 투자·시사 포인트

  • 기업용 AI를 평가할 때는 모델 성능과 함께 비공개 데이터 연결, 인덱스 갱신, 근거 확인 기능을 살펴볼 필요가 있다. 최신 모델도 공개되지 않은 내부 정보를 별도 연결 없이 모두 알기는 어렵다.
  • 기술 도입의 경제성은 답변 정확도뿐 아니라 색인 구축·맥락 생성 비용, 메모리, 질의 지연시간을 함께 비교해야 판단할 수 있다.
  • 고도화된 구조를 채택했다는 사실보다 실제 질문에서 얻는 개선이 중요하다. 강의에서도 상용·대규모 시스템이 속도와 처리 범위를 고려해 단순한 기법을 선호할 수 있다고 설명한다.
  • 운영 품질을 검토할 때는 오래된 문서, 접근해서는 안 되는 정보의 검색, 상충하는 근거, 검색 문서를 통한 공격에 대한 대응을 확인해야 한다.

⚠️ 불확실하거나 확인이 필요한 부분

  • 초기 RAG·DPR·ColBERT·Search-R1의 성능 비교는 강의에 제시된 실험 조건에 한정된다. 데이터셋, 학습 규모, 비교 모델이 다른 실제 환경에서 같은 우위를 보장하지 않는다.
  • 맥락 보강의 검색 실패 수치와 청크 크기·중첩 비율은 참고 사례다. 자체 데이터에서의 개선 폭과 적정 설정은 별도 평가가 필요하다.
  • Search-R1의 실행 예시는 검색 문단이 잘려 있어 세부 과정을 모두 확인하기 어렵다. HNSW의 탐색 이동이 log n 수준이라는 설명도 모든 구현과 데이터에 대한 성능 보장으로 확대해서는 안 된다.
  • 자막 기반 정리: 타임스탬프가 있는 자막을 기준으로 정리했으며, 고유명사·수치·인용은 원문 확인 필요 시 별도 검증한다.
  • 영상 속 주장: 발표자의 해석·전망·비교는 확인된 외부 사실이 아니라 영상 속 주장으로 분리해 읽는다.
  • 검증 필요: 수치, 기업 실적, 정책·시장 전망은 발행 전 최신 자료로 별도 검증이 필요하다.

✅ 액션 아이템

  • 수행할 작업, 연구 질문, 데이터 출처·접근 범위, 성공 기준을 먼저 정의하고 평가용 질의와 정답 근거를 확보한다.
  • BM25·밀집 검색·하이브리드 검색을 같은 질의 집합에서 비교하고, Hit@K·Recall@K와 NDCG@K·MRR로 정답 포함 여부와 순위 품질을 구분해 측정한다.
  • 청크 크기·중첩·의미 기반 분할을 비교하고, 회사명·시점처럼 청크에서 빠지기 쉬운 맥락이 보존되는지 점검한다.
  • 기본 RAG를 기준선으로 두고 맥락 보강·재순위화·반복 검색을 추가했을 때의 답변 품질, 지연시간, 메모리, 비용 변화를 기록한다.

❓ 열린 질문

  • 대상 데이터에서 정확한 용어 일치와 의미적 바꿔 쓰기 중 어느 쪽이 더 중요하며, 하이브리드 검색이 각각의 검색기보다 얼마나 개선되는가?
  • 맥락 보강, late chunking, 요약 트리, Graph RAG 가운데 실제 질문 수준에 필요한 구조는 무엇이며 추가 비용은 어느 정도인가?
  • 에이전트는 어떤 기준으로 검색을 시작하고 멈춰야 하며, 반복 검색이 답변 개선보다 오류 누적을 키우는 조건은 무엇인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.