RAG는 LLM 파라미터 내부 지식에만 의존하지 않고, 외부 문서 검색 결과를 Context로 주입해 최신성, 근거성, 도메인 특화성을 높이는 생성 방식이다. RAG의 주요 구성요소로는 Document Loader, Text Splitter, Embedding Model, Vector Store, Retriever, Generator가 있다. RAG 시스템을 구축하기 위한 파이프라인 작업에서 LangChain은 LLM 애플리케이션을 만들기 위한 조립식 프레임워크로 작동한다.
LangChain이란 LLM, 프롬프트, 외부 도구, 문서 검색, 벡터 DB, 메모리, 에이전트를 연결해서 실제 서비스형 AI 시스템을 만들게 해주는 도구상자이다.
- LLM / Chat Model
실제 답변을 생성하는 모델 호출
- Prompt Template
LLM에게 줄 지시문 양식을 만드는 구성요소
- Chain / Runnable
여러 단계를 하나의 파이프라인으로 묶는 구조
- Tool
LLM이 사용할 수 있는 외부 기능(검색 도구, 계산기, DB 조회, API 호출, 파일 읽기 등)
- Agent
LLM이 스스로 판단해서 도구를 고르고 사용하는 구조
Language Model과 Tools를 결합해 어떤 도구를 쓸지 판단하고 반복적으로 작업을 수행하는 시스템
RAG 시스템에서 Agent는 단순히 검색해서 답변하는 파이프라인을 넘어서 LLM이 스스로 판단해서 필요한 도구를 선택하고 실행하는 구조이다. 이를 Agentic RAG라고 하는데, LLM이 검색할지말지, 어디서 검색할지, 몇 번 검색할지, 추가 도구를 쓸지 판단하는 RAG라고 할 수 있다.
Agentic RAG 주요 구성요소와 역할은 다음과 같다.
- Document Loader
외부 문서(PDF, TXT, CSV, HTML 등)를 불러와 표준화된 객체로 반환하는 구성요소
- Text Splitter
긴 문서를 작은 chunk로 나누는 구성요소
- Embedding Model
문서 chunk와 사용자 질문을 벡터로 바꾸는 모델
- Vector Store
임베딩된 문서 chunk를 저장하고 검색하는 데이터베이스
- Retriever
사용자 질문과 관련있는 chunk를 꺼내오는 검색기
- Prompt Template
검색된 문서를 LLM에게 어떤 형식으로 줄지 정하는 구성요소
- LLM / Chat Model
검색된 문서를 바탕으로 최종 답변을 생성하는 모델
- Output Parser
LLM의 출력을 원하는 형태로 정리하는 구성요소
- Memory / Chat History
대화형 RAG에서 필요한 구성요소로, 후속 질문을 이해하기 위한 대화 기억장치
- Reranker
1차 검색 결과를 다시 정렬하는 단계
Agent는 단순한 검색-생성 구조를 넘어서 질문을 해석하고, 적절한 전략을 스스로 선택하며, 필요한 작업을 단계적으로 수행할 수 있는 유연한 실행 엔진이라고 할 수 있다. Agent가 들어가면 RAG 시스템은 훨씬 더 복잡한 질의에도 유연하게 대응할 수 있다.