RESEARCH · sim_v3

sim_v3 시나리오 분석 보고서
— 10만건 한국어 AI 사용 시나리오

Dash Creator 훈련 데이터 생성 실험 · 3-Tier 확장 전략

📅 2026-04-24 🧪 sim_v3 실험 🤖 결정론적 생성 파이프라인 📊 100,000 시나리오

01 개요 & KPI

100,000
총 시나리오
3-Tier 단계적 생성
22
카테고리
균등 분포 설계
10
인텐트 유형
create~confusion
1,000
생성 배치
batch-0 ~ batch-999
Tier 1
10K
초기 파이프라인 검증
Tier 2
30K
다양성 확장 단계
Tier 3
100K
전체 규모 완성

02 생성 방법론

01
시나리오 생성 파이프라인
gen_scenario.py페르소나 × 카테고리 × 인텐트 × 형식의 조합으로 한국어 자연어 시나리오를 자동 생성한다. 각 배치(100건)는 독립적으로 실행되며 decompose_results/에 JSONL 형식으로 저장된다.
02
페르소나 설계
20+ 직군(주부, 자영업자, 회계사, 군인, 농부, 소방관 등), 6개 연령대(teen · 20s · 30s · 40s · 50s · senior), 7개 국적으로 구성된 다차원 페르소나 매트릭스. 실제 사용자 분포를 반영한 가중 샘플링 적용.
03
언어 형식 5종
casual(일상어) · slang(은어/줄임말: "ㄱㄱ", "ㄴ", "ㅃ") · polite(존댓말) · mixed(혼합체) · typo(오탈자 포함) — 실제 사용자 입력 패턴을 최대한 반영하여 모델 로버스트니스 훈련에 활용.
04
Decompose 파이프라인
생성된 시나리오를 DashSpec으로 분해한다. 순서: 카테고리 분류 → 인텐트 판별 → Spec Role 조합 결정 → 사용자 질문 생성. 각 단계는 결정론적 규칙 엔진으로 처리되어 재현 가능성을 보장한다.
05
완전 자동화 · 로컬 실행
API 키 없이 로컬 룰 기반 분류로 실행되는 결정론적 시스템. 외부 LLM 호출 없이 100% 재현 가능하며, 생성 비용 제로. 배치 단위 atomic write로 중단 후 재개 가능.

파이프라인 흐름도

🎭
페르소나 생성
직군·연령·국적
20+ 조합
🗂️
카테고리 선택
22개 균등
가중 샘플링
🎯
인텐트 매핑
10종 인텐트
카테고리 상관
✍️
언어 형식
5종 스타일
자연어 생성
🔬
Decompose
DashSpec 분해
Role 조합
💾
JSONL 저장
배치 단위
atomic write

03 카테고리 분포 (22개)

비중 시각화

commerce_shopping
4.7%
memory_documentation
4.6%
travel_planning
4.6%
research_analytics
4.6%
health_wellness
4.6%
habit_tracking
4.6%
personalization
4.6%
environmental
4.6%
work_productivity
4.6%
community_engagement
4.6%
learning_education
4.6%
entertainment
4.6%
schedule_management
4.5%
finance_tracking
4.5%
communication
4.5%
social_networking
4.5%
content_creation
4.5%
legal_compliance
4.4%
info_periodic
4.4%
realtime_alerts
4.4%
smart_home
4.4%
voice_interaction
4.4%

카테고리 상세

카테고리 영문 ID 비중 핵심 정보 유형 평균 Spec 단계
커머스·쇼핑commerce_shopping4.7%상품·할인·주문 알림2.1단계
메모·기록memory_documentation4.6%메모·일기·회의록2.0단계
여행·계획travel_planning4.6%항공·숙소·여정 알림2.0단계
리서치·분석research_analytics4.6%통계·분석·보고서2.5단계
건강·웰니스health_wellness4.6%혈압·수면·칼로리2.3단계
습관 트래킹habit_tracking4.6%운동·독서·습관 기록2.4단계
개인화personalization4.6%테마·폰트·배치1.6단계
환경·날씨environmental4.6%미세먼지·기온·날씨2.5단계
업무 생산성work_productivity4.6%태스크·협업·마감2.1단계
커뮤니티community_engagement4.6%커뮤니티·댓글 알림2.3단계
학습·교육learning_education4.6%강의·단어·학습2.3단계
엔터테인먼트entertainment4.6%영화·음악·추천2.2단계
일정 관리schedule_management4.5%캘린더·회의·알림2.4단계
금융 트래킹finance_tracking4.5%가계부·주식·환율2.4단계
커뮤니케이션communication4.5%메신저·메일·자동답장2.6단계
소셜 네트워킹social_networking4.5%SNS·팔로워·피드2.2단계
콘텐츠 제작content_creation4.5%블로그·포스팅·스크립트1.8단계
법률·컴플라이언스legal_compliance4.4%세법·계약·규정 알림1.9단계
정기 정보info_periodic4.4%뉴스·시황·브리핑2.8단계
실시간 알림realtime_alerts4.4%입금·가격변동·긴급2.5단계
스마트홈smart_home4.4%조명·온도·IoT2.3단계
음성 인터랙션voice_interaction4.4%음성입력·TTS1.9단계

04 인텐트 분포

~10%
create
~10%
condition
~10%
edit
~10%
compose
~10%
browse
~10%
pause
~10%
cancel
~10%
delete
~10%
resume
~10%
confusion
핵심 인사이트: condition 인텐트가 create와 동일한 ~10% 빈도를 보인다 — if-then 조건부 설정 수요가 신규 대시 생성 수요만큼 크다. 이는 stateless 코드 생성만으로는 사용자 요구를 충족할 수 없음을 의미하며, 조건부 트리거 런타임을 1급 기능으로 설계해야 함을 시사한다.

