에이전틱 RAG는 기본 RAG처럼 한 번 검색하고 끝내지 않는다. AI 에이전트가 무엇을, 어디서, 몇 번 검색할지 스스로 정하고 결과까지 검증하는 방식이다. 결과가 부족하면 질문을 바꿔 다시 찾고 여러 자료를 비교하므로, 한 번 검색으로는 답이 나오지 않는 복잡한 질문에 쓴다.
| 항목 | 기본 RAG | 에이전틱 RAG |
|---|---|---|
| 검색 횟수 | 한 번 | 필요한 만큼 반복 |
| 검색어 | 사용자 질문 그대로 | 에이전트가 고쳐 쓰고 나눈다 |
| 자료 출처 | 미리 정한 하나 | 질문에 맞게 고른다 |
| 속도·비용 | 빠르고 싸다 | 느리고 비싸다 |
에이전트는 검색 앞뒤에서 판단을 내린다. 이 판단이 들어가야 한 번에 안 풀리는 질문도 풀 수 있다.
| 판단 | 하는 일 |
|---|---|
| 질문 다시 쓰기 | 모호한 질문을 검색하기 좋은 문장으로 바꾸거나 작은 질문 여러 개로 나눈다 |
| 출처 고르기 | 문서 DB, 웹, SQL 가운데 맞는 곳을 고른다 |
| 결과 평가 | 찾은 내용이 답이 되는지 보고, 모자라면 다시 검색한다 |
| 답 검증 | 답이 근거와 맞는지, 자료끼리 모순은 없는지 확인한다 |
핵심은 검색 기능을 에이전트가 부를 수 있는 도구로 등록하는 것이다. 문서 검색, 웹 검색 같은 도구를 만들고, 각 도구가 언제 쓰이는지 설명을 붙여 에이전트에게 준다. 에이전트는 이 설명을 보고 어떤 도구를 몇 번 부를지 스스로 정한다.
LlamaIndex의 RouterQueryEngine은 질문에 맞는 검색 엔진을 골라 준다. LangChain 계열에서는 에이전트에 검색 도구를 붙이거나 LangGraph로 "검색 → 평가 → 재검색" 흐름을 직접 짠다. 어느 쪽이든 검색 반복 횟수에 상한을 꼭 둔다.
예를 들어 법률 질문이 들어오면 관련 조항부터 찾고, 그것만으로 부족하면 판례로 검색을 넓힌다. 두 자료가 서로 어긋나면 다시 확인한 뒤 답한다. 반대로 FAQ처럼 한 번 찾으면 끝나는 질문에 쓰면 느리고 비싸기만 하다.
| 상황 | 추천 |
|---|---|
| 사내 FAQ, 단순 문서 조회 | 기본 RAG |
| 여러 자료를 비교하는 조사 | 에이전틱 RAG |
| 질문이 모호하거나 여러 단계를 거쳐야 할 때 | 에이전틱 RAG |
검색하고 판단할 때마다 모델을 다시 부르므로 응답이 느려지고 토큰 비용이 커진다. 판단이 틀리면 엉뚱한 방향으로 검색을 반복할 수도 있다. 반복 상한을 두고, 에이전트가 어떤 순서로 무엇을 검색했는지 로그로 남겨 확인하는 것이 좋다.
흔히 쓰는 방식은 기본 RAG를 그대로 두고 여러 번 찾아봐야 하는 질문만 에이전틱 RAG로 넘기는 것이다. 자료가 여러 곳에 흩어져 있거나 비교·확인이 필요한 장면에서 주로 쓴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 사내 문서 검색 | 위키, 규정집, 회의록 등 여러 문서 DB를 오가며 찾고, 서로 어긋나는 내용은 다시 확인해 답한다 |
| 리서치 어시스턴트 | 큰 질문을 작은 질문으로 나눠 웹 검색을 반복하고, 모은 자료를 비교해 근거와 함께 정리한다 |
| 데이터 질의 | 숫자는 SQL로, 배경 설명은 문서 검색으로 나눠 가져와 한 답으로 합친다 |
| 법률·규정 조사 | 조항부터 찾고 부족하면 판례·해석 자료로 검색을 넓힌다 |