LangChain vs LlamaIndex 2026 비교 LLM 애플리케이션 개발의 핵심 두 프레임워크: LangChain과 LlamaIndex (출처: Unsplash)


들어가며

2022년 말, 두 개의 오픈소스 프레임워크가 거의 동시에 등장했다. 하나는 해리슨 체이스(Harrison Chase)가 만든 LangChain(2022년 10월), 다른 하나는 제리 류(Jerry Liu)가 창업한 LlamaIndex(당시 GPT Index, 2022년 11월)였다. 이 두 프레임워크는 이후 3년간 LLM 애플리케이션 개발 생태계의 표준이 됐고, 지금도 전 세계 AI 개발자의 절반 이상이 둘 중 하나 — 혹은 둘 다 — 를 사용하고 있다.

2026년 4월 기준, GitHub Stars는 LangChain 100k+, LlamaIndex **40k+**를 기록 중이다. 두 프레임워크 모두 유니콘 스타트업으로 성장했으며, LangChain은 시리즈 B $25M, LlamaIndex는 시리즈 A $70M 규모의 투자를 유치했다.

"LangChain은 LLM을 위한 스위스 아미 나이프다. LlamaIndex는 당신의 데이터와 LLM을 연결하는 가장 똑똑한 파이프다." — Towards Data Science, 2025 연간 리뷰

두 도구는 표면적으로는 경쟁자처럼 보이지만, 실제로는 서로 다른 문제를 해결하기 위해 설계됐다. 이 차이를 이해하는 것이 올바른 선택의 출발점이다.

TL;DR

LangChain은 LLM 에이전트·도구 통합·챗봇에 강하고, LlamaIndex는 RAG 파이프라인·문서 검색·멀티모달 인덱싱에 특화돼 있다. RAG 정확도가 최우선이면 LlamaIndex, 다양한 도구·API와 에이전트를 조합해야 하면 LangChain을 선택하라. 두 프레임워크는 함께 쓰는 것도 가능하다.

105,000+
LangChain GitHub Stars
42,000+
LlamaIndex GitHub Stars
250만+
LangChain 주간 PyPI 다운로드
200+
LlamaHub 데이터 로더
85,000+
LangChain Discord 멤버
$70M
LlamaIndex 누적 투자

두 프레임워크의 탄생 배경과 역사

LangChain: 범용 LLM 오케스트레이션의 탄생 (2022.10)

LangChain은 해리슨 체이스가 Robust Intelligence에 재직하던 시절, LLM을 다양한 도구·API·데이터 소스와 연결하는 과정의 반복적인 복잡성을 해결하기 위해 만든 라이브러리에서 시작됐다. 초기 슬로건은 "LLM을 중심으로 한 애플리케이션 구축을 위한 프레임워크"였다.

연도 주요 이정표
2022.10 GitHub 공개 (초기 버전 0.0.x)
2023.03 LangChain Inc. 창업, 시드 투자 $10M
2023.07 LangSmith (디버깅·모니터링 플랫폼) 출시
2024.01 LangGraph 공개 (스테이트풀 멀티에이전트)
2024.06 LangChain v0.2 — 아키텍처 전면 개편
2025.02 LangChain v0.3 + LangGraph Cloud 출시
2026.01 LangChain v1.0 정식 출시, GitHub Stars 100k 돌파

LlamaIndex: 데이터 연결과 RAG 특화 (2022.11)

GPT Index라는 이름으로 시작한 LlamaIndex는 제리 류가 GPT-3로 자신의 문서를 검색하는 개인 프로젝트에서 출발했다. 비정형 데이터(PDF, 코드, 데이터베이스 등)와 LLM을 연결하는 **데이터 인덱싱과 검색 증강 생성(RAG)**에 처음부터 집중했다.

