상세 컨텐츠

본문 제목

RAG 시스템 'Agent' 개념 및 구현 방법

AI & Python Lab/Concept Notes

by 코딩은 내 여친 2026. 5. 2. 16:53

본문

반응형

최근 RAG 시스템은 단순한 검색 → 생성 구조를 넘어서,
스스로 판단하고 도구를 선택하는 Agent 기반 구조로 발전하고 있습니다.

특히 LangChain, LangGraph, LlamaIndex 같은 프레임워크에서는
Agent가 전체 RAG 흐름을 제어하는 핵심 컴포넌트 역할을 합니다.


Agent 기반 RAG 구조 한눈에 보기

 

 
 

핵심 차이:

  • 기존 RAG → 정해진 순서대로 동작 (Pipeline)
  • Agent 기반 RAG → 상황에 따라 스스로 행동을 결정

즉,

RAG는 정보를 가져오고, Agent는 어떻게 가져올지 결정한다


RAG에서 Agent란 무엇인가?

정의

Agent는 문제를 해결하기 위해

  • 어떤 작업을 할지 결정하고
  • 어떤 도구를 사용할지 선택하며
  • 필요하면 여러 단계를 반복 수행하는
    의사결정 중심 컴포넌트입니다.

예를 들어:

사용자 질문:

"우리 회사 매출 데이터를 분석해서 다음 분기 예측해줘"

 

Agent는 이렇게 판단합니다.

  1. DB 조회 필요
  2. 데이터 분석 필요
  3. 결과 요약 필요

그리고 실제로:

  • SQL 실행
  • Python 실행
  • 결과 요약

이 과정을 자동으로 수행합니다.

기존 RAG vs Agent 기반 RAG

구분 기존 RAG Agent 기반 RAG
구조 고정된 흐름 동적 결정
역할 검색 + 생성 계획 + 실행
판단 없음 있음
반복 실행 불가능 가능
도구 사용 제한적 자유롭게 선택

핵심 요약:

Agent는 "생각하고 행동하는 RAG"라고 보면 됩니다


RAG에서 Agent가 필요한 이유

이유 1 — 복잡한 질문 처리

"2023년 매출 감소 원인 분석하고 경쟁사와 비교해줘"

 

이건 한 번의 검색으로 해결 불가능합니다.

 

필요한 단계:

  1. 내부 데이터 검색
  2. 외부 데이터 검색
  3. 비교 분석
  4. 결과 생성

Agent는 이 과정을 단계적으로 계획할 수 있습니다.

연구에서도 복잡한 multi-step 질의에서는 여러 Agent가 협력하는 구조가 더 높은 정확도를 보였습니다.

이유 2 — Tool 사용 자동화

Agent는 다음과 같은 도구를 자동으로 선택할 수 있습니다.

  • Vector DB
  • Web Search
  • Calculator
  • Python
  • API
  • Database

LLM이 단순히 답변하는 것이 아니라
실제로 작업을 수행하는 시스템이 됩니다.

이유 3 — 반복적 개선 (Loop)

Agent는 필요하면 작업을 다시 수행할 수 있습니다.

  1. 검색
  2. 결과 확인
  3. 부족하면 재검색

이 구조는 정확도 개선에 매우 중요합니다.

실제로 Agent 기반 RAG는 계획, 도구 사용, 검증 반복을 통해 시스템 신뢰성을 높일 수 있습니다.


Agent의 핵심 구성 요소

Agent는 보통 다음 4가지 요소로 구성됩니다.

1) LLM — 판단 엔진

역할:

  • 무엇을 할지 결정
  • 다음 행동 선택

예:

  • 검색할지
  • 계산할지
  • 답변할지

한 줄 요약:

Agent의 두뇌

 

2) Tools — 실행 도구

  • Retriever
  • Web Search
  • Python
  • Database
  • API

Agent는 상황에 따라 도구를 선택합니다.

 

"현재 환율 알려줘"

 

Agent 행동:

→ Web Search 호출

3) Memory — 기억

역할:

  • 이전 대화 저장
  • 중간 결과 저장
  • 상태 관리

종류:

  • Short-term memory
  • Long-term memory

한 줄 요약:

Agent의 기억

4) Planning — 계획

역할:

  • 작업 순서 결정
  • 단계 분할

"논문 요약하고 주요 키워드 추출해줘"

 

Plan:

  1. 문서 읽기
  2. 요약 생성
  3. 키워드 추출

한 줄 요약:

Agent의 전략


RAG Agent는 실제로 어떻게 구현하는가?

여기서는 가장 대표적인 방법인
LangChain 기반 구현 흐름을 기준으로 설명합니다.

Step 1 — Tool 정의

def retrieve(query):
return vector_db.search(query)
 

즉,

검색 기능을 Tool로 등록합니다.

Step 2 — Agent 생성

from langchain.agents import create_agent

agent = create_agent(
model="gpt-4",
tools=[retrieve]
)
 

이렇게 생성된 Agent는 필요할 때 자동으로 검색 도구를 호출합니다.

LangChain 공식 문서에서도 Agent는 검색 도구를 실행해 RAG 흐름을 제어하는 오케스트레이터 역할을 한다고 설명합니다.

Step 3 — Agent 실행

response = agent.run(
"LangChain의 Agent 구조를 설명해줘"
)

 

이때 내부에서는:

  1. 질문 분석
  2. 검색 필요 여부 판단
  3. Tool 실행
  4. 답변 생성

이 과정이 자동으로 수행됩니다.


가장 많이 사용되는 Agent 구현 방식

1) Single Agent

구조:

User
→ Agent
→ Tools

특징:

  • 가장 단순
  • 구현 쉬움

2) Multi-Agent

구조:

User
→ Supervisor Agent
→ 여러 Agent

예:

  • Retrieval Agent
  • Analysis Agent
  • Summary Agent

특징:

  • 복잡한 작업에 적합
  • 확장성 높음

3) Agentic RAG (최신 트렌드)

구조:

User
→ Agent
→ 반복 검색 + 검증

특징:

  • 기존 RAG보다 정확도 높음
  • 복잡한 질의 처리 가능

정리

Agent 정의

Agent는 문제 해결을 위해 스스로 계획하고, 도구를 선택하고, 작업을 실행하는 시스템이다

Agent 역할

  1. 작업 계획 (Planning)
  2. 도구 선택 (Tool selection)
  3. 작업 실행 (Action)
  4. 결과 검증 (Loop)

Agent 구현 핵심

  1. Tool 정의
  2. Agent 생성
  3. Agent 실행

RAG는 정보를 찾고, Agent는 문제를 해결한다

반응형

관련글 더보기