[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 미션 추천/평가/분석을 자동화하는 통합 에이전트 시스템