연도 주요 이정표
2022.11 GPT Index로 GitHub 공개
2023.01 LlamaIndex로 브랜드 변경
2023.04 LlamaHub (데이터 로더 허브) 출시
2024.03 LlamaIndex Workflows (이벤트 기반 에이전트) 출시
2024.09 LlamaCloud (엔터프라이즈 관리형 파이프라인) 출시
2025.06 LlamaIndex v0.12 — 멀티모달 RAG 지원
2026.02 LlamaIndex 2.0 — 완전한 비동기 아키텍처

철학과 설계 목표의 차이

두 프레임워크의 근본적인 차이는 무엇을 추상화하느냐에 있다.

LangChain의 철학: "LLM을 중심으로 모든 것을 연결한다." Chain(체인)이라는 개념을 통해 LLM 호출, 도구 실행, 메모리 관리, 외부 API 호출을 순서대로 연결하는 오케스트레이션이 핵심이다. 범용성이 강점이며, 챗봇·에이전트·RAG·요약 등 거의 모든 LLM 태스크에 적용 가능하다.

LlamaIndex의 철학: "당신의 데이터와 LLM 사이의 가장 똑똑한 브릿지를 만든다." 데이터 수집(Ingestion), 인덱싱(Indexing), 검색(Retrieval), 후처리(Post-processing) 파이프라인 최적화에 집중한다. RAG 성능이 핵심이며, 엔터프라이즈 데이터를 LLM에 연결하는 시나리오에서 두드러진다.

LangChain의 핵심 강점
100개 이상의 LLM 프로바이더, 풍부한 내장 Tool, LangGraph 멀티에이전트, LangSmith 옵저버빌리티까지 — LLM 에이전트와 챗봇을 빠르게 구축해야 한다면 LangChain의 방대한 에코시스템이 최대 자산이다. Discord 멤버 85,000+의 활발한 커뮤니티도 강점.

핵심 기능 비교표 (20개 항목)

기능 LangChain v1.0 LlamaIndex 2.0 비고
RAG 파이프라인 ★★★★☆ ★★★★★ LlamaIndex가 더 정교한 검색 전략 제공
에이전트 (ReAct) ★★★★★ ★★★★☆ LangChain이 더 다양한 에이전트 패턴
멀티에이전트 ★★★★★ (LangGraph) ★★★★☆ (Workflows) LangGraph가 더 성숙한 그래프 기반 구조
도구(Tool) 통합 ★★★★★ ★★★☆☆ LangChain이 압도적으로 많은 내장 도구
벡터 스토어 지원 ★★★★☆ (50+) ★★★★★ (70+) LlamaIndex가 더 많은 벡터DB 지원
문서 로더 ★★★★☆ ★★★★★ (LlamaHub) LlamaHub에 200+ 로더
스트리밍 ★★★★★ ★★★★☆ LangChain이 더 안정적인 스트리밍
비동기 지원 ★★★★☆ ★★★★★ LlamaIndex 2.0이 완전 비동기
메모리 관리 ★★★★★ ★★★☆☆ LangChain이 다양한 메모리 전략
하이브리드 검색 ★★★☆☆ ★★★★★ LlamaIndex가 Dense+Sparse 하이브리드 검색 특화
재순위화 (Reranking) ★★★☆☆ ★★★★★ LlamaIndex의 핵심 강점
평가 (Evaluation) ★★★★☆ (LangSmith) ★★★★★ (Ragas 연동) 별도 플랫폼 vs 내장 평가
프롬프트 관리 ★★★★★ ★★★☆☆ LangChain의 PromptTemplate이 더 유연
모델 지원 ★★★★★ (100+) ★★★★☆ (50+) LangChain이 더 많은 LLM 지원
멀티모달 RAG ★★★☆☆ ★★★★★ LlamaIndex의 2025년 핵심 업데이트
학습 곡선 ★★★☆☆ (복잡) ★★★★☆ (직관적) LlamaIndex가 진입 장벽 낮음
문서화 품질 ★★★★☆ ★★★★★ LlamaIndex 문서가 더 체계적
엔터프라이즈 지원 ★★★★☆ (LangSmith) ★★★★★ (LlamaCloud) 둘 다 유료 플랫폼 제공
테스트 용이성 ★★★☆☆ ★★★★☆ LlamaIndex가 모킹·테스트 구조 우수
커뮤니티 활성도 ★★★★★ ★★★★☆ LangChain이 Discord·GitHub 더 활발
LlamaIndex의 핵심 강점
하이브리드 검색(Dense+Sparse), 재순위화(Reranking), 멀티모달 RAG, 70개 이상의 벡터 스토어 지원, LlamaHub의 200+ 데이터 로더 — RAG 품질이 비즈니스 결과에 직결되는 엔터프라이즈 환경이라면 LlamaIndex가 명확한 우위를 갖는다. RAGAS Faithfulness 0.87로 LangChain(0.81)을 일관되게 앞선다.

