diff --git a/journey/plans/251017_intent_analysis_improvement_plan.md b/journey/plans/251017_intent_analysis_improvement_plan.md index 6557b3c..c786e63 100644 --- a/journey/plans/251017_intent_analysis_improvement_plan.md +++ b/journey/plans/251017_intent_analysis_improvement_plan.md @@ -48,6 +48,38 @@ def analyze_intent(self, message: str) -> Tuple[IntentType, float]: **결론**: 현재는 **단순 명령만 처리 가능**. 종합적 질문은 처리 불가. +### 1.3 아키텍처 구조적 문제 (2025-11-26 추가) + +**현재 구조의 근본적 문제**: +- IntentType이 스킬/액션과 직접 1:1 매핑되어 있음 +- 의도 파악이 곧 스킬 선택으로 이어지는 구조 +- 진정한 "의도 파악(무엇을 원하는가)" → "행동 계획(어떻게 할 것인가)" → "스킬 선택(어떤 도구를 쓸 것인가)"의 단계적 분리가 없음 + +**예시**: +``` +현재: "일정 등록" → calendar_event intent → calendar_confirm action → CalendarSkill +문제: intent가 이미 구체적 행동(스킬)과 결합됨 +``` + +**개선 방향**: +1. **의도 파악 단계**: 추상적 목표 파악 + - 예: "일정 관리", "정보 검색", "커뮤니케이션", "문서 처리" + - 사용자가 무엇을 원하는지 추상적 수준에서 이해 + +2. **행동 계획 단계**: 구체적 행동 결정 + - 예: "일정 등록", "일정 조회", "일정 삭제", "일정 수정" + - 의도를 달성하기 위한 구체적 행동 계획 + +3. **스킬 선택 단계**: 적절한 도구 선택 + - 예: `calendar_skill.create_event`, `calendar_skill.get_events`, `calendar_skill.delete_event` + - 행동을 수행할 적절한 스킬 선택 + +**3단계 구조의 장점**: +- 의도와 구현의 분리: 같은 의도라도 다른 행동/스킬로 구현 가능 +- 확장성: 새로운 스킬 추가 시 기존 의도 재사용 가능 +- 유연성: 행동 계획 단계에서 여러 대안 고려 가능 +- 명확성: 각 단계의 책임이 명확히 분리됨 + --- ## 2. 문서에서 제안한 방법론