Semantic Boundary Calibration Playbook
이 문서는 A2A Planner에서 우리가 “축 조정”이라고 부른 작업을 제품/기술 언어로 설명하기 위한 기준서다.
핵심은 rule을 늘리는 것이 아니라, 발화가 어떤 의미축에 가까운지 판단할 수 있도록 evidence를 정리하고, LLM Planner가 과추론하지 않게 decision boundary를 보정하는 것이다.
이 그림은 DEF/STT_NULL, ODL/SCH, DQR/FRG, UNS 경계를 하나의 label table이 아니라 target, clarity, recoverability, risk, reply shape, capability grounding 축의 조합으로 다뤄야 한다는 점을 보여준다.
1. 한 줄 정의
Semantic decision boundary calibration은
발화를 특정 family로 강제 매핑하는 작업이 아니라,
context, target, speech act, recoverability, execution risk를 기준으로
family 사이의 의미 경계를 조정하는 작업이다.
2. 왜 필요한가
음성/STT 환경에서는 같은 단어가 항상 같은 의미가 아니다.
| 발화 | 가능한 해석 | 필요한 판단 |
|---|---|---|
알람 꺼줘 |
즉시 알람 제어 | ODL |
내일 7시에 알람 맞춰줘 |
schedule 등록 | SCH |
알람 그 |
workflow fragment | SCH recovery 또는 STT_NULL_SOFT |
알람 얘기하더라 |
서술 잔여물 | DEF 또는 STT_NULL |
설정 부탁해 |
기기 설정 실행 요청 | ODL |
설정이 뭐야 |
제품/사용법 질문 | DQR |
설정했다는데 |
대화/상황 서술 | DEF 또는 STT_NULL |
따라서 알람, 설정, 하이나무, 날씨, 영어, 어떻게 같은 표면 단어만으로 family를 결정하면 성능이 흔들린다.
3. 하위 cue의 역할
cue는 정답을 고르는 rule이 아니다. cue는 Planner가 볼 evidence 후보를 만든다.
recognized_text
-> lexical/surface cue
-> target/scope cue
-> speech-act cue
-> capability/catalog cue
-> risk/recoverability cue
-> planner evidence
-> final family decision
잘 설계된 cue는 아래 조건을 만족한다.
| 조건 | 설명 |
|---|---|
| 의미적으로 포괄적 | 특정 row를 맞추기 위한 문자열이 아니라 반복 가능한 발화 부류를 잡는다. |
| 단독 결정 금지 | cue 하나가 family를 강제하지 않고 다른 축과 결합된다. |
| 과추론 방지 | target/action을 새로 만들어야 하는 경우 실행 family로 올리지 않는다. |
| context 결합 | active workflow나 직전 target이 있을 때만 승격되는 cue를 분리한다. |
| catalog grounded | 기기 기능은 capability/catalog에 있는 domain과 연결된다. |
4. 주요 판단 축
| 축 | 질문 | 대표 영향 |
|---|---|---|
| target scope | 안정적인 대상이 있는가 | device/workflow/public/conversation/none |
| intent clarity | 첫 응답 방향이 명확한가 | high이면 direct answer, low이면 clarification |
| recoverability | minor repair 또는 좁은 follow-up으로 복구 가능한가 | STT_NULL_SOFT 또는 workflow continuation |
| over-inference risk | 대상/행동을 새로 만들어야 하는가 | high이면 ODL/SCH 과승격 차단 |
| reply shape | 지금 첫 응답이 자연스럽게 가능한가 | DEF 회복 여부 |
| capability grounding | 실제 기기/서비스 capability로 연결되는가 | ODL/DQR/SCH/UNS 경계 |
5. 경계별 조정 기준
5.1 DEF <> STT_NULL
이 경계의 질문은 “첫 반응이 자연스럽게 가능한가”다.
DEF로 살릴 수 있는 경우:
- 인사, 반응, 감정, 불만, 간단한 메타 대화처럼 첫 응답이 가능하다.
- 짧더라도 말하는 행위가 분명하다.
- STT가 조금 깨졌지만 의미 복구가 minor repair 수준이다.
STT_NULL로 닫아야 하는 경우:
- 긴 전사 잔여물인데 질문/요청/감정 목적이 없다.
- 단어는 많지만 지배 해석이 없다.
- 답하려면 대상, 행동, 의도를 새로 만들어야 한다.
예시:
| 발화 | 판단 | 이유 |
|---|---|---|
안녕 |
DEF | 즉각 인사 응답 가능 |
뭐가 응이야 |
DEF | 반응/되묻기 shape 존재 |
하이 에이아이 사이일 |
STT_NULL | 대상/행동/질문 불안정 |
| 긴 뉴스/대화 잔여물 | STT_NULL | direct reply target 부재 |
5.2 ODL <> SCH
이 경계의 질문은 “즉시 제어인가, schedule workflow인가”다.
ODL로 보는 경우:
- 켜줘/꺼줘/멈춰/돌아가/청정해/체크해 같은 즉시 실행 의도
- 공간명, 기기명, 기능명이 action과 결합
- 알람도 단순 켜기/끄기면 immediate control
SCH로 보는 경우:
- 등록/수정/삭제/조회/반복/시간 slot이 있는 schedule workflow
- “몇 시부터 몇 시까지”, “매일/평일만”처럼 slot filling 대상
- active schedule workflow 중 들어온 짧은 slot answer
예시:
| 발화 | 판단 | 이유 |
|---|---|---|
알람 꺼줘 |
ODL | 단순 제어 |
내일 아침 7시에 알람 맞춰줘 |
SCH | 등록 workflow |
저녁 8시 반부터 아침 7시까지 아이들 방만 공기청정해줘 |
SCH | 시간 범위가 있는 schedule 설정 |
아들 밤 청정해줘 |
ODL | 즉시 청정 명령으로 복구 가능 |
5.3 DQR <> FRG
이 경계의 질문은 “제품/기기 지식인가, 외부/public 지식인가”다.
DQR로 보는 경우:
- 하이나무/정수기/공기청정기/기기 기능/설정/업데이트/사용법
- 현재 제품 catalog나 manual RAG로 답해야 하는 질문
- 기기 연결, 시리얼, 제품 상태 설명처럼 device support 성격
FRG로 보는 경우:
- 외부 제품, 공인, 지역, 사회 이슈, 일반 상식, 수학/과학 문제
- 최신성/검색/공개 정보 조회가 답변 품질을 높이는 질문
- 번역/단어 뜻/외부 엔티티 설명
예시:
| 발화 | 판단 | 이유 |
|---|---|---|
하무 업그레이드 어떻게요 |
DQR | 제품/기기 사용법 |
갤럭시 어디까지 나왔어 |
FRG | 외부 제품 정보 |
전기를 영어로 스펠링 말고 단어를 말해줘 |
FRG | 번역/일반 지식 |
시리얼 번호를 알려줄 수 있어 |
DQR | 기기 연결/제품 지원 |
5.4 ODL <> STT_NULL
이 경계의 질문은 “복구 가능한 기기 실행인가, 위험한 과실행인가”다.
ODL로 살릴 수 있는 경우:
- 기기 호출어 또는 공간명과 실행/상태 확인이 결합된다.
- STT 오타가 있어도 catalog 기능으로 minor repair가 가능하다.
- 사용자가 실행을 요구하는 speech act가 명확하다.
STT_NULL로 닫아야 하는 경우:
- 기기/날씨/공기 단어가 긴 narration 안에 묻혀 있다.
- 실행 동사처럼 보이는 단어가 일상 문장에 쓰였다.
- 실제 실행하려면 target/action을 새로 invent해야 한다.
6. 튜닝 프로세스
축 조정은 아래 순서로 진행한다.
- full-run 또는 holdout에서 오분류를 family transition으로 묶는다.
- transition별로 정답지 오류, 중복정답 가능성, router 오류를 분리한다.
- cue가 너무 넓은지, 너무 좁은지, 잘못된 축에 붙었는지 본다.
- 특정 row 문자열 추가가 아니라 일반 발화 부류 단위로 cue를 조정한다.
- prompt에서 LLM이 복구해야 할 의미 경계를 설명한다.
- focused set으로 먼저 확인하고, full-run/holdout으로 회귀를 본다.
- 변경 reason을 benchmark artifact와 함께 남긴다.
7. Rule-based와의 경계
아래는 피해야 한다.
- 특정 row를 맞추기 위한 고유 오타 문자열 추가
- 단어 하나로 family를 강제하는 shortcut
- catalog에 없는 기능을 cue만으로 실행 가능하다고 판단
- holdout 검증 없이 현재 test set에만 맞춘 cue 확장
아래는 허용 가능하다.
- 여러 발화에 반복되는 semantic pattern 추가
- catalog 기능명/도메인 기반 anchor 추가
- context가 있을 때만 승격되는 weak cue 분리
- prompt에 “minor repair 가능하면 살리되, 과실행은 피하라”는 경계 설명 추가
8. 운영 산출물
Boundary calibration은 코드 변경만으로 끝나지 않는다. 아래 산출물이 같이 있어야 한다.
| 산출물 | 목적 |
|---|---|
| answer set version | 정답 정책 기준 고정 |
| result artifact | 실제 성능 비교 |
| transition report | 어떤 경계가 흔들렸는지 확인 |
| cue inventory | cue 의미와 의도 검토 |
| prompt snapshot | LLM 판단 기준 재현 |
| holdout report | test-set 과적합 방지 |