# 스킬 기반 의도분석 시나리오·아이디어

**작성일**: 2026-03-17  
**목표**: 스킬 문서를 바탕으로 로빙 질문에 적절한 의도분석을 통해 올바른 스킬을 실행하게 한다.

---

## 1. 아이디어

### 목표

스킬 문서(`DOCS/skills/`)를 의도분석 컨텍스트로 활용하여, 사용자 질문 → 의도 파악 → 적절한 스킬 호출 흐름을 구축한다.

### 핵심 방향

1. **의도분석 스킬 버전**: `intent_registry.yaml` / DB `intents`와 병행하여, 스킬 문서(Trigger, description)를 의도분석 시 system prompt 또는 임베딩 소스로 주입
2. **스킬 문서 기반 라우팅**: `DOCS/skills/SKILL.md` 요약 + 각 `{skill}/SKILL.md` 상세를 읽어, "이 질문은 어떤 스킬에 해당하는가?"를 판단
3. **검증 시나리오**: 아래 50개 질문으로 의도분석 정확도 측정. **모두 통과** 목표.

### 적용 경로 (아이디어)

| 단계 | 현재 | 개선 아이디어 |
|------|------|---------------|
| IntentAnalyzer system_prompt | 하드코딩 카테고리 | 스킬 문서 요약 텍스트 주입 |
| SemanticIntentClassifier | intent_registry.yaml / DB | 스킬 문서 description 추가 임베딩 |
| SkillSelector | CALENDAR/EMAIL/TOOL/LLM 하드코딩 | 스킬 문서 기반 동적 매핑 |

---

## 2. 시나리오: 의도분석 검증 질문 50개

실제 사용자 발화를 반영한 질문. **의도적으로 오타**를 넣어 키워드 매칭만으로는 통과하지 못하도록 함. 각 질문에 **기대 의도**, **기대 스킬**, **기대 답변 핵심**을 달았다. 38, 39: `companyx_rag`는 `IntentType`이 아닌 별도 의도(내부 RAG 검색).