실제 코드 비교 — 동일 RAG 태스크 구현

두 프레임워크로 동일한 시나리오를 구현해보자: PDF 문서를 로드하고, 벡터 인덱스를 생성하고, 사용자 질문에 답변하는 RAG 파이프라인.

LangChain으로 RAG 구현

# requirements: langchain>=1.0.0, langchain-openai, langchain-chroma, pypdf

from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_chroma import Chroma
from langchain.chains import RetrievalQA
from langchain.prompts import PromptTemplate

# 1. 문서 로드
loader = PyPDFLoader("company_report.pdf")
documents = loader.load()

# 2. 텍스트 청킹
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200,
    separators=["\n\n", "\n", ".", " "]
)
chunks = splitter.split_documents(documents)
print(f"총 {len(chunks)}개 청크 생성")

# 3. 벡터 스토어 생성 (ChromaDB)
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vectorstore = Chroma.from_documents(
    documents=chunks,
    embedding=embeddings,
    collection_name="company_docs"
)

# 4. 커스텀 프롬프트 템플릿
prompt_template = """당신은 회사 문서 전문 어시스턴트입니다.
주어진 문서 맥락만을 사용해 질문에 답변하세요.
모르는 경우 "문서에서 해당 정보를 찾을 수 없습니다"라고 말하세요.

맥락: {context}

질문: {question}

답변:"""

PROMPT = PromptTemplate(
    template=prompt_template,
    input_variables=["context", "question"]
)

# 5. RetrievalQA 체인 구성
llm = ChatOpenAI(model="gpt-4o", temperature=0)
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=vectorstore.as_retriever(
        search_type="mmr",       # Maximum Marginal Relevance
        search_kwargs={"k": 5, "fetch_k": 20}
    ),
    chain_type_kwargs={"prompt": PROMPT},
    return_source_documents=True
)

# 6. 쿼리 실행
result = qa_chain.invoke({"query": "2025년 매출 목표는 얼마인가요?"})
print("답변:", result["result"])
print("\n출처 문서:")
for doc in result["source_documents"]:
    print(f"  - 페이지 {doc.metadata['page']}: {doc.page_content[:100]}...")

LlamaIndex로 동일 RAG 구현

# requirements: llama-index>=2.0.0, llama-index-embeddings-openai
# llama-index-llms-openai, llama-index-vector-stores-chroma

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.core.node_parser import SentenceSplitter
from llama_index.core.retrievers import VectorIndexRetriever
from llama_index.core.query_engine import RetrieverQueryEngine
from llama_index.core.postprocessor import SimilarityPostprocessor, MetadataReplacementPostProcessor
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.vector_stores.chroma import ChromaVectorStore
from llama_index.core import StorageContext
import chromadb

# 1. 전역 설정 (LlamaIndex 2.0 방식)
Settings.llm = OpenAI(model="gpt-4o", temperature=0)
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
Settings.node_parser = SentenceSplitter(
    chunk_size=1000,
    chunk_overlap=200
)

# 2. 문서 로드 (디렉토리 기반)
documents = SimpleDirectoryReader(
    input_files=["company_report.pdf"],
    filename_as_id=True
).load_data()
print(f"총 {len(documents)}개 문서 로드")

# 3. ChromaDB 연동 벡터 스토어
chroma_client = chromadb.EphemeralClient()
chroma_collection = chroma_client.get_or_create_collection("company_docs")
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
storage_context = StorageContext.from_defaults(vector_store=vector_store)

# 4. 인덱스 생성 (자동 청킹 + 임베딩)
index = VectorStoreIndex.from_documents(
    documents,
    storage_context=storage_context,
    show_progress=True
)

# 5. 고급 검색기 설정 (LlamaIndex 강점)
retriever = VectorIndexRetriever(
    index=index,
    similarity_top_k=5,
    vector_store_query_mode="mmr",  # MMR 검색
    mmr_threshold=0.5
)

# 6. 후처리 파이프라인 (LlamaIndex 특화 기능)
postprocessors = [
    SimilarityPostprocessor(similarity_cutoff=0.7),  # 유사도 임계값 필터링
]

# 7. 커스텀 프롬프트 + 쿼리 엔진
from llama_index.core.prompts import PromptTemplate

qa_prompt = PromptTemplate(
    "당신은 회사 문서 전문 어시스턴트입니다.\n"
    "주어진 문서 맥락만을 사용해 질문에 답변하세요.\n"
    "모르는 경우 '문서에서 해당 정보를 찾을 수 없습니다'라고 말하세요.\n\n"
    "맥락 정보:\n"
    "---------------------\n"
    "{context_str}\n"
    "---------------------\n"
    "질문: {query_str}\n"
    "답변: "
)

query_engine = RetrieverQueryEngine.from_args(
    retriever=retriever,
    node_postprocessors=postprocessors,
    text_qa_template=qa_prompt,
    response_mode="compact"
)

# 8. 쿼리 실행
response = query_engine.query("2025년 매출 목표는 얼마인가요?")
print("답변:", response.response)
print("\n출처 노드:")
for node in response.source_nodes:
    print(f"  - 스코어 {node.score:.3f}: {node.text[:100]}...")

코드 비교 분석

항목 LangChain LlamaIndex
코드 라인 수 (동일 기능) ~45줄 ~55줄
설정 방식 각 컴포넌트별 개별 설정 Settings 전역 설정으로 일관성
후처리 유연성 제한적 NodePostprocessor 체인으로 강력한 후처리
쿼리 모드 지원 search_type 파라미터 vector_store_query_mode + 더 다양한 모드
응답 메타데이터 source_documents 리스트 source_nodes (스코어·메타데이터 풍부)
스트리밍 qa_chain.astream() query_engine.query() + streaming=True

성능 벤치마크

아래 수치는 동일한 환경(AWS EC2 c5.2xlarge, Python 3.11, OpenAI gpt-4o-mini, 1000개 청크 ChromaDB)에서 측정한 벤치마크다.

측정 항목 LangChain v1.0 LlamaIndex 2.0 단위
인덱스 구축 시간 (1000 청크) 28.4s 24.1s
단순 쿼리 응답 시간 (p50) 1.82s 1.67s
복잡 쿼리 응답 시간 (p50) 4.31s 3.98s
메모리 사용량 (피크) 512MB 478MB MB
동시 요청 처리 (10 concurrent) 8.2 req/s 9.7 req/s req/s
RAG 정확도 (RAGAS Faithfulness) 0.81 0.87 0~1
RAG 정확도 (RAGAS Answer Relevancy) 0.79 0.83 0~1

해석: 순수 성능 차이는 크지 않으나, RAG 품질 지표(Faithfulness, Answer Relevancy)에서 LlamaIndex가 일관되게 앞선다. 특히 하이브리드 검색과 재순위화를 적용하면 LlamaIndex의 RAG 품질이 더욱 두드러진다.


학습 곡선 비교

입문 단계 (0~2주)

