← Docs hub

LLM 운영 Wiki

이 Wiki는 LLM 운영 담당자가 실제 SQE/필드 테스트와 현지 운영 중 발생하는 STT/LLM/기능 사양/Cloud 연동 이슈를 스스로 1차 분석할 수 있도록 만든 운영 자료입니다.

대상 저장소:

LLM 운영 주간 구조

전체 목표

이 문서를 학습한 후에는 다음 작업을 수행할 수 있어야 합니다.

문서 구성

요일 문서 핵심 목표
Day 1: 제품 기능 사양 및 LLM 구조 전체 E2E 구조, On-device/Cloud 역할, 상태관리 이해
Day 2: 온디바이스 딕셔너리 및 E2E Test 딕셔너리 구조, STT 오인식 보정, 오매칭 분석
Day 3: Cloud LLM 개선 작업 및 테스트 Lambda/Gemini RAG, Case 구조, rewrite_query 검증
Day 4: SQE/필드테스트 이슈 분석 이슈 분류, 로그 기반 원인 분석, 개선 판단
Day 5: 종합 실습 및 현지 운영 가이드 실제 케이스 재현, 운영 기준, 리포트 작성

과정 운영 문서

문서 목적
README 패키지 범위와 파일 구조
Wiki Index 전체 교육 자료 색인
Lecture Plan 강의 순서와 시간 배분
Instructor Script 강사용 진행 스크립트

PDF 읽는 경로

LLM 운영 PDF 읽는 순서

PDF는 목적에 따라 읽는 경로를 다르게 잡습니다.

목적 권장 경로 결과물
전체 구조 이해 index → Day 1~5 → source_traceability_matrix 제품 음성 처리 구조와 운영 기준 이해
발화 오매칭 분석 Day 2 → dictionary_matching_source_guideoperational_examples dictionary 수정/유지 판단
Cloud 응답 분석 Day 3 → cloud_llm_integration_source_guidecloud_rewrite_query_quality_guide Case/rewrite/RAG 원인 분리
기능 실행 실패 분석 Day 4 → api_call_validator_source_guidefunction_flows_index 정상 차단/API 실패/TTS 문제 분리
운영 산출물 작성 Day 5 → templates → pdf_export_guide E2E 결과표, Cloud 결과표, 이슈 리포트

요구사항 추적표

초기 요청 항목이 어느 문서에 반영되어 있는지 확인하기 위한 추적표입니다. 말레이시아 현지 운영팀이 운영 기준을 이해할 수 있도록 Cloud/RAG와 현지 운영 항목은 별도 표기합니다.

요청 항목 반영 위치 확인 포인트
음성 지원 가능 범위 Day 1 지원/미지원 케이스 기능 토큰으로 실행 가능한 범위와 Cloud 일반 답변 범위 구분
기능별 동작 사양 Day 1 기능 토큰과 제품 사양, 기능별 SVG 인덱스 <sk_xx> 토큰, Device API, TTS 기대값을 함께 확인
On-device LLM과 Cloud LLM 역할 Day 1, Day 3 Cloud는 기능을 직접 실행하지 않고 Case 2/rewrite로 재진입
STT-LLM-TTS E2E 처리 흐름 Day 1, Source Map STT raw, processed, token, validator, API, TTS 순서
온디바이스 딕셔너리 구조 Day 2, Dictionary Source Guide mapping, contains, contains_token, 3keyword 역할 구분
STT 오인식 보정 기준 Day 2 STT 문제와 딕셔너리 문제 구분 raw 오류와 processed 오류를 분리
지역명/건물명/공간명 처리 Day 2 지역명/건물명/공간명 처리 기준 현지 지명과 제품 공간명을 dictionary에 넣는 기준
E2E Test 수행 및 로그 분석 Day 2, Day 5, Runbook logcat 필터, 결과표, 원인 분류
E2E 성능 측정 및 결과 분석 Day 2 E2E 성능 측정 기준, Day 5 성공률/오매칭률/Cloud fallback률로 관리
Cloud LLM 구조 및 역할 Day 3 request 구조, Case 계약, Lambda/RAG
Cloud rewrite_query 강화 Day 3, Cloud Rewrite Query Quality Guide Case 2가 기대 토큰으로 재매칭되는지까지 검증
File RAG/Web Search Day 3 RAG 선택 기준 정적 제품 문서와 최신 외부 정보 분리
국내 프롬프트 구성 구조 Day 3 국내 프롬프트 구성 기준 persona, information, environment, case router 구조
말레이시아 Custom RAG Day 3 말레이시아 Custom RAG 운영 기준 현지 FAQ/서비스/정책 문서와 검색 기준
Cloud LLM 테스트 결과 정리 Day 3, template request/response/case/rewrite/RAG 근거 기록
SQE/필드 이슈 분류 Day 4 STT/딕셔너리/Cloud/기능/API/TTS/상태관리 분리
로그 기반 원인 분석 Day 4, Runbook 어느 단계에서 기대와 실제가 달라졌는지 기록
재현 테스트 및 개선 필요 판단 Day 4 사양 정상/테스트 기대값 오류/개선 필요 구분
개선 요청서 및 협업 프로세스 Day 4, Day 5 담당 영역, 첨부 로그, 재현 조건 필수
실제 SQE 주요 이슈 리뷰 Day 5, Operational Examples 대표 케이스를 원인별로 재분류
말레이시아 현지 LLM 운영 기준 Day 5 말레이시아 현지 운영 기준 언어, Cloud, RAG, 리포트, 회귀 테스트 기준
질의응답 Day 5 운영 FAQ 반복 질문을 운영 지식으로 축적

