250903 Langgraph로 만들었던 사용자 평가 기능들 MCP로 변환, 테스트 미진행 상태#1
Open
ffighting-seok wants to merge 3 commits into
Open
Conversation
## 주요 개발 내용 - 🎯 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. 에러 처리 강화 및 사용자 경험 개선
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
기존 langgraph로 구현했던 assessment 기능들을 MCP로 변환
** 안된것
** ToDo 예정