research

Skill 선택 메커니즘 — LLM이 어떤 Skill을 써야 하는지 아는 방법

Skill 선택 메커니즘 — LLM이 어떤 Skill을 써야 하는지 아는 방법

세 가지 방식

방식 1 — Skill 목록 + 설명 (System prompt)

## 사용 가능한 Skill 목록
- research_before_meeting: 회의 전 관련 자료를 조사하고 저장
- summarize_meeting: 회의록을 요약해서 저장
- download_and_index: 첨부파일을 다운받아 RAG에 인덱싱

## Skill 선택 규칙
사용자의 요청을 읽고 가장 적합한 Skill을 선택해라.
불확실하면 사용자에게 확인해라.

LLM이 description을 보고 요청과 매칭해서 선택. 가장 단순하고 현재 가장 많이 쓰는 방식.

방식 2 — 트리거 조건 명시

skill: research_before_meeting
triggers:
  - "회의 전에 자료 준비해줘"
  - "미팅 전에 논문 찾아줘"
  - 캘린더 이벤트: 30분 전 자동 실행

캘린더 자동 트리거처럼 조건이 명확할 때 강력.

방식 3 — Router LLM 분리

Router LLM (작은 모델, 빠름)
  입력: 사용자 요청 + Skill 목록
  출력: {"skill": "research_before_meeting", "confidence": 0.95}
    ↓
Task Agent (큰 모델)
  선택된 Skill + Tool 명세로 실제 실행

confidence가 낮으면 사용자에게 확인 요청.

단계별 적용

개인용 (초기):          방식 1 충분
캘린더 자동 트리거:     방식 2 추가
서비스화 (일반 사용자): 방식 3 필요

Tool만 있을 때 vs Skill이 있을 때

Tool만 있음:
  "login을 써야 하나? search를 써야 하나?"
  매번 처음부터 추론 → 불일관

Skill이 있음:
  먼저 Skill 선택 (research_before_meeting)
  → Skill 안의 Tool 순서는 Skill이 결정
  → 일관된 실행

Skill description 작성 원칙

비슷한 Skill이 여러 개 있을 때 LLM이 잘못 선택하지 않으려면 description이 명확하게 구분되어야 한다.

나쁨:
  - research: 자료 조사
  - search: 검색해서 저장

좋음:
  - research_before_meeting: 회의 주제 관련 논문/자료 조사 후 RAG 인덱싱
  - search_and_bookmark: 웹 검색 결과를 북마크로 저장 (RAG 아님)

관련 개념