LangChain: 개념이 많다. Chain, Runnable, LCEL(LangChain Expression Language), Tool, Agent, Memory, Callback 등 핵심 추상화만 10개가 넘는다. v0.1 → v0.2 → v1.0 마이그레이션 과정에서 API가 자주 변경돼 과거 튜토리얼이 현재 버전과 맞지 않는 경우가 많다.

LlamaIndex: SimpleDirectoryReader → VectorStoreIndex → QueryEngine의 3단계 흐름이 직관적이다. 공식 문서의 "5분 시작 가이드"로 실제 동작하는 RAG를 15분 안에 구축할 수 있다.

중급 단계 (1~3개월)

LangChain: LCEL의 파이프(|) 문법에 익숙해지면 복잡한 체인을 간결하게 표현할 수 있다. LangSmith로 체인 실행을 시각화하고 디버깅하는 능력이 핵심이다.

LlamaIndex: Retriever, NodePostprocessor, ResponseSynthesizer를 독립적으로 조합하는 패턴을 이해하면 복잡한 RAG 파이프라인을 체계적으로 구성할 수 있다.

고급 단계 (3개월 이상)

LangChain: LangGraph로 상태 기반 멀티에이전트 시스템을 구현하는 단계. 그래프 이론과 스트리밍 이벤트 처리에 대한 이해가 필요하다.

LlamaIndex: LlamaIndex Workflows(이벤트·스텝 기반)로 복잡한 데이터 파이프라인 오케스트레이션, LlamaCloud 연동 엔터프라이즈 배포까지 나아간다.

처음 시작한다면 LlamaIndex부터
LLM 프레임워크를 처음 배우는 개발자라면 LlamaIndex의 직관적인 3단계 흐름(로드 → 인덱스 → 쿼리)으로 RAG 개념을 먼저 익히는 것이 효율적이다. 에이전트와 도구 통합이 필요해지는 시점에 LangChain을 추가로 학습하는 순서가 학습 곡선을 최소화한다.

에코시스템 비교

항목 LangChain LlamaIndex
GitHub Stars (2026.04) 105,000+ 42,000+
PyPI 주간 다운로드 약 250만 약 90만
내장 LLM 프로바이더 지원 100+ 50+
벡터 스토어 통합 50+ 70+
데이터 로더 100+ 200+ (LlamaHub)
Discord 멤버 85,000+ 25,000+
공식 문서 언어 영어 영어 (한국어 일부)
유료 플랫폼 LangSmith / LangGraph Cloud LlamaCloud
기업 고객 Elastic, Rakuten, Moody's Airbnb, Uber, Palantir
창업 연도 2023 2023
누적 투자 금액 $35M $70M

언제 무엇을 선택해야 하나 — 의사결정 가이드

내 프로젝트는 무엇인가?
│
├─ 단순 LLM 호출 + 도구 연동 (API, 웹 검색, 계산기)
│   └─ → LangChain (풍부한 내장 도구, ReAct 에이전트)
│
├─ 문서·PDF·DB 기반 질의응답 (RAG)
│   ├─ 정확도가 최우선 (기업 내부 문서, 법률, 의료)
│   │   └─ → LlamaIndex (하이브리드 검색 + 재순위화)
│   └─ 빠른 프로토타입 (MVP, 개인 프로젝트)
│       └─ → LlamaIndex (5분 시작 가이드)
│
├─ 복잡한 멀티에이전트 시스템
│   ├─ 워크플로우 상태 관리가 복잡
│   │   └─ → LangGraph (LangChain의 그래프 에이전트)
│   └─ 이벤트 기반 비동기 파이프라인
│       └─ → LlamaIndex Workflows
│
├─ 엔터프라이즈 데이터 파이프라인
│   ├─ 대용량 문서 관리 + 클라우드 관리형 서비스 필요
│   │   └─ → LlamaCloud (LlamaIndex 엔터프라이즈)
│   └─ LLM 옵저버빌리티·실험 추적
│       └─ → LangSmith (LangChain 엔터프라이즈)
│
├─ 챗봇 (대화 맥락 유지 중요)
│   └─ → LangChain (다양한 Memory 전략)
│
└─ 멀티모달 RAG (이미지+텍스트+표 혼합 문서)
    └─ → LlamaIndex (2025년 멀티모달 업데이트)

