RAG(검색 증강 생성): 정의와 작동 원리

RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 언어 모델이 응답을 생성하기 전에 먼저 문서 데이터베이스에서 검색하도록 하는 방식입니다.

Atako 에이전트가 작성 · 검토·승인자 Romain Laodicina · Atako CTO

간단한 정의

RAG(검색 증강 생성)는 문서 검색 엔진과 언어 모델을 결합한 방법입니다. 응답하기 전에 모델이 외부 데이터베이스에서 관련 구절을 찾은 뒤, 그 구절을 바탕으로 응답을 생성합니다. 이렇게 하면 지어낸 내용을 줄이고 최신 정보나 기업 내부 정보를 활용할 수 있습니다.

RAG는 도구 호출, 지속적인 기억과 함께 오늘날 자율 AI 에이전트를 뒷받침하는 기술적 요소 중 하나입니다. 이 약어는 패트릭 루이스를 필두로 한 페이스북 AI 리서치(현 메타) 팀이 2020년 5월 발표한 연구 논문에서 나왔습니다. 당시의 문제의식은 단순했습니다. 거대 언어 모델은 파라미터 안에 방대한 지식을 저장하고 있지만, 이를 쉽게 업데이트하지도, 정확한 출처를 가리키지도 못한다는 것이었습니다. RAG는 모델이 학습 시점에 고정된 기억에만 의존하는 대신, 응답하는 순간 외부 데이터베이스에서 정보를 찾아오도록 하는 해결책을 제시합니다.

상세 정의

Retrieval-Augmented Generation, 즉 검색 증강 생성은 두 가지 요소를 결합한 아키텍처를 가리킵니다. 외부 문서 데이터베이스에서 관련 구절을 찾는 검색(retrieval) 메커니즘과, 그 구절을 바탕으로 최종 응답을 작성하는 텍스트 생성 모델입니다. 루이스와 공동 저자들의 원조 논문(NeurIPS 2020)에서 RAG는 파라미터 기억(사전 학습된 모델의 내부 지식)과 비파라미터 기억(즉시 조회하는 문서 데이터베이스)을 결합해, 정확한 지식을 요구하는 작업의 성능을 높입니다.

이 정의에 대한 합의는 폭넓습니다. 학술 문헌이든 엔비디아의 대중적인 설명 같은 자료든, RAG는 항상 검색 후 생성이라는 같은 두 단계 메커니즘으로 귀결됩니다. 견해 차이는 주로 기술적인 구현(벡터 데이터베이스 종류, 문서 분할 방식, 검색되는 구절 수)에 있지, 원칙 자체의 정의에 있지 않습니다.

RAG는 언어 모델의 잘 알려진 두 가지 한계에 대응합니다. 모델이 그럴듯하지만 틀린 답을 지어내는 환각과, 모델의 학습 시점 이후로 정보가 바뀐 노후화입니다. 실제 최신 문서에 생성을 근거하게 함으로써, RAG는 모델을 재학습시키지 않고도 이 두 문제를 줄여줍니다.

작동 원리

일반적인 RAG 요청은 세 단계를 따릅니다. 먼저 사용자의 질문(또는 에이전트의 필요)이 문서 데이터베이스 검색으로 변환됩니다. 대개 텍스트의 벡터 표현에 대한 유사도 검색을 사용하며, 때로는 전통적인 키워드 검색과 결합하기도 합니다. 다음으로, 이 검색에서 가장 관련성 높은 구절들이 최초 질문과 함께 언어 모델에 전달되는 맥락에 삽입됩니다. 마지막으로 모델은 즉흥적으로 답하는 대신 이 구절들을 인용하거나 그 내용에 맞춰, 이를 바탕으로 응답을 생성합니다.

이런 메커니즘은 자율 AI 에이전트의 활용에 잘 맞습니다. 문서 검색은 매 응답 전에 자동으로 실행되는 대신, 에이전트가 필요하다고 판단하는 순간 스스로 호출하는 도구로 노출될 수 있습니다. 이것이 매 요청 앞단에 고정적으로 연결된 '정적' RAG와, 모델이 언제 검색할지, 무엇을 검색할지, 첫 결과가 부족하면 다시 검색할지를 스스로 판단하는 '에이전틱' RAG의 차이입니다.

아타코의 실제 사례

아타코의 공개 문서는 에이전트가 사용하는 문서 검색의 내부 아키텍처를 상세히 다루지 않으므로, 아타코가 루이스 등의 논문이 정의한 엄밀한 의미의 RAG를 사용한다고 여기서 단정할 수는 없습니다. 반면 가장 가까운 메커니즘은 문서화되어 있습니다. 모든 에이전트는 기업이 공유하는 파일 라이브러리를 갖고 있으며, 폴더로 정리되어 있고 미리보기가 가능한 형식(Markdown, CSV, JSON, PDF, HTML, 이미지, 텍스트, 소스 코드)을 지원합니다. 이런 파일들은 사람이나 에이전트 스스로에 의해 읽기 권한으로 에이전트와 공유되거나, 에이전트 전용 폴더에 직접 추가될 수 있습니다.

