계층적 검색 인터페이스로 확장하는 에이전트형 RAG
초록
A‑RAG는 키워드 검색, 의미 검색, 청크 읽기라는 세 가지 도구를 계층적으로 제공해 LLM이 직접 검색 전략을 선택·조정하도록 설계된 에이전트형 RAG 프레임워크이다. 다중 단계의 질문에 대해 기존 단일‑샷 또는 고정 워크플로우 방식보다 적은 토큰을 사용하면서도 정확도가 크게 향상된다. 또한 모델 크기와 테스트‑타임 연산량에 따라 성능이 꾸준히 상승함을 실험적으로 입증한다.
상세 분석
A‑RAG는 기존 RAG 패러다임의 두 가지 한계를 극복한다. 첫 번째는 “한 번에 다량의 패시지를 검색해 입력에 붙이는” 방식으로, LLM이 검색 과정에 참여하지 못해 모델이 가진 추론·도구 사용 능력을 활용하지 못한다. 두 번째는 “사전 정의된 워크플로우를 단계별로 실행하도록 프롬프팅하는” 방식으로, 질문마다 최적의 전략을 스스로 선택하거나 언제 검색을 멈출지 판단할 수 없다. A‑RAG는 이러한 제약을 없애기 위해 LLM에게 직접 호출 가능한 세 가지 검색 도구를 노출한다.
① Keyword Search는 런타임에 정확한 문자열 매칭을 수행해 키워드가 포함된 청크를 빠르게 찾아낸다. 키워드 길이에 가중치를 두어 구체성을 반영하고, 매칭된 청크에서 키워드가 포함된 문장을 추출해 스니펫 형태로 반환한다. 이는 초기에 후보 영역을 좁히는 “필터링” 단계로 작동한다.
② Semantic Search는 사전 학습된 문장 임베딩(Qwen3‑Embedding‑0.6B)을 이용해 질의와 의미적으로 유사한 문장을 코사인 유사도로 정렬한다. 가장 높은 점수를 받은 문장을 포함하는 청크를 상위 k개 반환하고, 해당 문장을 스니펫으로 제공한다. 이는 의미적 연관성을 포착해 보다 정교한 검색을 가능하게 한다.
③ Chunk Read는 앞선 두 도구가 반환한 스니펫을 바탕으로 전체 청크 텍스트를 읽어 들인다. 이미 읽은 청크는 “already read” 메시지만 반환해 중복 토큰 소모를 방지한다. 또한 인접 청크까지 확장해 컨텍스트를 보강할 수 있다.
이 세 도구는 “키워드 → 의미 → 청크”라는 점진적 세분화 흐름을 제공하지만, 에이전트는 자유롭게 순서를 바꾸거나 반복 호출할 수 있다. A‑RAG는 ReAct와 유사한 간단한 에이전트 루프를 채택해, 매 단계마다 “생각(Reason) → 도구 호출(Action) → 관찰(Observation)”을 반복한다. 최대 반복 횟수와 컨텍스트 트래커를 통해 불필요한 재검색을 억제한다.
실험에서는 HotpotQA, 2WikiMultiHopQA, MuSiQue, GraphRAG‑Bench 네 가지 멀티‑홉 QA 벤치마크에 GPT‑4o‑mini와 GPT‑5‑mini를 백본으로 사용했다. A‑RAG(Full)는 전체 도구 세트를, A‑RAG(Naive)는 의미 검색 하나만 사용한 변형으로 비교했다. 결과는 LLM‑Acc와 Cont‑Acc 두 지표에서 기존 Graph‑RAG, Workflow‑RAG, Naïve‑RAG 등을 모두 앞섰으며, 특히 토큰 사용량을 동일하거나 낮게 유지하면서도 정확도가 5~10%p 상승했다.
스케일링 분석에서는 모델 파라미터 수와 테스트‑타임 연산량을 늘릴수록 성능이 선형에 가깝게 상승함을 확인했다. 이는 계층적 인터페이스가 모델의 추론 능력을 직접 활용하도록 설계됐기 때문에, 모델이 더 강력해질수록 검색 전략 자체도 더 정교해진다는 점을 시사한다.
한계점으로는 현재 키워드 검색이 정확히 일치하는 문자열에 의존해 복합어나 변형 형태에 취약할 수 있다는 점, 그리고 청크 크기(≈1,000 토큰)와 k값이 고정돼 있어 매우 긴 문서나 초대형 코퍼스에선 추가 최적화가 필요하다는 점을 들 수 있다. 향후 연구에서는 동적 청크 분할, 다중 모달 검색, 그리고 강화학습 기반 도구 선택 정책을 도입해 더욱 일반화된 에이전트형 RAG를 구현하고자 한다.
댓글 및 학술 토론
Loading comments...
의견 남기기