LangChain의 목적

LangChain은 LLM(Large Language Model)을 도구처럼 활용하는 체인 기반 프레임워크이다.

단순히 LLM에게 한 번 질문하고 끝나는 게 아니라

  • 외부 지식 검색(RAG),
  • 도구 호출(계산기, 웹 브라우저, DB),
  • 사용자 컨텍스트 기억하기(Memory),
  • 체계적 응답 흐름 설계(Chain, Agent)

등을 통해 LLM을 실제 “에이전트”처럼 사용하는 시스템을 만들 수 있게 한다.

LangChain의 주요 구성 요소 (Core Concepts)

구성 요소 역할
LLM / ChatModel GPT-4, Claude 같은 언어 모델
Prompt Template 프롬프트 설계 및 변수 삽입
Chain 여러 컴포넌트를 연결한 처리 흐름
Memory 대화나 상태를 기억
Tool 계산기, 검색 등 외부 기능 호출
Agent 도구를 상황에 따라 선택해서 사용하는 “지능형 실행자”
Retriever 외부 지식 문서를 검색하는 객체 (RAG)
Document Loader PDF, Notion 등에서 문서 불러오기
Output Parser 모델 출력을 원하는 형태로 가공

LangChain Expression Language (LCEL)

LangChain은 이전에는 chain.run() 같은 Imperative 방식이었지만,

지금은 LCEL(LangChain Expression Language)라는 선언형 구성 방식이 주류이다.

chain = prompt | llm | parser
result = chain.invoke({"input": "Hello"})
이런 식으로 **데이터 흐름을 파이프( )로 연결**해서 표현한다.

이건 LangGraph, Streaming, Async 처리 등과도 연결되기 때문에 꼭 알아야 한다.

LangChain의 체인 vs 에이전트

Chain Agent
정해진 순서대로 실행 상황에 따라 도구 선택
예: Prompt → LLM → Output 예: 질문 분석 후 검색 도구 실행
흐름이 고정 동적 판단 필요

기타

LangChain과 함께 자주 쓰이는 것들

  • OpenAI API (GPT-4 등)
  • FAISS / Chroma (벡터 검색용)
  • LangSmith (디버깅/로깅)
  • Streamlit / Gradio / FastAPI (프론트엔드 연동)