| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 생성AI
- 책리뷰
- Q
- Python
- r
- 데일리
- Adobe
- diary
- GPT
- 데이터시각화
- Ga
- daily
- 북리뷰
- 데이터분석
- 태블로
- tableau
- 파이썬
- 빅쿼리
- 챗GPT
- SQL
- AWS
- AZURE
- ChatGPT
- openAI
- bigquery
- datastudio
- 구글애널리틱스
- 필사
- 서평
- review
- Today
- Total
가볍게 배우고 깊게 즐기고 오래 남기기
[Tech Talk] Langchain v1.0 안정화 맞이 개인적 소회 (마이그레이션해야하는 모두에게 경의를😥) 본문
[Tech Talk] Langchain v1.0 안정화 맞이 개인적 소회 (마이그레이션해야하는 모두에게 경의를😥)
Awesomist 2025. 11. 12. 23:34
Langchain, 자체적으로는 참 강력하고 가독성면에서는 좋지만
장기적인 운영방향에서는 늘 문제되는 것이 바로 가변성이었다. (+ 하위호환성...)
10월말, 드디어 Langchain이 안정화된 v1.0이 릴리즈되었다.
본 릴리즈의 핵심 타겟은 AI Agent 개발에 적합한 방향으로 간소화/표준화 된다는 것이다.

그리고 내 기준 가장 큰 레거시였던 ✨Langchain docs가 대대적으로 개선 ✨ 되었다.
Home - Docs by LangChain
We've raised a $125M Series B to build the platform for agent engineering. Read more.
docs.langchain.com
1. ReAct(React+Acting) Agent를 간편하게 개발하는 표준 프레임워크가 생겼고 (create_agent)
-> 심플하고 퀵하게 Structured layout이 생겼다. (전반적으로 훑어보니 잘 만들어졌다의 Structured가 맞는 것 같다)

2. 잔작업을 빠르게 진행해줄 유용한 Built-in Middleware들이 있다.
-> 데코레이터 기반 미들웨어와 클래스 기반 미들웨어로 생성할 수 있다.
오케스트레이션 레이어와 유사하지만, 에이전트 실행의 각을 단계 제어하고 커스터마이징하는 확장 관점에서
더 많은 서비스를 제공한다.

- 컨텍스트 반복으로 인한 비용지출을 줄이는 Anthropic prompt caching
- 사람의 피드백이나 승인/감독 등의 개입을 지원하는 Human-in-the-loop
- 장기기억의 기반이 되는 Summarization
- 효과적인 Context 적용을 위한 Context editing
- 복잡다단한 업무를 지원하기 위한 To-do list
- ...
그 외 미들웨어는 아래 링크를 참고!
요긴해보이는 부분들이 많아 이 부분은 추후에 한 번 별도 포스팅을 할까 싶다.
Middleware - Docs by LangChain
Control and customize agent execution at every step
docs.langchain.com
3. 멀티 LLM와 LM 기반 개발에 적합하게 간소화시키고 표준화시킨 문법들 (content_blocks, 간소화된 모듈명들)


->개인적으로는 init_chat_model(), init_embbeding() 이라는 메서드가 제일 단적으로 지향점을 보여주는 명칭라고 생각한다.
AzureOpenAI API V2 때와 같이 제대로 된 단위로 문법이 변경되었다.
# Agent building
from langchain.agents import create_agent
# Messages and content
from langchain.messages import AIMessage, HumanMessage
# Tools
from langchain.tools import tool
# Model initialization
from langchain.chat_models import init_chat_model
from langchain.embeddings import init_embeddings
그리고 이제 기존 Langchain 문법은 langchain-classic 이라는 Legacy package가 되었다.