이 파일 라이브러리는 재시작과 일시 중지를 견디는 에이전트의 지속적인 기억과 결합되어, 에이전트가 응답하거나 행동하기 전에 참고할 수 있는 외부 지식 베이스 역할을 합니다. 이는 RAG의 원칙, 즉 모델이 학습 시점에 기억한 내용에만 의존하는 대신 실제 정보를 찾아온다는 취지와 맞닿아 있습니다. 예를 들어 고객 지원용으로 설정된 에이전트는 답을 추측하는 대신, 티켓에 답하기 전에 자신의 폴더에 공유된 제품 문서 파일을 참고할 수 있습니다.

흔한 오해

첫 번째로 흔한 오해는 RAG를 소프트웨어의 버튼처럼 클릭 한 번으로 켤 수 있는 기능이라고 생각하는 것입니다. 실제로는 하나의 아키텍처이며, 문서를 어떻게 나누고, 어떻게 인덱싱하고, 몇 개의 구절을 가져올지 같은 구체적인 기술적 선택이 응답의 품질을 직접적으로 좌우합니다.

두 번째 오해는 RAG가 환각을 완전히 없애준다고 생각하는 것입니다. 검증 가능한 문서에 생성을 근거하게 함으로써 환각을 줄여주지만, 모델이 여전히 구절을 잘못 해석하거나, 불완전한 검색이 가져온 관련 없는 문서로 응답을 생성할 수 있습니다. RAG는 위험을 옮길 뿐, 없애지는 않습니다.

세 번째 오해는 RAG와 파인튜닝을 혼동하는 것입니다. 파인튜닝은 특정 데이터로 재학습시켜 모델을 영구적으로 변경합니다. RAG는 모델을 그대로 두고 매 요청마다 조회하는 외부 데이터베이스를 더하는 방식으로, 업데이트가 더 빠르고 대개 비용도 덜 듭니다.

마지막으로, 문서 데이터베이스의 품질이 얼마나 중요한지 과소평가하는 것도 흔한 실수입니다. 오래되었거나, 구조가 엉성하거나, 불완전한 문서에 연결된 RAG 시스템은 뒤에서 아무리 강력한 생성 모델을 사용해도 품질이 낮은 응답을 내놓습니다.

관련 용어

자주 묻는 질문

인공지능에서 RAG는 무슨 뜻인가요?

RAG는 Retrieval-Augmented Generation, 즉 검색 증강 생성의 약자입니다. 언어 모델이 학습 과정에서 익힌 내용만으로 답하는 대신, 응답을 작성하기 전에 관련 문서를 먼저 검색하도록 하는 방식입니다.

왜 모델 단독보다 RAG를 사용하나요?

모델 단독으로는 학습 시점에 기억한 내용으로 답하며, 이는 기업 고유의 주제에 대해서는 오래되었거나 불완전할 수 있습니다. RAG는 최신 데이터베이스를 검색하는 단계를 추가해, 지어낸 응답을 줄이고 구체적이고 검증 가능한 출처를 인용할 수 있게 합니다.

RAG는 AI 모델의 환각을 완전히 없애주나요?

아닙니다. 완전히 없애는 것이 아니라 줄여줍니다. 문서 검색이 관련 없는 구절을 가져오거나 모델이 이를 잘못 해석하면 여전히 부정확한 답변이 나올 수 있습니다. RAG는 응답을 출처에 근거하게 함으로써 신뢰성을 높이지만, 절대적인 보장은 아닙니다.

RAG와 모델 파인튜닝은 어떻게 다른가요?

파인튜닝은 특정 데이터로 모델을 재학습시켜 내부 파라미터를 바꾸는 방식으로, 비용이 많이 들고 지식이 학습 시점에 고정됩니다. RAG는 모델을 그대로 두고 매 요청마다 조회하는 외부 문서 데이터베이스를 더하는 방식으로, 모델을 손대지 않고도 언제든 업데이트할 수 있습니다.

다음으로 읽을거리

출처

Romain Laodicina

Atako CTO

이 콘텐츠는 Atako의 AI 에이전트가 작성한 후, Atako CTO인 Romain Laodicina가 검토, 수정 및 승인했습니다.

첫 AI 에이전트를 배포하세요

무료로 계정을 만들고 코드 없이 몇 분 만에 에이전트를 실행하세요.

AI 트렌드에서 한 발 앞서세요.

제품 업데이트, 신규 에이전트, AI 분석 콘텐츠를 이메일로 바로 받아보세요. 스팸은 없으며 언제든 구독을 취소할 수 있습니다.