본문
[1편] 더 똑똑한 RAG 만들기: LangGraph와 LangSmith 도입기
프로그래밍/LangChain 2026. 1. 13. 00:31
AWS Bedrock과 ECS로 Multi-Agent RAG를 구축하다 보니, 단순했던 파이프라인이 금세 복잡한 if-else 미로로 변해버렸습니다.
"검색 Agent와 검증 Agent가 서로 대화하게 만들자"는 아이디어를 구현하는 과정에서, 코드의 복잡도가 통제 불능 상태가 된 것이죠.
이 혼란을 잠재우고 시스템의 완성도를 높이기 위해 도입한 LangGraph(흐름 제어)와 LangSmith(디버깅)의 핵심 활용기를 공유합니다.
LangGraph & LangSmith
| 구분 | LangGraph (실행 및 제어) | LangSmith (관찰 및 최적화) |
| 핵심 역할 | 복잡한 에이전트의 워크플로우 설계 | LLM 실행 과정의 디버깅 및 모니터링 |
| 주요 기능 | 순환(Cycle), 상태(State) 관리, 분기 처리 | 트레이싱(Tracing), 성능 평가, 비용 추적 |
| 비유 | 자율주행 차의 운행 로직 | 주행 기록을 분석하는 블랙박스 |
| 언제 쓰는가? | "뉴스 분석 후 데이터가 부족하면 재검색해!" | "왜 여기서 이상한 답변을 했지? 로그를 보자." |
1. LangGraph: 선형적 사고에서 벗어나 '순환(Loop)'을 만들자
기존 LangChain의 Chain 방식은 시작과 끝이 정해진 일방통행(DAG)이었습니다. 하지만 똑똑한 Multi-Agent 시스템은 서로 피드백을 주고받는 순환(Loop)이 필수입니다.
- 문제 상황:
- Agent 간의 협업 로직이 복잡해지면서 코드가 스파게티처럼 꼬임.
- ECS Task가 오토스케일링 되거나 배포될 때, Agent가 대화하던 중간 맥락(Context)이 다 날아감.
- 우리의 해결책: LangGraph를 도입해 기억을 가진 순환 구조를 만들었습니다.
- Stateful Graph: 대화의 모든 문맥을 State라는 객체에 담아 관리합니다. "검색 -> 검증 -> (실패 시) -> 재검색" 같은 복잡한 흐름을 그래프로 정의합니다.
- PostgreSQL Checkpointer: 이 State를 메모리가 아닌 AWS RDS(PostgreSQL)에 저장합니다. 덕분에 서비스가 죽었다 살아나도, DB에 저장된 시점(Checkpoint)부터 대화를 매끄럽게 이어갈 수 있습니다.
2. LangSmith: 블랙박스 내부를 훤히 들여다보자
시스템이 복잡해질수록 디버깅은 어려워집니다. "답변이 왜 이렇게 느리지?", "OpenSearch 검색 결과가 이상한가?", "Bedrock 프롬프트가 문제인가?" "Agent 호출 간에 문제가 있나?"
- 문제 상황:
- Multi-Agent가 서로 핑퐁을 치는데, 어디서 병목이 생겼는지 로그만 봐선 알 수 없음.
- RAG 품질 저하의 원인이 '검색'인지 'LLM의 추론'인지 구분이 안 됨.
- 우리의 해결책: LangSmith를 연결해 모든 실행 흐름을 시각화(Tracing)했습니다.
- Full Tracing: Input부터 Output까지, Agent가 Bedrock을 호출하고 OpenSearch를 조회하는 모든 과정을 타임라인으로 봅니다.
- Playground 디버깅: 특정 단계에서 LLM의 응답을 확인하고, 프롬프트만 살짝 수정해 다시 돌려보며 최적의 값을 찾습니다.
아래 구성도는 ECS 위에서 돌아가는 LangGraph 애플리케이션이 AWS 리소스 및 LangSmith와 어떻게 상호작용하며 '똑똑한 RAG'를 구현하는지 보여줍니다.

- LangGraph (Orchestrator): RAG의 두뇌입니다. 검색(Search) Agent와 검토(Review) Agent 사이의 순환(Loop) 흐름을 제어하고 판단합니다.
- Amazon RDS (PostgreSQL): LangGraph의 기억 저장소(Checkpointer)입니다. 대화의 중간 상태를 영구 저장하여, Stateless한 환경에서도 끊김 없는 대화 경험을 보장합니다.
- AWS Bedrock & OpenSearch: 실제 지능(LLM)과 지식(Vector DB)을 담당합니다.
- LangSmith: 이 모든 과정을 추적합니다. 특히 Agent끼리 주고받는 내부 대화까지 시각화해주어 품질 개선의 나침반 역할을 합니다.
댓글