LangChain(랭체인)

Soogyung Gwon·2026년 5월 30일

구름을잡아라

목록 보기
71/76

LangChain(랭체인)이란?

LangChain은 LLM(대형 언어 모델) 을 활용한 애플리케이션을 쉽게 개발할 수 있도록 도와주는 프레임워크다.

OpenAI GPT와 같은 LLM은 기본적으로 "질문 → 답변"은 잘 수행하지만, 실제 서비스에서는 다음과 같은 기능이 추가로 필요하다.

  • 외부 문서 검색
  • 데이터베이스 연결
  • 대화 기억(Memory)
  • API 호출
  • 여러 단계의 작업 수행
  • 에이전트 구현

LangChain은 이러한 기능들을 쉽게 연결하고 관리할 수 있도록 만들어진 프레임워크다.


왜 LangChain이 필요한가?

예를 들어 LLM에게 회사 내부 문서에 대한 질문을 한다고 가정해보자.

LLM 자체는 학습 시점 이후의 정보나 사내 문서를 알지 못한다.

따라서 다음과 같은 과정이 필요하다.

사용자 질문
    ↓
관련 문서 검색
    ↓
검색 결과 추출
    ↓
질문과 함께 LLM에 전달
    ↓
답변 생성

이러한 흐름을 직접 구현할 수도 있지만, LangChain은 이를 쉽게 구성할 수 있도록 다양한 컴포넌트를 제공한다.


LangChain의 주요 기능

1. Prompt 관리

프롬프트를 템플릿 형태로 관리할 수 있다.

from langchain.prompts import PromptTemplate

prompt = PromptTemplate.from_template(
    "{topic}에 대해 설명해줘"
)

print(prompt.format(topic="Transformer"))

출력:

Transformer에 대해 설명해줘

동일한 프롬프트 구조를 유지하면서 변수만 바꿔 사용할 수 있다.


2. 모델 연결

LangChain은 다양한 LLM을 동일한 인터페이스로 사용할 수 있도록 지원한다.

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")

지원하는 대표 모델은 다음과 같다.

  • OpenAI
  • Anthropic Claude
  • Google Gemini
  • Hugging Face
  • Ollama

모델을 변경하더라도 코드 구조를 크게 바꿀 필요가 없다.


3. RAG 구현

LangChain이 가장 많이 사용되는 분야 중 하나가 RAG(Retrieval-Augmented Generation)다.

RAG는 질문에 답하기 전에 관련 문서를 검색한 후, 해당 문서를 참고하여 답변을 생성하는 방식이다.

일반적인 흐름은 다음과 같다.

문서 수집
    ↓
문서 분할(Chunking)
    ↓
임베딩(Embedding)
    ↓
벡터DB 저장
    ↓
질문 입력
    ↓
유사 문서 검색
    ↓
문서 + 질문을 LLM에 전달
    ↓
최종 답변 생성

LangChain은 이 전체 과정을 연결하는 역할을 수행한다.


4. Chain

Chain은 여러 작업 단계를 하나의 흐름으로 연결하는 기능이다.

예를 들어 다음과 같은 작업을 생각해볼 수 있다.

사용자 질문
    ↓
문서 검색
    ↓
검색 결과 요약
    ↓
답변 생성

각 단계를 연결하여 하나의 파이프라인처럼 실행할 수 있다.


5. Agent

Agent는 LLM이 상황에 따라 적절한 도구를 선택하도록 만드는 기능이다.

예를 들어 사용자가 다음과 같이 질문했다고 가정하자.

오늘 서울 날씨 알려줘

Agent는 다음과 같은 과정을 수행할 수 있다.

질문 분석
    ↓
날씨 정보 필요 판단
    ↓
날씨 API 호출
    ↓
결과 수집
    ↓
답변 생성

즉, 단순히 학습된 지식만 사용하는 것이 아니라 외부 도구를 활용할 수 있게 된다.


LangChain의 구조

LangChain은 여러 컴포넌트로 구성된다.

Prompt
   ↓
LLM
   ↓
Output Parser

또는

Prompt
   ↓
Retriever
   ↓
LLM
   ↓
Output Parser

필요에 따라 다양한 컴포넌트를 조합하여 원하는 워크플로우를 만들 수 있다.


LangChain이 인기를 얻은 이유

초기 생성형 AI 서비스 개발에서는 다음 기능들이 필수였다.

  • 프롬프트 관리
  • 문서 검색
  • 메모리
  • 에이전트
  • 외부 도구 연결

LangChain은 이러한 기능들을 하나의 프레임워크에서 제공했기 때문에 빠르게 대중화되었다.

특히 RAG 관련 튜토리얼 대부분이 LangChain을 기반으로 작성되었다.


최근 LangChain의 변화

최근에는 LangChain의 단점도 많이 언급된다.

장점

  • 빠른 프로토타이핑 가능
  • 다양한 모델 지원
  • RAG 구현이 쉬움
  • 에이전트 구현 지원

단점

  • 추상화가 많음
  • 내부 동작 이해가 어려움
  • 버전 변경이 잦음
  • 디버깅이 어려움
  • 불필요한 복잡성이 생길 수 있음

최근 대안들

최근에는 다음과 같은 선택지도 많이 사용된다.

직접 구현

필요한 기능만 직접 구현하는 방식이다.

OpenAI SDK
+
Vector DB
+
Custom Logic

단순한 프로젝트에서는 오히려 더 관리하기 쉬운 경우도 많다.


LlamaIndex

데이터와 RAG에 특화된 프레임워크다.

문서 검색과 데이터 연결 기능이 강력하다.


LangGraph

LangChain 팀이 만든 프레임워크다.

복잡한 Agent 시스템과 워크플로우를 구현하는 데 적합하다.

상태(State)
   ↓
노드(Node)
   ↓
상태(State)
   ↓
노드(Node)

형태로 동작한다.


최근 Import 방식 변경

예전 튜토리얼에서는 다음과 같은 코드를 자주 볼 수 있다.

from langchain.embeddings import OpenAIEmbeddings

하지만 최근 버전에서는 패키지가 분리되었다.

from langchain_openai import OpenAIEmbeddings

마찬가지로 ChatOpenAI도 다음과 같이 사용한다.

from langchain_openai import ChatOpenAI

오래된 튜토리얼을 따라 하다가 ImportError가 발생하는 이유가 대부분 여기에 있다.

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글