기본 RAG를 넘어: 주체적 검색의 부상
발행: (2026년 5월 14일 AM 05:03 GMT+9)
3 분 소요
원문: Dev.to
출처: Dev.to
단순 RAG의 문제점
- 컨텍스트 과다 – 관련 없는 조각들을 프롬프트에 강제로 넣으면 토큰을 소모하고 모델을 혼란스럽게 합니다.
- 고정된 전략 – 단일 벡터 유사도 검색만으로는 복잡하고 다단계 추론 요구를 거의 포착하지 못합니다.
- 환각 지속 – 검색이 정확한 답을 찾지 못하면 모델이 모른다고 인정하기보다 추측하는 경우가 많습니다.
에이전시 검색 (Agentic RAG)
Agentic RAG는 검색 시스템을 정적인 파이프라인에서 자율적인 에이전트로 전환합니다. 하드코딩된 스크립트 대신 LLM이 오케스트레이터 역할을 하며 다음을 결정합니다:
- 검색을 할 필요가 있는가?
- 벡터 데이터베이스, SQL 테이블, 혹은 웹을 탐색해야 할까?
- 충분한 정보를 얻었는가, 아니면 쿼리를 다듬어야 하는가?
결정 흐름
- 쿼리 상태를 초기화한다.
- 답변이 준비될 때까지 LLM이 행동을 선택하도록 한다.
- 행동이 SEARCH이면 적절한 도구(벡터 검색, SQL, 웹 브라우징 등)를 호출하고 결과로 상태를 업데이트한다.
- 행동이 ANSWER이면 최종 응답을 생성하고 종료한다.
예시 구현
def agentic_rag(query, tools):
state = initialize_state(query)
while not state.answered:
action = llm.decide_action(state)
if action == "SEARCH":
result = tools.vector_search(state.query)
state.update(result)
elif action == "ANSWER":
return llm.generate_final_response(state)
return state.final_answer
도구 및 생태계
- LangGraph – 그래프 구조의 에이전시 워크플로우 구축을 가능하게 합니다.
- LlamaIndex Agents – 여러 데이터 소스와 상호작용할 수 있는 자체 교정 검색 에이전트를 위한 프레임워크를 제공합니다.
앞으로의 전망
기업 AI의 미래는 단순히 더 큰 모델이 아니라, 더 똑똑하고 자율적인 검색 루프입니다. 여러분의 RAG 파이프라인을 평가해 보세요: 단순히 데이터를 가져오는 수준인가, 아니면 데이터가 어디에 존재하는지에 대해 추론하고 있는가?