핵심 SVG

챕터별 판단 흐름 SVG

아래 SVG는 각 Day 문서 본문에도 삽입되어 있습니다. 단순 요약이 아니라 입력 → 처리 단계 → 분기 기준 → 확인 로그 → 산출물을 한 장에서 확인하도록 구성했습니다. 먼저 Day별 대표 SVG로 판단 흐름을 잡고, 더 깊은 기능 단위 분석은 기능별 SK 토큰 구현 인덱스와 Source-level 문서로 내려갑니다.

Day 1: F 이벤트, STT raw/processed, 로컬 토큰화, Cloud 재진입, TTS 이후 resume 판단을 한 흐름으로 확인합니다.

Day 2: 어떤 JSON이 먼저 잡았는지, 왜 다른 토큰으로 빠졌는지, positive/negative/regression을 어떻게 묶는지 확인합니다.

Day 3: Cloud에 전달되는 원문/시스템 정보, Case 2 rewrite 재진입, 말레이시아 RAG 판단 기준을 확인합니다.

Day 4: STT/딕셔너리/Cloud/Validator/API/TTS 중 어느 단계 문제인지 로그 근거로 분리합니다.

Day 5: 릴리즈 전 최소 검증 세트와 실패 시 개선 요청서에 반드시 들어가야 할 근거를 확인합니다.

Day별 챕터 SVG

각 Day 문서의 모든 ## 챕터에는 섹션 요약 SVG가 1개 이상 연결되어 있습니다. svg/day-sections/ 아래 SVG는 챕터별 이해 보조 자료이며, 본문 흐름을 읽을 때 해당 챕터의 목적, 입력, 판정 기준, 산출물을 빠르게 확인하는 용도입니다.

Day 챕터 SVG 범위
Day 1 svg/day-sections/day01_section_*.svg
Day 2 svg/day-sections/day02_section_*.svg
Day 3 svg/day-sections/day03_section_*.svg
Day 4 svg/day-sections/day04_section_*.svg
Day 5 svg/day-sections/day05_section_*.svg

Source/Templates 섹션 SVG

소스레벨 문서와 템플릿 문서도 모든 ## 챕터에 PDF-safe 섹션 요약 SVG를 연결했습니다. svg/source-sections/ 아래 SVG는 “이 항목에서 무엇을 확인하고, 어떤 근거로 판단하고, 다음 액션이 무엇인지”를 먼저 보여주는 용도입니다.

범위 SVG
Source-level guides svg/source-sections/src_*.svg
Report/Test templates svg/source-sections/tpl_*.svg

소스레벨 상세 문서

아래 문서는 본문에서 “어느 파일의 어느 역할을 봐야 하는가”를 설명하기 위한 소스레벨 자료입니다.

문서 용도
On-device E2E Source Map ForegroundService, STT, 딕셔너리, 로컬 LLM, TTS, 상태관리 전체 연결
Source Traceability Matrix 운영 설명과 실제 소스 파일/함수/로그 근거 연결
Dictionary Matching Source Guide mapping/contains/contains_token/3keyword 처리 순서와 충돌 분석
Cloud LLM Integration Source Guide 온디바이스 Cloud 요청, Case 응답, rewrite_query 재진입
Cloud Rewrite Query Quality Guide Cloud Case 2/rewrite_query 품질 기준과 온디바이스 재매칭 검증
ApiCallValidator And Error Handling 기능 실행 전 검증, 에러 그룹, 토큰별 validation rule
E2E Test And Log Analysis Runbook logcat 수집, 판정 기준, 개선 요청서 작성
Operational Examples 실제 운영 예제: 오매칭, Cloud 재진입, Error Handler, API/TTS 분리

