10개 노드 에이전트 RAG 아키텍처: LangGraph, Cohere, Pinecone, MCP를 결합한 고밀도 법률 문서 파싱
My 10-Node Agentic RAG Architecture: Combining LangGraph, Cohere, Pinecone & MCP for Dense Legal Parsing
핵심 요약
LangGraph와 MCP를 활용해 복잡한 금융/법률 문서를 처리하는 10개 노드 에이전트 RAG 시스템 구축기입니다.
- LangGraph 아키텍처 — 조건부 라우팅과 순환 흐름을 처리하는 10개 노드 상태 머신 구현함
- 비용 효율적 RAG — Jina MRL을 사용해 벡터 차원을 축소하여 Pinecone 저장 비용 75% 절감함
- MCP 활용 — FastMCP 서버를 통해 API 로직을 분리하고 도구 실행을 모듈화함
- 보안 및 신뢰성 — 7단계 업로드 보안과 OpenRouter 기반의 자동 장애 조치 시스템 구축함
다들 안녕,
최근에 Agentic Financial Parser를 다 만들었어. 인도 예산안이나 헌법 같은 엄청나게 복잡한 금융 및 법률 문서를 알아서 읽고, 분석하고, 질문에 답까지 해주는 AI 에이전트야.
Render의 512MB RAM 제한 때문에 어쩔 수 없이 Core RAG (V1), Hybrid Reranking (V2), 그리고 독립된 MCP Tool Server 이렇게 세 개 저장소로 나눠서 설계하고 배포했어. 그래도 개념적으로는 하나의 통합된 에이전트 워크스페이스라고 보면 돼.
이 통합 아키텍처가 어떻게 돌아가는지, 그리고 LangGraph를 써서 어떻게 하나로 묶었는지 정리해 봤어.
🧠 핵심 엔진: 10개 노드로 구성된 LangGraph 상태 머신
단순한 선형 검색 체인이 아니라, 조건부 라우팅이랑 순환 흐름을 처리하는 StateGraph를 짰어.
- 전처리 노드: 의도 분류기가 질문을
abusive(욕설),greeting(인사),vague(모호함),rag_query(검색)로 분류해. 인사는 DB를 아예 안 거쳐서 비용이 0원이고, 욕설은 바로 차단 노드로 보내버려. - CrossQuestioner (HITL): 질문이 모호하면 바로 검색 안 하고, 명확하게 다시 물어보는 노드로 최대 2번까지 라우팅해.
- 환각 방지: 답변 생성 후에 검색된 컨텍스트랑 비교해서 검증해. 만약 틀리면 ReAct Fallback 프롬프트를 실행하게 만들었어.
📚 메모리: Jina MRL + Cohere Neural Reranker
정부 법안이랑 금융 프레임워크 20개 넘게 파싱하니까 청크가 15,408개나 나오더라.
- Vector DB (Pinecone): **Jina v3 with Matryoshka Representation Learning (MRL)**을 썼어. 벡터 차원을 1024에서 256으로 줄였는데, 의미론적 품질 손실 없이 Pinecone 저장 공간을 75%나 아꼈어.
- Hybrid RAG (V2): 검색기가 Pinecone에서 후보 청크를 싹 긁어온 다음에, Cohere Neural Reranker (
cohere-rerank-v3)를 거쳐서 딱 10개의 '골든 청크'만 뽑아내. - Semantic Caching: 앞단에 Upstash Redis를 둬서 똑같은 질문은 100ms 이내에 바로 튀어나오게 했어.
🔌 액션 레이어: Anthropic Model Context Protocol (MCP)