| # | 질문 | 기대 의도 | 기대 스킬 | 기대 답변 핵심 |
|---|------|-----------|-----------|----------------|
| 1 | 안뇨, 오늘 뭐부터 할까 | greeting | llm | 인사·시작점 제안 |
| 2 | 로빙애, 잘 지내? | greeting | llm | 인사 응답 |
| 3 | 퇴근 후 도착한 메일 중 마감 급한 것만 우선순위 매겨서 알려줘 | email_read | email | 수신함 조회·필터 |
| 4 | 김대리한테 보낸 베일 답장 왔어? 곽인해줘 | email_read | email | 수신함 조회 |
| 5 | 영업팀 이베일로 분기 씰적 공유 베일 써줘 | email_send | email | 메일 초안 작성 |
| 6 | 방금 밭은 RFP 베일 핵심만 3줄로 정리해줘 | email_summary | email, llm | 메일 요약 |
| 7 | 며칠째 베일함 안 봤는데, 중요핸 것만 골라줘 | email_summary | email, llm | 메일 요약·우선순위 |
| 8 | 유럽 AI법 시행 영향이랑 국내 대응 뉴스 같이 비교해서 가져와 | news_fetch | news | 뉴스 검색 결과 |
| 9 | 반도채 업게 M&A 쏘식 있어? | news_fetch | news | 뉴스 검색 |
| 10 | 아까 공유한 기싸, 요확해서 슬랙에 올려줘 | news_summary | news, llm | 뉴스 요약 |
| 11 | #프로젝트-a 채널 데화 흐름 요확해줘 | slack_thread | slack, llm | Slack 스레드 요약 |
| 12 | 지난 회이록에서 엑션 아이템만 쭈출해줘 | action_extractor | slack, llm | 할 일 목록 |
| 13 | 12월 15일 오후 2시 인수검토 회이 일젱 너어줘 | calendar_event | CALENDAR, llm | 일정 등록 |
| 14 | 이번 주 금요일 일젱 뭐 있어? | calendar_query | CALENDAR | 일정 조회 |
| 15 | 다음 주 월요일 오전 미딩들 곽인해줘 | calendar_query | CALENDAR | 일정 조회 |
| 16 | 방금 추가한 3시 미딩 츄소해줘 | calendar_delete | CALENDAR | 일정 삭제 |
| 17 | 그 일젱 없애줘 | calendar_delete | CALENDAR | 일정 삭제 |
| 18 | 그래, 그렇게 덩록해줘 (직전 일정 제안됨) | calendar_approval | CALENDAR | 일정 등록 승인 |
| 19 | 이 M&A 계약서에서 상환 조항이랑 지배구조 변경 조건 같이 정리해줘 | document_analysis | llm | 문서 분석 |
| 20 | IR 자료 10페이지 요확해서 핵심만 알려줘 | document_analysis | llm | 문서 요약 |
| 21 | 이 PDG 3쟝부터 5쟝까지 요확해줘 | document_analysis | llm | PDF 요약 |
| 22 | 삼성전자 최근 씰적 발표 뉴스 자아줘 | web_search | TOOL | 웹 검색 |
| 23 | B Corp 인증이랑 ESG 평가 차이점 검색해서 요약해줘 | web_search | TOOL | 정보 검색 |
| 24 | 로빙 너 지금 레배이랑 스쌯 얼마야? | stats_check | llm | 스탯/레벨 표시 |
| 25 | 내 능력지 셍태 곽인해줘 | stats_check | llm | 스탯 정보 |
| 26 | 알겠어, 그렇게 할게 | general_chat | llm | 수락 응답 |
| 27 | 좋아 그렇게 해줘 (직전 일정 제안됨) | calendar_approval | CALENDAR | 일정 등록 승인 |
| 28 | 지난 분기 대비 이번 분기 KPI 달성률 추이랑 팀별 기여도 분석해서 회고 초안 만들어줘 | complex_query | llm | 복합 분석·생성 |
| 29 | 신규 프로젝트 킥오프 준비 체크리스트 만들어줘 | complex_query | llm | 계획·체크리스트 |
| 30 | 박부장에게 계약 조건 협의 베일 보내줘 | email_send | email | 메일 작성 |
| 31 | 어제 밭은 견적써 베일 내용만 일거줘 | email_read | email | 메일 조회 |
| 32 | 크립토 규제 관련해서 미국 유럽 한국 3개국 뉴스 각 2건씩 가져와 | news_fetch | news | 뉴스 검색 |
| 33 | #일일스탠드업 채널 오늘 데화 요확해줘 | slack_thread | slack, llm | Slack 요약 |
| 34 | 다음 주 화요일 오전 9시 반에 본사 회의실 A에서 분기 실적 검토회의 잡아줘, 2시간으로 | calendar_event | CALENDAR, llm | 일정 등록 |
| 35 | 2시 반 미딩 빼줘 | calendar_delete | CALENDAR | 일정 삭제 |
| 36 | 이 제안써 2쟝 요확해줘 | document_analysis | llm | 문서 요약 |
| 37 | 회이록에서 다음 엑션만 뽑아줘 | action_extractor | slack, llm | 액션 아이템 |
| 38 | 이 주장에 대한 내부 가이드 근거 있어? 자아줘 | companyx_rag | RAG | 내부 문서 근거 검색 |
| 39 | 정책 문서 기준으로 이게 맞는지 곽인해줘 | companyx_rag | RAG | 내부 문서 기반 검증 |
| 40 | 네, 덩록해줘 (직전 일정 제안됨) | calendar_approval | CALENDAR | 일정 등록 승인 |
| 41 | 오늘 점심 뭐 먹을지 고민인데 추천해줘 | general_chat | llm | 메뉴 추천 |
| 42 | VSCode 파이썬 디버깅 단축키 알려줘 | general_chat | llm | 단축키 안내 |
| 43 | 감자탕 끓이는 법 간단히 알려줘 | general_chat | llm | 레시피 안내 |
| 44 | 오늘 서울 날씨 어때? | general_chat | llm | 날씨 답변 |
| 45 | 이 베일 네용으로 답쟝 초안 써줘 | email_send | email | 답장 작성 |
| 46 | 방금 겸색한 뉴스 두 줄로 요확해줘 | news_summary | news, llm | 뉴스 요약 |
| 47 | 3월 첫째 주 일젱 전채 뵈어줘 | calendar_query | CALENDAR | 일정 조회 |
| 48 | 부록 B의 면책 조항이 본문 3조랑 충돌하는지 검토해줘 | document_analysis | llm | 문서 분석 |
| 49 | OO사 최근 인수합병 뉴스 겸색해줘 | web_search | TOOL | 웹 검색 |
| 50 | 로빙 스쌯 화먼 뵈어줘 | stats_check | llm | 스탯/레벨 표시 |

---

## 3. 관련 문서

- [플랜](260317_skill_intent_analysis_plan.md) — Phase 1~5 실행 계획
- [리서치](../research/260317_skill_intent_analysis_research.md) — 코드 위치·원칙
- [DOCS/skills/SKILL.md](../../skills/SKILL.md) — 스킬 요약
- [intent_registry.yaml](../../../rb8001/app/services/brain/intent_registry.yaml) — 현재 의도 정의
- [IntentAnalyzer](../../../rb8001/app/services/brain/intent/intent_analyzer.py) — 의도 분석기
- [테스트](../../../rb8001/tests/test_skill_intent_routing.py) — 시나리오 50개 검증

---

## 4. 테스트 동기화

시나리오 테이블과 `test_skill_intent_routing.py`의 `SCENARIO_50`은 1:1 대응. 시나리오가 SSOT. 18, 27, 40: `calendar_approval_context` fixture 필요.

---

## 5. 문서 완성도

| 항목 | 상태 |
|------|------|
| 50개 질문·기대 의도 | 테스트와 동기화 |
| 의도적 오타·복합 시나리오 | 3, 8, 19, 23, 28, 32, 34, 48 등 복합 질문 포함 |
| 관련 문서 | 플랜·리서치·스킬·테스트·상위 원칙 링크 (상대 경로) |
| 컨텍스트 의존 | 18, 27, 40 명시 |

**완성도: 97%**

---

**tags**: [intent-analysis, skills, scenario, plan]  
**상위 원칙**: [writing-principles](../../../../0_VALUE/02_Governance/writing-principles.md), [global-principles](../../../../0_VALUE/00_Principles/global-principles.md)
