[AI]6단계_모델_컨텍스트_프로토콜 - 100-hours-a-week/12-marong-Wiki GitHub Wiki

마니또 미션 생성 시스템의 설계 방향


1. 현재 구조

  • 사용자 요청: LangGraph 파이프라인 직접 실행
  • 내부 처리:
    • 쿼리 선택 → SBERT 임베딩 → ChromaDB 유사 쿼리 검색
    • 프롬프트 생성 → LLM 미션 생성
    • 후처리 (중복 제거, 금지어 필터, 이모지 태그 등)
    • EXAONE 평가 체인으로 품질 점수화
  • 고정된 흐름: 각 노드가 LangGraph 상태 흐름에 따라 순차 실행됨

2. 향후 구조 (MCP 기반 Tool 분리 설계)

  • 사용자 요청 흐름 예시:

    사용자 입력 → LangGraph Agent → MCP Tool 호출
       ↘                        ↘
      자연어 해석             Tool 입력(JSON) 생성
                              ↘
                            MCP 서버 (Tool 실행 후 결과 반환)
    
  • MCP에서 각 기능을 독립 Tool로 구성:

    • select_query: 난이도별 쿼리 선택
    • retrieve_examples: 유사 예시 쿼리 검색 (Chroma)
    • generate_mission: LLM 프롬프트 구성 및 미션 생성
    • postprocess_mission: 생성된 미션 후처리
    • evaluate_mission: 평가 모델로 미션 평가
    • update_state: 시도 횟수 증가 및 상태 업데이트

3. MCP 설계 예시

[사용자] → [LLM (LangGraph Agent)]
                    ↘
                   [MCP 서버]
                      ↘↘
 [query Tool] [generate Tool] [evaluate Tool] ...
  • 각 Tool은 FastAPI, Python 함수, Shell 등으로 구성 가능
  • Tool 간 표준화된 JSON 컨텍스트로 호출/반환 처리

4. Tool 컨텍스트 포맷 예시

{
  "tool": "generate_mission",
  "input": {
    "query": "친구에게 몰래 메시지를 전달해봐",
    "difficulty": "중"
  }
}

5. 기대 효과

항목 기대 이점
API 확장성 기능별 Tool 단위로 독립적 유지보수 가능
LLM 통합 LangGraph 기반 자연어 → Tool 호출 흐름 구성
유연성 난이도 조건, 평가 점수 기준 등 동적 제어 가능
추론 통제 각 Tool 호출 순서와 조건을 명확히 통제 가능
병렬 처리 미션 생성/평가 등을 병렬화하여 속도 개선 가능

6. 아직 적용하지 않은 이유 및 대안

항목 설명
현재 구조의 충분성 LangGraph 하나로도 상태 기반 흐름 설계가 잘 작동
대안 설계 각 노드를 모듈화한 구조로 리팩토링 이미 완료
테스트 기반 확장 실제 서비스화 시 MCP와 LangGraph Agent 연동 예정

7. 장기 확장성 및 서비스 방향

  • 사용자 수 증가 시 MCP 구조는 확장성과 유연성 모두 우수
  • LLM Agent가 자연어 입력 → 쿼리 선택/생성/평가 등 다양한 행동 조합 가능
  • 마니또 미션 생성뿐 아니라 닉네임, 장소 추천, 감정 분석 등 모든 기능을 통합 가능
  • 최종 목표는 사용자 맥락에 맞는 AI 미션 추천/평가/분석을 자동화하는 통합 에이전트 시스템