05 Spec Role 분포

8
Spec
Roles
display 40%
정보 표시 역할 — 데이터를 시각적으로 렌더링. 주요 파라미터: layout, refresh_interval, fields
source 20%
데이터 출처 정의 — API·DB·센서 연결. 주요 파라미터: endpoint, auth, query
notify 11%
알림 발송 — 푸시·메신저·SMS 전송. 주요 파라미터: channel, template, recipients
trigger 7%
조건부 실행 — 이벤트·임계값 감지. 주요 파라미터: condition, threshold, debounce
schedule 6%
정기 실행 — cron 기반 반복 작업. 주요 파라미터: cron, timezone, retry
generate 5%
콘텐츠 생성 — LLM 기반 자동 작성. 주요 파라미터: prompt, model, max_tokens
filter 5%
데이터 필터링 — 조건 기반 선별·정렬. 주요 파라미터: rules, sort_by, limit
summarize 4%
요약 처리 — 긴 텍스트 압축·추출. 주요 파라미터: ratio, lang, format

06 실행 패턴

81%
one_shot
사용자 요청 즉시 응답. 스케줄러 불필요. Phase 1 출시 전략의 핵심 근거.
10%
triggered
조건 충족 시 자동 발동. 가격 임계값·센서 이벤트·입금 알림 등 이벤트 드리블.
9%
recurring
정기 반복 실행. 매일 아침 브리핑·주간 리포트·월별 정산 자동화.
Phase 1 전략 시사: one_shot 81%는 초기 버전에서 실시간 스케줄러 없이 출시 가능함을 의미한다. triggered(10%)와 recurring(9%)는 Phase 2에서 별도 런타임으로 처리.

07 실제 시나리오 예시

다양한 페르소나·언어 형식·카테고리 조합에서 생성된 실제 시나리오 샘플. 슬랭·오탈자 등 실사용 패턴 포함.

commerce_shopping
"사무실 비품 정기 주문 알림 그만 만들래"
cancelpolite · 30s · 직장인
commerce_shopping
"군용품 가격 80유로 아래로 내리면 자동으로 여러 쇼핑몰 다 비교해줘"
conditioncasual · 20s · 군인
health_wellness
"심박수 100 넘으면 나한테만 톡 ㄱㄱ 외부공유 ㄴ"
conditionslang · 40s · 주부
finance_tracking
"파리 훈련비 지출 대시 카테고리 하나만 바꿔주시겠어요"
editpolite · 20s · 군인
environmental
"상하이 대기질 매일 기록하는 대시 만들어 주실 수 있을까요 회고 용도입니다"
createpolite · 30s · 외국계 직장인
realtime_alerts
"프리랜서 입금 들어오면 카톡으로 ㅃ 알림 ㄱㄱ"
conditionslang · 20s · 프리랜서
info_periodic
"아침에 일본 경제뉴스 요약 받던거 다시 시작해주세요"
resumepolite · 50s · 자영업자
smart_home
"집 거실 조명 저녘 7시에 자동으로켜지게 해주세요 상하이시간"
createtypo · 40s · 해외거주자
travel_planning
"런던 출발 항공권 £200아래 떨어지면 바로알림좀"
conditioncasual · 20s · 대학생
communication
"클라이언트 메일 요약 보내주는 대시 하나 만들어 주시겠어요 매일 아침 9시로요"
createpolite · 30s · 컨설턴트

08 핵심 발견 & 시사점

⚠️
균등 분포의 함정
시뮬레이션의 균등 카테고리 분포는 실제 사용자 행동 분포와 다르다. 실 데이터 수집 전까지 카테고리별 균등 투자를 금지한다. commerce_shoppinghealth_wellness가 실제로는 훨씬 높을 가능성이 있으며, voice_interaction은 낮을 수 있다.
🔀
condition이 1급 시민
~10% 비중의 조건부 인텐트는 단순 stateless 코드 생성 아키텍처와 불일치한다. if-then 트리거 런타임을 선택 기능이 아닌 핵심 인프라로 설계해야 한다. trigger(7%)와 schedule(6%) Spec Role과 직접 연동.
🔌
L4 data source = 실제 UX 병목
시나리오 분석 시 "어디서 데이터를 가져오는가?"가 사용자가 실제로 막히는 지점이다. source Role(20%)이 display(40%) 다음으로 높은 이유가 이를 설명한다. 데이터 소스 연결 UX가 Creator의 실질적 완성도를 결정한다.
🚀
one_shot 우선 전략
81%가 즉각 응답을 요구한다. 이는 Phase 1 MVP에서 스케줄러 없이 출시 가능함을 의미한다. recurring(9%)·triggered(10%)는 Phase 2로 분리. 초기 복잡도를 낮추고 빠른 검증에 집중하는 전략이 데이터로 뒷받침된다.

실험 한계 및 다음 단계

한계
  • 완전 합성 데이터 — 실제 분포 미반영
  • 페르소나 편향 가능성 (직군 커버리지)
  • 영어권 AI 용어 한국어 번역 어색함
  • 멀티-인텐트 시나리오 미포함
다음 단계
  • 실 사용자 베타 데이터 수집 (n=500)
  • 카테고리 분포 실측 후 재가중
  • LLM 파인튜닝용 DashSpec 포맷 확정
  • Tier 4 계획: 500K 확장 타당성 검토