Skip to content

250903 Langgraph로 만들었던 사용자 평가 기능들 MCP로 변환, 테스트 미진행 상태#1

Open
ffighting-seok wants to merge 3 commits into
mainfrom
ffighting
Open

250903 Langgraph로 만들었던 사용자 평가 기능들 MCP로 변환, 테스트 미진행 상태#1
ffighting-seok wants to merge 3 commits into
mainfrom
ffighting

Conversation

@ffighting-seok

Copy link
Copy Markdown
Collaborator

기존 langgraph로 구현했던 assessment 기능들을 MCP로 변환

** 안된것

  • 성능 테스트
  • MCP로 돌아가는지(?) 어떻게 실행하는건지 아직 모르겠음

** ToDo 예정

  • 성능 테스트 (이렇게 복잡하게 짜는게 좋은지 / 영진님 방식으로 심플하게 짜는게 좋은지)

ffighting-seok and others added 2 commits September 6, 2025 15:53
## 주요 개발 내용
- 🎯 MCP(Model Context Protocol) 기반 tool calling 시스템 구축
- 📚 사용자 학습 주제 파악을 위한 단순화된 평가 도구 개발
- 🤖 Ollama midm-2.0:base 모델과 LangGraph ReAct 에이전트 통합

## 새로 추가된 파일들
- `CLAUDE.md`: 전체 개발 과정과 학습 내용 문서화
- `topic_assessment/`: 단순화된 주제 파악 시스템
  - `topic_mcp_server.py`: MCP 서버 (identify_learning_topic 도구)
  - `simple_topic_client.py`: 대화형 클라이언트
  - `test_topic.py`: 테스트 스크립트
- `mcp_basic_example.py`: MCP 학습용 기초 예제 코드
- `interactive_assessment_client.py`: 터미널 대화형 클라이언트
- `conversation_controller.py`: 대화 플로우 컨트롤러

## 주요 개선사항
- 복잡한 다중 tool calling에서 단일 tool 방식으로 단순화
- MCP 응답 파싱 이슈 해결 (result.content[0].text 사용)
- 직접 도구 호출 테스트로 디버깅 효율성 향상

## 기술 스택
- MCP + LangChain + LangGraph + Ollama midm-2.0:base

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
## ✨ 주요 개선사항

### 1️⃣ 단일 → 다중 도구 시스템 진화
- identify_learning_topic 하나 → assess_topic, assess_goal, assess_time, assess_budget 4개로 분리
- 각 단계별 독립적 평가 및 순차적 진행 (topic → goal → time → budget)
- assessment_state로 전역 상태 관리 및 진행률 표시 (25% → 50% → 75% → 100%)

### 2️⃣ 사용자 확인 시스템 구현
- 문제: 시스템이 자동으로 다음 단계 진행 (사용자 동의 없이)
- 해결: confirm_and_proceed 도구 + 명시적 사용자 확인 프로세스
- 플로우: confidence >= 0.8 → 확정 질문 → 사용자 확인 → 다음 단계 시작

### 3️⃣ LLM 프롬프트 최적화
- 문제: confidence >= 0.8인데도 계속 세분화 질문 발생
- 해결: 강제 확정 규칙 + 금지 단어 명시
- 규칙: confidence >= 0.8이면 무조건 확정 질문, "구체적으로/어떤 분야" 등 금지

### 4️⃣ 실제 테스트 완료
- TCP 모드 서버/클라이언트로 실시간 대화 테스트
- 발견된 문제들: 자동 확정, 무한 세분화 루프, 빈 화면, 일관성 부족
- 모든 문제 해결 완료 및 통일된 확정 패턴 적용

## 📁 변경된 파일들
- topic_assessment/topic_mcp_server.py: 4개 독립 도구 + 사용자 확인 시스템
- topic_assessment/simple_topic_client.py: 다중 도구 지원 클라이언트 로직
- topic_assessment/tcp_topic_client.py: TCP 모드 테스트용 클라이언트 (신규)
- CLAUDE.md: 전체 개발 과정 및 해결된 문제들 상세 기록
- agent.ipynb: 노트북 테스트 코드 업데이트

## 🎯 다음 단계
1. 수정된 assess_goal 프롬프트 테스트 (최우선)
2. Topic → Goal → Time → Budget 전체 플로우 검증
3. 에러 처리 강화 및 사용자 경험 개선
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant