도구

랭체인

LangChain

LLM 호출, 메모리 관리, 도구 연동, 에이전트 오케스트레이션을 하나의 인터페이스로 묶어주는 오픈소스 프레임워크. Python AI 에이전트 개발의 사실상 표준이다.

왜 LangChain이 필요한가

LLM에게 뭔가를 시키는 코드는 처음엔 단순하다. 프롬프트를 문자열로 만들어서 API로 던지고 답을 받으면 끝이다. 그런데 조금만 제대로 된 걸 만들려고 하면 금방 복잡해진다. 이전 대화를 기억하게 하려면 메모리를 붙여야 하고, 모델이 계산기나 검색 같은 외부 도구를 쓰게 하려면 도구 호출을 처리해야 하고, 답이 원하는 형식으로 안 나오면 다시 시키는 재시도 로직도 필요하다. 여기에 OpenAI를 쓰다가 Claude로 바꾸면 코드를 또 고쳐야 한다.

LangChain은 이 반복되는 뒤치다꺼리를 표준화된 인터페이스로 묶어 놓은 프레임워크다. 모델, 도구, 데이터베이스를 부품처럼 끼웠다 뺐다 할 수 있게 만들어서, 개발자가 애플리케이션의 핵심 로직에만 집중하도록 돕는다.

실제로 어떻게 쓰나

가장 많이 쓰이는 곳은 문서 기반 질의응답, 즉 RAG를 만들 때다. 문서를 잘게 쪼개고, 임베딩으로 바꿔 벡터 저장소에 넣고, 질문이 들어오면 관련 조각을 찾아 모델에게 함께 건네주는 이 흐름을 LangChain에서는 부품들을 파이프로 연결하듯 이어 붙이면 된다. 사내 문서를 읽고 답하는 챗봇 같은 걸 짧은 코드로 만들 수 있다.

2025년 말에 나온 1.0 버전에서 가장 크게 달라진 건 create_agent라는 함수다. 모델이 스스로 판단해서 도구를 골라 쓰고 그 결과를 보고 다음 행동을 정하는 이른바 에이전트 루프를, 이 함수 하나로 만들 수 있게 됐다. 여기에 미들웨어라는 개념이 붙는데, 에이전트가 도는 중간중간에 끼어들어 로그를 남기거나, 프롬프트를 손보거나, 개인정보를 걸러내거나, 요청 횟수를 제한하는 등의 처리를 갈아 끼우듯 추가할 수 있다.

LangGraph와 생태계

단순한 에이전트를 넘어 조건에 따라 갈라지고 여러 갈래가 동시에 도는 복잡한 흐름이 필요하면 LangGraph를 쓴다. 작업을 그래프의 노드와 연결선으로 그리듯 설계하는 방식인데, 실제로 create_agent도 내부적으로는 이 LangGraph 위에서 돌아간다. LangGraph의 진짜 강점은 상태를 자동으로 저장해 둔다는 점이다. 서버가 중간에 죽거나 사람의 승인을 기다리며 멈춰도, 나중에 딱 그 지점부터 다시 이어서 진행할 수 있다. 오래 걸리는 작업이나 중간에 사람이 검토하고 넘어가야 하는 업무에 특히 잘 맞는다.

다만 편하게 시작할 수 있는 만큼 내부에서 무슨 일이 벌어지는지 감추는 층이 두꺼워서, 문제가 생겼을 때 원인을 추적하기 어렵다는 지적도 오래전부터 있었다. 그래서 실행 과정을 들여다보고 디버깅하는 LangSmith 같은 도구를 함께 쓰는 경우가 많다.

#프레임워크#Python
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-07-12