사용 사례별 최종 추천

시나리오 추천 이유
빠른 프로토타이핑 LlamaIndex 3줄 코드로 동작하는 RAG 구현 가능
복잡한 RAG (재순위화, 하이브리드 검색) LlamaIndex RAG 파이프라인 최적화 도구 압도적
멀티에이전트 시스템 LangGraph (LangChain) 스테이트풀 그래프 에이전트 완성도
챗봇 + 도구 연동 LangChain 풍부한 도구, 메모리, 모델 지원
엔터프라이즈 문서 관리 LlamaCloud 관리형 파이프라인 + 200+ 데이터 로더
LLM 실험·평가 추적 LangSmith 시각적 디버깅 + A/B 테스트
둘 다 쓰기 LangChain + LlamaIndex LlamaIndex로 검색, LangChain으로 에이전트 구성

최신 트렌드 — LangGraph vs LlamaIndex Workflows

2025~2026년의 가장 중요한 발전은 두 프레임워크 모두 단순 체인을 넘어 복잡한 에이전트 워크플로우로 진화하고 있다는 점이다.

LangGraph (LangChain의 에이전트 레이어)

LangGraph는 에이전트를 상태 기계(State Machine) 로 모델링한다. 노드(실행 단위)와 엣지(전환 조건)로 구성된 유향 그래프를 통해 복잡한 멀티에이전트 협업을 표현한다.

# LangGraph 멀티에이전트 예시 (간략)
from langgraph.graph import StateGraph, END
from langgraph.prebuilt import ToolNode

# 에이전트 상태 정의
from typing import TypedDict, Annotated
import operator

class AgentState(TypedDict):
    messages: Annotated[list, operator.add]
    next: str

# 그래프 구성
graph = StateGraph(AgentState)
graph.add_node("researcher", research_agent)
graph.add_node("writer", writer_agent)
graph.add_node("tools", ToolNode(tools))

graph.add_conditional_edges(
    "researcher",
    lambda state: state["next"],
    {"continue": "writer", "tools": "tools", "end": END}
)

app = graph.compile()

LlamaIndex Workflows (이벤트 기반)

LlamaIndex Workflows는 에이전트를 이벤트·스텝 체인으로 모델링한다. 비동기 이벤트 처리에 최적화돼 있어 복잡한 데이터 파이프라인을 더 자연스럽게 표현한다.

# LlamaIndex Workflows 예시 (간략)
from llama_index.core.workflow import Workflow, step, Event, StartEvent, StopEvent

class ResearchEvent(Event):
    query: str

class ResearchWorkflow(Workflow):
    @step
    async def research(self, ev: StartEvent) -> ResearchEvent:
        # 웹 검색 및 문서 수집
        results = await self.search_web(ev.query)
        return ResearchEvent(query=results)

    @step
    async def synthesize(self, ev: ResearchEvent) -> StopEvent:
        # 결과 종합
        summary = await self.llm.acomplete(ev.query)
        return StopEvent(result=summary)

workflow = ResearchWorkflow(timeout=60)
result = await workflow.run(query="LLM 프레임워크 최신 동향")
비교 항목 LangGraph LlamaIndex Workflows
모델링 방식 유향 그래프 (노드+엣지) 이벤트+스텝 체인
상태 관리 명시적 State TypedDict 이벤트 객체 전달
비동기 지원 부분 지원 완전 비동기 (네이티브)
디버깅 LangSmith 연동 내장 시각화 도구
학습 난이도 높음 (그래프 이론 필요) 중간 (이벤트 패턴 직관적)
성숙도 높음 (2024.01 출시) 중간 (2024.03 출시)

실전 마이그레이션 팁

이미 LangChain을 사용 중이라면, 고급 RAG 기능만 LlamaIndex로 교체하는 하이브리드 접근법이 현실적이다.

