20분
Mock 모드 - API가 죽어도 데모는 계속된다
Day 2: 데모 준비 - 3분 안에 9주를 증명하라
Mock 모드 - API가 죽어도 데모는 계속된다
발표 & 포트폴리오 > Day 2: 데모 준비 - 3분 안에 9주를 증명하라
학습 목표
Mock 모드의 개념과 필요성을 이해한다 외부 API 장애 시에도 데모를 계속할 수 있는 전략을 학습한다
API가 죽어도 데모는 계속되어야 한다
OpenAI API가 느리거나 응답하지 않는 상황. 데모 도중 이런 일이 발생하면?
# 환경변수 하나로 Mock 모드 ON/OFF
# .env
DEMO_MOCK_MODE=true # true면 Mock, false면 실제 API
# app/config.py
import os
MOCK_MODE = os.getenv("DEMO_MOCK_MODE", "false").lower() == "true"
Mock 응답 설계
# app/mock_responses.py
MOCK_DIAGNOSIS = {
"E-CNC-001": {
"error_code": "E-CNC-001",
"diagnosis": "스핀들 베어링 과열로 인한 경보 발생",
"severity": "high",
"root_cause": "스핀들 베어링의 윤활유 부족 또는 마모. "
"정격 부하 초과 운전으로 인한 발열 가능성.",
"actions": [
{"step": 1, "action": "즉시 운전 정지 및 LOTO 설정",
"caution": "안전 잠금장치 반드시 설정"},
{"step": 2, "action": "적외선 온도계로 베어링 온도 측정",
"caution": "85도 초과 시 냉각 후 점검"},
{"step": 3, "action": "윤활유 상태 확인 (변색, 이물질)",
"caution": None},
{"step": 4, "action": "베어링 교체 이력 확인 (수명 8,000시간)",
"caution": None},
{"step": 5, "action": "필요 시 베어링 교체 (규격 7014C)",
"caution": "전용 풀러 사용, 그리스 SKF LGMT2 30g 도포"},
],
"sources": [
"KOSHA H-72-2024 제3장 2절",
"CNC 매뉴얼 - 스핀들 유지보수 섹션",
"내부 트러블슈팅 가이드 TS-001",
],
"confidence": 0.87,
"response_time_ms": 2340,
}
}
Mock 모드 적용 패턴
# app/services/diagnosis.py
from app.config import MOCK_MODE
from app.mock_responses import MOCK_DIAGNOSIS
async def diagnose(error_code: str):
if MOCK_MODE:
# Mock 응답 반환 (API 호출 없음)
mock = MOCK_DIAGNOSIS.get(error_code)
if mock:
return mock
return {"error": "Mock 데이터에 해당 에러코드 없음"}
# 실제 API 호출
result = await agent.invoke({"error_code": error_code})
return result
언제 Mock 모드를 쓰는가
| 상황 | Mock 사용 | 이유 |
|---|---|---|
| 라이브 데모 | 백업으로 준비 | API 장애 대비 |
| 리허설 | 적극 사용 | API 비용 절감 |
| 녹화 | 사용 권장 | 일관된 응답 보장 |
| 개발 중 | 상황에 따라 | 빠른 반복 |
Mock 모드는 "사기"가 아니다. **"시스템이 동작한다는 것을 신뢰성 있게 보여주는 전략"**이다.
핵심 정리
- 환경변수 하나로 Mock ON/OFF 전환
- 시나리오별 실제와 동일한 Mock 응답 준비
- Mock은 사기가 아닌 안정적 시연 전략
- 리허설과 녹화에서 적극 활용
AI로 학습하기 — 꿀팁
🧪Mock 모드 전략을 제조 현장 데이터로AI 학습 팁
데모용 Mock 데이터는 '현실적 수치 범위'가 핵심입니다. OEE 100%나 불량률 0% 같은 비현실적 수치는 청중의 신뢰를 오히려 낮춥니다. AI로 공정 유형별 현실적인 Mock 데이터 범위를 설계하세요.
제조 AI 데모용 Mock 데이터 전략을 설계해줘. 내 데모 시나리오: [결함 탐지/OEE 모니터링/수요예측 중 선택]. 출력: 1) 공정 유형별 현실적 KPI 수치 범위(자동차 조립 라인 OEE 82~91%, 불량률 0.3~1.2% 등 업계 벤치마크 기반), 2) 데모 임팩트를 극대화하는 Mock 시나리오 설계(이상 탐지 → 정상 → 이상 순서로 청중 긴장감 유도), 3) Mock 데이터가 너무 깔끔해서 'AI가 짜 맞춘 것처럼' 보이지 않도록 자연스러운 노이즈 추가 방법, 4) 환경변수 DEMO_MODE 토글 설계 패턴.
이 팁이 도움이 됐나요?