에이전틱 검색은 AI 에이전트가 질문을 잘게 나누어 여러 번 검색하고, 찾은 내용이 충분한지 판단해 언제 멈출지도 스스로 정하는 반복 검색 방식이다. 한 번 찾고 끝나는 일반 RAG와 달리, 문서 한 조각으로는 답이 안 나오는 여러 단계짜리 질문이나 자주 바뀌는 정보를 찾을 때 쓴다.
| 구분 | 일반 RAG·시맨틱 검색 | 에이전틱 검색 |
|---|---|---|
| 검색 횟수 | 한 번 (비슷한 문단 상위 몇 개) | 필요한 만큼 반복 |
| 결과가 엉뚱할 때 | 그 결과로 답할 수밖에 없다 | 검색어를 바꿔 다시 찾는다 |
| 잘 맞는 곳 | 자주 안 바뀌는 사내 문서 | 수시로 바뀌는 웹, 여러 단계짜리 질문 |
검색은 미리 정해 둔 사전 단계가 아니다. 모델이 생각하다가 필요할 때 직접 꺼내 쓰는 행동이다. Mistral의 Agentic Search는 파일을 다루듯 쓰는 다섯 가지 도구를 준다.
| 도구 | 하는 일 |
|---|---|
search | 인덱스에서 관련 문서 찾기 |
open / navigate | 문서를 열고 원하는 페이지·섹션으로 이동 |
read | 그 위치의 내용 읽기 |
grep | 열린 문서 안에서 단어·패턴 찾기 |
수백 쪽짜리 재무 보고서에서 표 하나만 필요하다면, 문서 전체를 넣지 않고 해당 섹션으로 바로 찾아가 확인하면 된다. 이렇게 문서 안을 이동하는 도구를 주면 정확도가 오르고, 토큰과 대기 시간은 오히려 줄었다고 한다.
OpenSearch 3.2부터 agentic 쿼리를 쓸 수 있다. query_text에 "List all the flowers present" 같은 질문을 넣으면, 에이전트가 QueryPlanningTool로 인덱스 구조를 확인하고 LLM이 만든 DSL 쿼리를 실행한다. 쿼리 문법을 몰라도 인덱스를 검색할 수 있다. 웹이 대상일 때는 미리 만든 인덱스 없이 그때그때 검색하므로, 최근에 바뀐 내용까지 읽을 수 있다.
에이전틱 RAG는 언제 검색할지, 결과를 믿을지, 답을 어떻게 만들지까지 아우르는 전체 시스템이다. 에이전틱 검색은 그 가운데 검색을 반복하는 부분만 뜻한다. 기존 RAG를 버릴 필요는 없다. 자주 안 바뀌는 문서는 인덱스 검색으로 빠르고 싸게 처리하고, 바뀌는 정보나 여러 단계짜리 질문만 에이전틱 검색에 맡기면 된다. 이때 키워드·벡터 검색은 에이전트가 쓰는 도구로 그대로 둔다.
검색을 반복하면 턴 수와 토큰, 기다리는 시간이 늘어난다. 검색을 무작정 늘리기보다 문서 안을 정확히 짚는 도구를 줘서 같은 검색을 되풀이하지 않게 하는 게 중요하다. 맞는 문서를 찾아도 LLM이 틀린 답을 낼 수 있다. 그래서 시스템 프롬프트와 가드레일로 답이 데이터에 근거하게 묶어 두고 응답을 계속 지켜봐야 한다. 어떤 도구 조합과 멈춤 기준이 좋은지는 직접 평가해 보면서 정해야 한다.
가장 흔한 쓰임은 여러 번 찾아봐야 답이 나오는 조사다. 한 번 검색으로 끝나는 질문은 일반 검색에 두고, 질문을 쪼개거나 문서 안을 오가야 하는 일만 에이전트에게 맡긴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 웹 리서치 | 질문을 하위 질문으로 나눠 여러 번 웹 검색하고, 최근 내용을 읽어 출처와 함께 정리 |
| 긴 문서 분석 | 보고서·계약서 전체를 넣지 않고 필요한 섹션으로 이동해 표나 조항만 확인 |
| 코딩 에이전트 | grep과 파일 열기로 코드베이스를 직접 뒤져 고칠 위치를 찾는다 |
| 사내 데이터 검색 | OpenSearch agentic 쿼리처럼 자연어 질문을 넣으면 에이전트가 쿼리를 만들어 실행 |