PDF 출력용 구조

LLM 운영 PDF는 큰 원본 구조도보다 svg/pdf-safe/ 그림을 우선 사용합니다.

활용 방식

각 요일 문서는 다음 형식으로 읽습니다.

1. 핵심 구조 확인
2. SVG 기반 흐름 확인
3. 코드/로그 기준 상세 확인
4. 운영 예제 적용
5. 결과 분석
6. 산출물 작성
7. 점검 질문 확인

누락 방지 체크리스트

문제를 분석할 때 아래 항목 중 하나라도 비어 있으면 원인 분류가 흔들릴 수 있습니다.

항목 누락 시 리스크
앱/DB/브랜치/커밋 같은 발화라도 dictionary와 resource가 달라질 수 있음
언어 설정 한국어/영어 dictionary와 TTS subtitle 경로가 달라질 수 있음
STT raw/originalSttResult Cloud로 넘어간 실제 user content를 판단할 수 없음
STT processed/filteredSttResult 온디바이스 딕셔너리 입력이 무엇인지 판단할 수 없음
[DICTIONARY_MATCH] 로그 어떤 JSON이 토큰을 만들었는지 확인할 수 없음
parsed token FunctionCallHandler와 Validator 진입점을 확인할 수 없음
Cloud case/rewrite_query Cloud 문제인지 로컬 재진입 문제인지 분리할 수 없음
ApiCallValidator/errorcode 정상 차단과 기능 실패를 구분할 수 없음
Device API input/output On-device 구현 문제와 SoC/API 문제를 분리할 수 없음
TTS/subtitle/screen 기능 실행 성공 후 표현 문제를 별도 분리할 수 없음

공통 로그 관찰 포인트

On-device Agent에서 주로 확인할 로그는 아래입니다.

STT raw text
STT processed text
[DICTIONARY_MATCH]
parsedLlamaResponse
Cutted parsedLlamaResponse
HI_NAMUH_LLMResponseParser
ApiCallValidator(preLlmCallValidate)
ApiCallValidator(preApiCallValidate)
FunctionCallHandler
mappingTtsTextAndDeviceApi
DeviceCommunicator Device API Input Parameter
DeviceCommunicator Device API Output Result
ttsText
resetState
determineMultiTurn
skipResume

Cloud LLM에서 주로 확인할 항목은 아래입니다.

request body: device_id, messages
system prompt
user content
case
response
rewrite_query
prepared_question_list_number
RAG judge result
File RAG result
Web Search result
final OpenAI-style response

Cloud rewrite_query를 검증할 때는 case=2 여부만 보지 않습니다.

1. Cloud user content가 실제 originalSttResult와 같은지 확인
2. Case Router가 제품 기능을 Case 2로 분류했는지 확인
3. rewrite_query가 사용자 명령형이며 기능명/action/slot을 보존했는지 확인
4. rewrite_query를 온디바이스 로컬 파이프라인에 다시 넣었을 때 기대 <sk_xx>가 나오는지 확인
5. 실패 시 Cloud prompt/router 문제인지, 온디바이스 dictionary 공백인지 분리

이슈 분류 빠른 판단표

관찰 결과 1차 원인 후보 다음 확인
STT raw부터 틀림 STT/음성 전처리/발음/환경 소음 raw 음성, STT 모델, 전처리 조건
STT는 맞고 토큰이 틀림 딕셔너리/로컬 LLM 오매칭 [DICTIONARY_MATCH], parsedLlamaResponse
토큰은 맞고 실행이 안 됨 ApiCallValidator/기기 상태/API error code, DeviceStatus, Device API 호출
로컬 실패 후 Cloud가 이상한 답변 Cloud prompt/Case 분류 Cloud response JSON
Cloud Case 2는 맞지만 로컬 재매칭 실패 rewrite_query 품질/딕셔너리 부족 rewrite_query를 로컬 딕셔너리 테스트
TTS가 사양과 다름 string resource/FunctionCallHandler 분기 ttsText, R.string.*
화면이 안 뜸 setLauncherScreen 분기/API launcher screen command
멀티턴이 꼬임 multiTurnBusy, skipResume, isCloudContinue 상태 전환 로그

템플릿

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date