AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

통합 검색 에이전트 개발: LangGraph와 MCP를 활용한 의도 분류 및 프로덕션 배포

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인공지능

대상자

  • AI/검색 엔진 개발자, 데이터 과학자, DevOps 엔지니어
  • 난이도: 중급~고급 (LLM 기반 의도 분류, LangGraph 흐름 설계, MCP 연동 경험 필요)

핵심 요약

  • 다모달 검색 시스템 구축: Gemini 2.0 Flash로 의도 분류 후 Google 검색, 웹 스크래핑, 병렬 처리 등 최적 전략 자동 선택 (general_search, product_search, web_scraping, comparison 분류)
  • LangGraph 기반 흐름 제어: IntentClassifier[Google Search | Web Scraping | Both]Final Processing 구조로 확장성과 유연성 확보
  • MCP 연동으로 빠른 통합: FastMCP를 통해 Claude Desktop, 다른 MCP 지원 앱, 커스텀 워크플로우에 즉시 적용 가능

섹션별 세부 요약

1. 문제 정의 및 기존 솔루션의 한계

  • 전통적 검색 시스템은 사전 선택 (웹 검색 vs. 웹 스크래핑) 필요
  • 사용자 의도에 따라 자동 라우팅 (의도 분류 → 최적 전략 선택) 요구
  • 예: $200 미만의 노이즈 제거 이어폰 → Google 검색 + 웹 스크래핑 병렬 처리

2. 시스템 구성 요소 및 흐름

  • 의도 분류: Gemini 2.0 Flash 사용, IntentClassification Pydantic 모델로 신뢰도 점수 제공
  • 검색 전략 선택:

- general_search → Google 검색

- product_search → Google + 웹 스크래핑

- comparison → 병렬 처리

  • 결과 평가:

- Relevance Score (0-1): 질문에 대한 적합성

- Quality Score (0-1): 출처 신뢰도 및 콘텐츠 품질

- Final Score = (relevance 0.7) + (quality 0.3)

3. 기술 구현 및 에러 처리

  • LangGraph 흐름: create_unified_search_graph()로 정의, FastMCP로 MCP 서버 래퍼 제공
  • 에러 핸들링:

```python

def intent_classifier_node(state: Dict[str, Any]) -> Dict[str, Any]:

try:

result = structured_llm.invoke(full_prompt)

except Exception as e:

state["intent"] = "general_search"

state["intent_confidence"] = 0.5

state["error"] = f"Classification error: {str(e)}"

return state

```

  • MCP 연동 예시:

```python

@mcp.tool()

async def search(search_term: str) -> str:

result = await graph.ainvoke({"query": search_term})

return result.get("final_results", "No results found.")

```

4. 배포 및 확장성

  • LangGraph Cloud 배포: .env 설정 후 langgraph dev 실행
  • 확장성:

- 벡터 DB 연동 (의미 기반 검색)

- 실시간 데이터 스트림 (LinkedIn, Twitter 등 플랫폼 전용 추출기)

- 다국어 지원 (자동 번역)

  • 모듈화된 아키텍처:

```python

workflow.add_node("scholarly_search", scholarly_search_node)

workflow.add_conditional_edges("intent_classifier", route_with_scholarly)

```

결론

  • 핵심 팁:

- LangGraph Studio를 통해 흐름 시각화 및 실시간 디버깅

- MCP 연동으로 Claude Desktop, 커스텀 워크플로우에 즉시 통합

- 의도 분류 정확도를 높이기 위해 Pydantic 모델로 신뢰도 점수 강화

  • 실무 적용 예시:

- 연구 보조 도구 (학술 데이터베이스 + 웹 검색 자동 선택)

- 시장 조사 (경쟁사 정보 다중 출처 수집)

- 콘텐츠 큐레이션 (플랫폼별 최적 정보 소스 자동 선택)