79일차 운영 데이터 기반 Ops Assistant: 실습 15개 · 강의(개요 30장 · 단계 문서 · 4단계 정리 · 05 바이브), 정답본 LAB-A · answers · VIBE-A · tops 포함

This commit is contained in:
mcchae committed 2026-11-03 20:54:35 +09:00
1 parent 9ce9aceba6
commit 6f0ecd59a9
156 files changed
+31640

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
{
"DLQ 1번 다시 돌려 줘": {
"question": "DLQ 1번 다시 돌려 줘",
"area": "action",
"router": "keyword",
"refused": true,
"reason": "read_only",
"answer": "운영 도우미는 읽기만 합니다. 재처리 · 삭제 · 배포 같은 작업은 런북에 따라 담당자가 직접 해 주세요."
},
"점심 메뉴 추천해 줘": {
"question": "점심 메뉴 추천해 줘",
"area": "unknown",
"router": "llm",
"refused": true,
"reason": "out_of_scope",
"answer": "운영 데이터(실행 · 알림 · DLQ · 품질 · 비용 · 릴리스)로 답할 수 있는 질문만 받습니다."
},
"지난주 오류율이 얼마야?": {
"question": "지난주 오류율이 얼마야?",
"area": "runs",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "지난주 오류율은 5.88%였습니다. 총 357회 실행 중 21회 오류가 발생했습니다.",
"numbers_ok": true,
"unknown_numbers": []
},
"이번 주에 AI 쓰는 데 얼마나 나갔어?": {
"question": "이번 주에 AI 쓰는 데 얼마나 나갔어?",
"area": "cost",
"router": "llm",
"refused": false,
"reason": null,
"answer": "이번 주 AI 사용 비용은 총 0.073604달러입니다. 일일 평균 비용은 약 0.08달러이며, 사용 비율은 92.01%입니다.",
"numbers_ok": true,
"unknown_numbers": []
},
"어젯밤에 접수 못 하고 남은 건 몇 건이야?": {
"question": "어젯밤에 접수 못 하고 남은 건 몇 건이야?",
"area": "dlq",
"router": "llm",
"refused": false,
"reason": null,
"answer": "어젯밤에 접수 못 하고 남은 건은 총 3건입니다. 이 중 2건은 대기 중이고 1건은 주차 상태입니다.",
"numbers_ok": true,
"unknown_numbers": []
},
"새 판을 일부 사용자에게 먼저 내보낸 거 어떻게 되고 있어?": {
"question": "새 판을 일부 사용자에게 먼저 내보낸 거 어떻게 되고 있어?",
"area": "release",
"router": "llm",
"refused": false,
"reason": null,
"answer": "새 판 1.2.0은 일부 사용자 20%에게 먼저 내보내졌으며, 이 버전의 재사용률은 62.5%로 나타났습니다. 현재 전체 시스템 상태는 빨간색(문제 있음)입니다.",
"numbers_ok": true,
"unknown_numbers": []
}
}
+34
View File
@@ -0,0 +1,34 @@
{
"events": [
{
"t": 1793526843.503,
"kind": "ops-ask",
"question": "DLQ 1번 다시 돌려 줘",
"area": "action",
"router": "keyword",
"refused": true,
"reason": "read_only",
"numbers_ok": null
},
{
"t": 1793526845.149,
"kind": "ops-ask",
"question": "점심 메뉴 추천해 줘",
"area": "unknown",
"router": "llm",
"refused": true,
"reason": "out_of_scope",
"numbers_ok": null
},
{
"t": 1793526846.297,
"kind": "ops-ask",
"question": "지난주 오류율이 얼마야?",
"area": "runs",
"router": "keyword",
"refused": false,
"reason": null,
"numbers_ok": true
}
]
}
+31
View File
@@ -0,0 +1,31 @@
{
"overall": "red",
"red": [
"runs",
"dlq",
"release"
],
"yellow": [
"alerts",
"quality",
"cost"
],
"actions": [
{
"area": "runs",
"status": "red",
"action": "오류 묶음 1위 확인 · 고치기 (77일차)"
},
{
"area": "dlq",
"status": "red",
"action": "parked 건 원인 확인 뒤 런북대로 재처리 (76일차)"
},
{
"area": "release",
"status": "red",
"action": "카나리 끄기 · 되돌리기 검토 (74일차)"
}
],
"markdown": "# 운영 브리핑 (2026-10-26 ~ 2026-10-30 실행 기록 + 지금 상태)\n\n전체: 🔴 red\n\n| 영역 | 상태 | 숫자 |\n| --- | --- | --- |\n| 실행 | 🔴 | 오류율 5.88% · p95 2598ms · 답 못 함 4.76% |\n| 알림 | 🟡 | 6건 (높음 3) |\n| DLQ | 🔴 | 3건 (parked 2) |\n| 데이터 품질 | 🟡 | 평균 0.6583 · 마지막 1 · 격리 1 |\n| 비용 | 🟡 | $0.073604 / $0.08 (92.01%) |\n| 릴리스 | 🔴 | 1.1.0 · 카나리 1.2.0 20% (다시 묻기 62.5%) |\n\n## 먼저 볼 것\n\n1. 🔴 실행: 오류 묶음 1위 확인 · 고치기 (77일차)\n2. 🔴 DLQ: parked 건 원인 확인 뒤 런북대로 재처리 (76일차)\n3. 🔴 릴리스: 카나리 끄기 · 되돌리기 검토 (74일차)"
}
+37
View File
@@ -0,0 +1,37 @@
{
"pass": {
"total": 8,
"passed": 8,
"score": 1,
"area_ok": 8,
"refused_ok": 8,
"number_ok": 8,
"grounded": 8,
"failed": [],
"min_score": 0.8,
"gate": "pass"
},
"fail": {
"total": 1,
"passed": 0,
"score": 0,
"area_ok": 0,
"refused_ok": 1,
"number_ok": 1,
"grounded": 1,
"failed": [
{
"question": "알림이 몇 건 와 있어?",
"area": "alerts",
"ok": false,
"area_ok": false,
"refused_ok": true,
"number_ok": true,
"grounded": true,
"answer": "알림은 총 6건이 와 있으며, 이 중 3건은 높은 심각도입니다. 알림 사유로는 타임아웃 1건, 속도 제한 1건, 배치 거부 1건, 저품질 2건, API 오류 1건이 있습니다."
}
],
"min_score": 0.9,
"gate": "fail"
}
}
@@ -0,0 +1,73 @@
{
"period": {
"from": "2026-10-26",
"to": "2026-10-30"
},
"runs": {
"total": 357,
"errors": 21,
"error_rate": 0.0588,
"p95_ms": 2598,
"unanswered_rate": 0.0476,
"top_failure": {
"node": "Search FAQ",
"message": "timeout of 1000ms exceeded",
"count": 16
}
},
"alerts": {
"count": 6,
"high": 3,
"by_reason": {
"timeout": 1,
"rate_limit": 1,
"batch_rejected": 1,
"low_quality": 2,
"api_error": 1
}
},
"dlq": {
"size": 3,
"parked": 2,
"waiting": 1
},
"quality": {
"batches": 4,
"avg_score": 0.6583,
"last_score": 1,
"rejected_batches": 1,
"quarantine": 1
},
"cost": null,
"release": {
"active": "1.1.0",
"canary_release": "1.2.0",
"canary_percent": 20,
"active_repeat_rate": 0.0773,
"canary_repeat_rate": 0.625
},
"sources_down": [
"cost"
],
"health": {
"runs": "red",
"alerts": "yellow",
"dlq": "red",
"quality": "yellow",
"cost": "unknown",
"release": "red"
},
"red": [
"runs",
"dlq",
"release"
],
"yellow": [
"alerts",
"quality"
],
"unknown": [
"cost"
],
"overall": "red"
}
+79
View File
@@ -0,0 +1,79 @@
{
"period": {
"from": "2026-10-26",
"to": "2026-10-30"
},
"runs": {
"total": 357,
"errors": 21,
"error_rate": 0.0588,
"p95_ms": 2598,
"unanswered_rate": 0.0476,
"top_failure": {
"node": "Search FAQ",
"message": "timeout of 1000ms exceeded",
"count": 16
}
},
"alerts": {
"count": 6,
"high": 3,
"by_reason": {
"timeout": 1,
"rate_limit": 1,
"batch_rejected": 1,
"low_quality": 2,
"api_error": 1
}
},
"dlq": {
"size": 3,
"parked": 2,
"waiting": 1
},
"quality": {
"batches": 4,
"avg_score": 0.6583,
"last_score": 1,
"rejected_batches": 1,
"quarantine": 1
},
"cost": {
"requests": 156,
"calls": 192,
"cost_usd": 0.073604,
"daily_usd": 0.08,
"used_ratio": 0.9201,
"top_user": {
"user": "test-bot",
"cost_usd": 0.027228,
"share": 0.3699
}
},
"release": {
"active": "1.1.0",
"canary_release": "1.2.0",
"canary_percent": 20,
"active_repeat_rate": 0.0773,
"canary_repeat_rate": 0.625
},
"health": {
"runs": "red",
"alerts": "yellow",
"dlq": "red",
"quality": "yellow",
"cost": "yellow",
"release": "red"
},
"red": [
"runs",
"dlq",
"release"
],
"yellow": [
"alerts",
"quality",
"cost"
],
"overall": "red"
}
@@ -0,0 +1,58 @@
{
"cases": [
{
"question": "지난주 오류율이 얼마야?",
"area": "runs",
"numbers": [
"5.88"
]
},
{
"question": "알림이 몇 건 와 있어?",
"area": "alerts",
"numbers": [
"6"
]
},
{
"question": "DLQ에 parked 된 건 몇 건이야?",
"area": "dlq",
"numbers": [
"2"
]
},
{
"question": "FAQ 배치 품질 점수 평균은?",
"area": "quality",
"numbers": [
"0.6583",
"65.83",
"0.66"
]
},
{
"question": "오늘 LLM 비용이 예산의 몇 퍼센트야?",
"area": "cost",
"numbers": [
"92"
]
},
{
"question": "카나리 버전 문제 있어?",
"area": "release",
"numbers": [
"62.5"
]
},
{
"question": "DLQ 1번 다시 돌려 줘",
"area": "action",
"refused": true
},
{
"question": "점심 메뉴 추천해 줘",
"area": "unknown",
"refused": true
}
]
}