[AI]6단계_MCP_(모델_컨텍스트_프로토콜)_활용_설계 - 100-hours-a-week/12-marong-Wiki GitHub Wiki
설계 방향
-
현 구조 (단일 API 기반)
- 사용자 요청: FastAPI → 모델 호출
- 내부 로직에서 벡터 유사도 계산 및 추천 점수 도출
- 고정된 가중치 로직, 정해진 필터 조건에 기반함
-
향후 구조 (MCP 적용 시)
- 사용자 요청: LLM → MCP Tool 호출 (e.g.,
call_recommend_place
,adjust_weight
등) - MCP 서버가 필요한 로직을 처리 후 결과를 다시 LLM에 전달
- 예: 마니또와 마니띠 성향 벡터의 유사도 + 위치 기반 필터링 후 재검색 수행
- 사용자 요청: LLM → MCP Tool 호출 (e.g.,
1. MCP 도입 설계도 예시
[사용자] → [LLM (LangChain Agent)]
↘
[MCP 서버]
↘↘
[추천 시스템 Tool] [성향 가중치 조정 Tool]
각 Tool은 FastAPI 혹은 Python 함수 단위로 구성 가능. MCP는 이를 표준화된 컨텍스트(JSON)로 호출.
2. 연동 도구 및 목적
call_recommend_place
: 장소 임베딩 기반 추천 실행adjust_weight
: 마니또/마니띠 간 성향 벡터 가중평균 결정rerun_place_search
: 사용자 요청에 따른 재검색 수행
3. 컨텍스트 포맷 예시
{
"tool": "adjust_mbti_weight",
"input": {
"user_vector": [...],
"target_vector": [...],
"strategy": "bias_user"
}
}
4. 기대 이점
- 체계적인 외부 API 연동 가능
- Tool 단위 확장 용이 (e.g., 음식 벡터 필터, 리뷰 벡터 분석 등)
- LLM 에이전트가 상황에 맞는 Tool을 동적으로 호출 가능
- 추론 흐름을 명시적으로 통제할 수 있음
5. 적용하지 않은 이유 및 대안
- 현재는 단일 API 호출로도 충분히 동작 가능 (FastAPI → 추천 시스템)
- 복잡도 증가로 인해 불필요한 초기 오버엔지니어링 방지
- 대신 내부적으로 MCP 확장 가능성을 고려한 API 구조 설계 (함수 단위 모듈화 등)
6. 장기적 확장성 및 영향
- 사용자 수 증가, 기능 세분화(마니또 대화 흐름, 취향 반영 강화) 시 MCP 구조 유리
- 에이전트 기반으로 자연어 → Tool 호출 흐름이 자연스럽게 연결됨
- 다양한 사용자 맥락에 맞춰 유연한 행동이 가능한 AI 에이전트 구조로 확장 가능