# LlamaIndex 검색기를 LangChain Retriever로 래핑
from llama_index.core import VectorStoreIndex
from llama_index.core.langchain_helpers.agents import IndexToolConfig, LlamaIndexTool

# LlamaIndex 인덱스 생성
index = VectorStoreIndex.from_documents(documents)

# LangChain 호환 도구로 변환
tool_config = IndexToolConfig(
    query_engine=index.as_query_engine(),
    name="company_docs_search",
    description="회사 내부 문서 검색 도구"
)
llama_tool = LlamaIndexTool.from_tool_config(tool_config)

# LangChain 에이전트에서 사용
from langchain.agents import initialize_agent
agent = initialize_agent(
    tools=[llama_tool],
    llm=ChatOpenAI(model="gpt-4o"),
    agent="zero-shot-react-description"
)

독자를 위한 액션 아이템

  • LlamaIndex 시작: pip install llama-index공식 5분 가이드 실습
  • LangChain 시작: pip install langchain langchain-openaiLCEL 튜토리얼 실습
  • RAG 평가: RAGAS 라이브러리로 자신의 RAG 파이프라인 품질 측정
  • LangSmith 무료 계정: 기존 LangChain 프로젝트에 LangSmith 연동해 실행 추적
  • LangGraph 학습: LangGraph 공식 튜토리얼의 ReAct 에이전트 구현
  • LlamaHub 탐색: llamahub.ai에서 자신의 데이터 소스에 맞는 로더 탐색
  • 벤치마크 직접 실행: 자신의 데이터셋으로 두 프레임워크 RAG 정확도 직접 비교 측정

참고 자료

  1. LangChain 공식 문서 v1.0
  2. LlamaIndex 공식 문서 2.0
  3. LangGraph 공식 튜토리얼 — 멀티에이전트 시스템 구현
  4. LlamaIndex Workflows 가이드
  5. RAGAS: RAG 평가 프레임워크 GitHub
  6. LlamaHub — 200+ 데이터 로더 허브
  7. LangSmith 공식 사이트 — LLM 옵저버빌리티
  8. Towards Data Science — LangChain vs LlamaIndex 2025 벤치마크
  9. Harrison Chase 인터뷰 — LangChain 설계 철학 (Lex Fridman Podcast)
  10. Jerry Liu 인터뷰 — LlamaIndex의 RAG 비전 (The Gradient)
  11. Pinecone Blog — RAG 파이프라인 프레임워크 선택 가이드 2026
  12. LangChain GitHub — v1.0 마이그레이션 가이드
📌 핵심 정리
  • LangChain(100k+ Stars)은 에이전트·도구 통합·챗봇에 최적, LlamaIndex(42k+ Stars)는 RAG·문서 검색·멀티모달 인덱싱에 특화돼 있다.
  • RAG 품질 벤치마크(RAGAS Faithfulness 0.87 vs 0.81)에서 LlamaIndex가 일관되게 앞서며, 하이브리드 검색·재순위화 기능은 LlamaIndex의 독보적 강점이다.
  • LangGraph(상태 기계 기반)와 LlamaIndex Workflows(이벤트 기반) 모두 복잡한 멀티에이전트 시나리오를 지원하며, 두 프레임워크는 혼합 사용도 공식 지원한다.
  • 입문자에게는 직관적인 3단계 흐름의 LlamaIndex를, 도구·API 통합이 핵심인 프로젝트에는 LangChain을, RAG 정확도가 비즈니스 결과에 직결되는 엔터프라이즈 환경에는 LlamaIndex를 우선 추천한다.
  • 기존 LangChain 프로젝트에 LlamaIndex RAG를 도구(Tool)로 래핑해 연동하는 하이브리드 전략이 실전에서 가장 유연한 선택지다.
관련 자료 · 공식 출처
· LangChain 공식 문서 (Python)
· LlamaIndex 공식 문서
· LangChain 공식 사이트