마이그레이션 되는 대표적인 요소들은 이미 많은 프로젝트에 핵심요소로 녹아져있을 부분이다.
(마이그레이션해야 하는 모든 프로젝트에 안녕과 응원을..😥)
* Legacy chains and chain 수행기능들
* Retrievers (검색기)
* 프로그래머블 프롬프트를 위한 The hub module
* langchain-community 전반의 것들
* 기타 등등
아시는 분들은 아시겠지만 Langchain..
정말 버전 0.1, 0.2, 0.3 docs가 병렬적으로 존재하는 것부터 해서
심란함이 이렇게 클 수가 없었다.
더욱이 버전별로 문법이 대폭 변화하는 경우들이 많고,
랭체인이 바로바로 최신의 모델을 Follow-up 하지 못해 약간의 괴리가 있어서 언제 이 모델이 랭체인에서 테스트 가능한나 전전긍긍하던 지난 날들을 스쳐지나간다. (물론 이건 개발 프레임워크 공통의 문제이지만)
개념적 공부용, 확장형 개발 프레임워크 멘토로서 너무나 좋은 것임에는 틀림없다만,
단편적인 프로젝트나 툴킷 개발이 아니라면 장기적으로 봤을 때
개인적으로 랭체인은 "님아 그 강을 건너지 마오......"하는 마음이 컸다.
랭체인이 엄청 강조된 JD가 제안이 오면 스윽 한 쪽으로 미뤄놓는 시기도 있었다.
AI 부트캠프 등 멘토로 가있을 때도 이미 모든 학생들이 Langchain을 붙잡고 있었다.
수많은 블로그 포스트에서는 RAG을 할 때 많은 경우 랭체인을 통한 개발을 예제로 하면서 소개하지만,
나는 개인적으로 공부나 컨셉을 이해하는 것이 아니라면
장기적인 서비스를 위해서는 랭체인보다는 본연의 API, 패키지를 쓰는 것을 권장했다.
하나하나의 모듈을 알고 있기 보다는 이 모듈과 패키지의 의도와 향후 내가 개선한다면?이라는 관점으로 접근하길 바라며 멘토링하곤 했다.
Chaining이나 Templete화 하는 것들 등 랭체인의 아이디어를 참고할 뿐,
주력 LLM 모델 서비스 프로바이더들이 제공하는 본연 API들, 본연의 패키지들을 이용해
자체적인 추상화작업을 통해 본인들의 서비스 방향성에 맞게 확장용이한 서비스 개발 포맷을 구축해나가서
'우리만의 랭체인 유사 프레임워크'를 만드는 것이 오히려 안정적일 수 있기 때문이다.
(물론 굳은 결심이 필요한 일이긴 하지만)
하지만 이번 랭체인 업데이트는 이전보다 명확하고 멀티모델을 활용해야하는 경우,
멀티에이전트를 더 쉽고 빠르게 프로토타이핑하게 도와주는 방향인 것 같다.
마이그레이션 영역이 꽤나 많이 나타나겠지만 내용을 봤을 땐 내부적으로 충분히 고찰을 해서 출시된 version 1.0인 것 같다.
앞서 언급한 AzureOpenAI V2 마이그레이션 때처럼 Langchain v1.0 출시으로 인한 내홍이야 많겠지만
이번의 잘 다듬어진 요소들을 기반으로 마이그레이션 해두면 이전보다 간결하고 직관적인 확장 개발이 가능할 듯 싶다.
그리고 지금 느낀대로 잘 다듬은 게 맞길 바란다.
그래야 2.0에서는 많은 문법적 변화가 없지......
자, 이제 랭체인 마이그레이션의 시간...
LangChain v1 migration guide - Docs by LangChain
This guide outlines the major changes between LangChain v1 and previous versions. Simplified package The langchain package namespace has been significantly reduced in v1 to focus on essential building blocks for agents. The streamlined package makes it eas
docs.langchain.com

'솔루션 Tip > 개발&아키텍처' 카테고리의 다른 글
| GitHub Tip || 깃허브에 AI 모델 같은 100MB 초과하는 파일 업로드 하기 (Git LFS 사용하기) (0) | 2024.09.05 |
|---|---|
| [Git Error|해결방안]warning: LF will be replaced by CRLF (0) | 2024.07.05 |
| [git memo] github origin / local repository 일치시키는 코드 (0) | 2024.05.17 |
| NodeJS 에러 (0) | 2023.10.01 |
| NodeJS 에러명 간략 정리 (EEXIST, ENOENT 등 MEMO) (0) | 2023.09.04 |