ERP-node/docs/AI_어시스턴트_사용가이드.md

522 lines
13 KiB
Markdown
Raw Normal View History

2025-11-05 16:36:32 +09:00
# 🤖 AI 생산관리 어시스턴트 사용 가이드
## 📋 목차
1. [개요](#개요)
2. [주요 기능](#주요-기능)
3. [설치 방법](#설치-방법)
4. [사용 방법](#사용-방법)
5. [실제 시스템 연동](#실제-시스템-연동)
6. [고급 설정](#고급-설정)
7. [FAQ](#faq)
---
## 개요
**AI 생산관리 어시스턴트**는 실시간으로 신규 수주를 감지하고, AI가 영향을 분석하여 최적의 대응 방안을 제시한 후, 담당자가 선택한 옵션을 자동으로 시스템에 적용하는 지능형 어시스턴트입니다.
### 🎯 핵심 가치
-**즉각 대응**: 수주 입력 후 수 초 내에 AI 분석 완료
- 🧠 **지능형 분석**: 생산/출하/발주 전체를 통합 분석
- 🎤 **편리한 인터페이스**: 음성 알림 및 음성 선택 지원
- 🤖 **자동 적용**: 선택한 옵션을 시스템에 자동 반영
---
## 주요 기능
### 1. 🔍 실시간 감지
- 신규 수주가 입력되면 즉시 감지
- 변경사항 실시간 모니터링
### 2. 🤖 AI 영향 분석
- **기존 계획 영향도 분석**
- 지연 예상되는 생산계획 파악
- 설비 가동률 변화 계산
- 원자재 부족량 예측
- **3가지 대응 방안 자동 생성**
- 옵션 1: 야간 작업 추가 (주로 추천)
- 옵션 2: 기존 주문 지연
- 옵션 3: 외주 생산
- **각 옵션별 장단점 분석**
- 비용 영향
- 납기 준수 여부
- 리스크 요인
### 3. 🔔 다양한 알림 방식
```javascript
// 1. 브라우저 알림
new Notification('🚨 긴급 수주 발생!')
// 2. 음성 알림 (TTS)
aiAssistant.speak('긴급 수주가 발생했습니다')
// 3. 화면 토스트
aiAssistant.showToast('신규 수주 입력됨')
```
### 4. 🎤 음성 제어
- "옵션 1", "첫 번째", "야간 작업" 등으로 선택
- 한국어 음성 인식 지원
### 5. ⚡ 자동 적용
- 생산계획 수정
- 출하계획 조정
- 긴급 발주 생성
- 작업자 배정
- 외주 발주 처리
### 6. 📝 감사 로그
- 모든 AI 결정 기록
- 변경 이력 추적
- 롤백 가능
---
## 설치 방법
### 1⃣ 파일 복사
프로젝트에 다음 파일들을 추가하세요:
```
화면개발/
├── js/
│ └── aiProductionAssistant.js ← AI 어시스턴트 핵심 로직
├── css/
│ └── aiAssistant.css ← UI 스타일
└── ai-assistant-demo.html ← 데모 페이지 (참고용)
```
### 2⃣ HTML 파일에 추가
기존 HTML 파일 (예: `수주관리.html`)의 `<head>` 태그에 추가:
```html
<!-- CSS -->
<link rel="stylesheet" href="css/aiAssistant.css">
<!-- JavaScript (</body> 직전에 추가) -->
<script src="js/aiProductionAssistant.js"></script>
```
### 3⃣ 완료! 🎉
이제 `aiAssistant` 객체를 사용할 수 있습니다.
---
## 사용 방법
### 기본 사용 (3단계)
#### Step 1: AI 활성화
```javascript
// AI 어시스턴트 활성화
aiAssistant.activate();
```
#### Step 2: 수주 데이터 전달
```javascript
// 신규 수주 발생 시
const newOrder = {
id: 'ORD-001',
item: '제품A',
quantity: 5000,
dueDate: '2025-10-28',
customer: '고객사명'
};
aiAssistant.onNewOrderDetected(newOrder);
```
#### Step 3: AI가 자동 처리
1. 영향 분석 (10초 내외)
2. 3가지 옵션 제시
3. 담당자 선택
4. 자동 적용 완료!
---
## 실제 시스템 연동
### 📌 수주관리 화면 연동 예시
```html
<!-- 수주관리.html -->
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>수주관리</title>
<!-- 기존 CSS -->
<link rel="stylesheet" href="css/common.css">
<!-- AI 어시스턴트 CSS 추가 -->
<link rel="stylesheet" href="css/aiAssistant.css">
</head>
<body>
<!-- 기존 수주관리 화면 내용 -->
<div class="content-area">
<div class="search-section">
<!-- 검색 폼 -->
</div>
<div class="table-section">
<!-- 수주 목록 테이블 -->
</div>
<!-- 수주 등록 버튼 -->
<button onclick="openOrderModal()">신규 수주 등록</button>
</div>
<!-- 기존 JavaScript -->
<script src="js/common.js"></script>
<!-- AI 어시스턴트 추가 -->
<script src="js/aiProductionAssistant.js"></script>
<script>
// 페이지 로드 시 AI 활성화
window.addEventListener('load', () => {
aiAssistant.activate();
console.log('✅ AI 어시스턴트 준비 완료');
});
// 기존 수주 저장 함수 수정
function saveOrder() {
const orderData = {
id: document.getElementById('orderId').value,
item: document.getElementById('itemName').value,
quantity: parseInt(document.getElementById('quantity').value),
dueDate: document.getElementById('dueDate').value,
customer: document.getElementById('customer').value
};
// 1. 기존 로직: 데이터베이스 저장
saveToDatabase(orderData);
// 2. AI 어시스턴트 알림 (새로 추가!)
if (aiAssistant.isActive) {
aiAssistant.onNewOrderDetected(orderData);
}
// 3. 모달 닫기
closeModal();
}
// 기존 저장 함수는 그대로 유지
function saveToDatabase(data) {
// ... 기존 로직 ...
}
</script>
</body>
</html>
```
### 📌 생산계획관리 화면 연동
```javascript
// 생산계획관리.html 또는 생산계획.js
// 현재 생산계획 데이터를 AI가 접근할 수 있도록 전역 변수로 설정
window.productionPlans = [
{
id: 'P001',
item: '제품A',
quantity: 1000,
startDate: '2025-10-26',
endDate: '2025-10-28',
status: 'in_progress'
},
// ... 더 많은 계획
];
// AI 어시스턴트가 생산계획을 수정할 때 호출되는 함수
function onProductionPlanUpdated(updatedPlan) {
console.log('AI가 생산계획을 수정했습니다:', updatedPlan);
// UI 업데이트
refreshProductionTable();
// 서버 동기화
syncToServer(updatedPlan);
}
// AI 어시스턴트에게 콜백 등록
aiAssistant.onProductionUpdate = onProductionPlanUpdated;
```
### 📌 출하계획관리 화면 연동
```javascript
// 출하계획.js
window.shipmentPlans = [
{
id: 'S001',
orderId: 'ORD-001',
shipmentDate: '2025-10-29',
quantity: 1000
}
];
// AI가 출하계획을 조정할 때
function onShipmentPlanUpdated(updatedPlan) {
console.log('출하계획 조정:', updatedPlan);
refreshShipmentTable();
}
aiAssistant.onShipmentUpdate = onShipmentPlanUpdated;
```
---
## 고급 설정
### 🔑 OpenAI API 연동 (실제 AI 사용)
```javascript
// API 키 설정
aiAssistant.apiKey = 'sk-your-openai-api-key';
// 이제 실제 GPT-4를 사용하여 분석합니다
// API 키가 없으면 규칙 기반 분석이 사용됩니다
```
### 🎨 UI 커스터마이징
`css/aiAssistant.css`를 수정하여 디자인을 변경할 수 있습니다:
```css
/* 예: 모달 색상 변경 */
.ai-modal-header {
background: linear-gradient(135deg, #your-color-1, #your-color-2);
}
/* 버튼 색상 변경 */
.btn-primary {
background: linear-gradient(135deg, #your-color-1, #your-color-2);
}
```
### 🔧 분석 로직 커스터마이징
`js/aiProductionAssistant.js``ruleBasedAnalysis` 함수를 수정:
```javascript
ruleBasedAnalysis(newOrder, currentState) {
// 여기서 회사 특성에 맞게 로직 수정
// 예: 일일 생산량 변경
const dailyCapacity = 1500; // 기본 1000에서 1500으로
// 예: 안전 재고 계산 방식 변경
const safetyStock = newOrder.quantity * 0.2; // 20% 안전 재고
// ... 나머지 로직
}
```
### 📊 데이터 수집 함수 연동
실제 시스템 데이터를 가져오도록 수정:
```javascript
// js/aiProductionAssistant.js 수정
getProductionPlans() {
// 방법 1: 전역 변수에서 가져오기
return window.productionPlans || [];
// 방법 2: API에서 실시간 가져오기 (권장)
// return fetch('/api/production-plans').then(r => r.json());
}
getInventory() {
// 실제 재고 데이터
return window.inventory || {};
}
// 다른 함수들도 마찬가지로 수정
```
---
## 데모 페이지
### 🎮 테스트 방법
1. **데모 페이지 열기**
```
http://localhost:8080/화면개발/ai-assistant-demo.html
```
2. **AI 활성화**
- "AI 활성화/비활성화" 버튼 클릭
- 상태가 "활성화됨"으로 변경됨
3. **시나리오 테스트**
- 시나리오 1~3 중 하나 선택
- AI 분석 결과 확인
- 옵션 선택 후 "자동 적용" 클릭
4. **음성 기능 테스트**
- "음성 테스트" 버튼으로 TTS 확인
- 모달에서 "🎤 음성으로 선택" 버튼으로 음성 인식 테스트
---
## FAQ
### Q1. AI 없이도 사용할 수 있나요?
**A:** 네! OpenAI API 없이도 규칙 기반 분석이 자동으로 작동합니다. 기본 기능은 모두 사용 가능합니다.
### Q2. 어떤 브라우저를 지원하나요?
**A:**
- ✅ Chrome, Edge (권장)
- ✅ Firefox
- ⚠️ Safari (일부 기능 제한)
- ❌ IE (미지원)
음성 인식은 Chrome/Edge에서 가장 잘 작동합니다.
### Q3. 실시간 감지는 어떻게 작동하나요?
**A:** 수주 저장 함수에서 `aiAssistant.onNewOrderDetected()`를 호출하면 즉시 AI 분석이 시작됩니다. WebSocket 연동은 선택사항입니다.
### Q4. 자동 적용이 안전한가요?
**A:**
- ✅ 모든 변경사항은 로그로 기록됩니다
- ✅ 담당자가 직접 옵션을 선택해야 적용됩니다
- ✅ 롤백 기능 구현 가능
- ⚠️ 중요한 경우 추가 승인 프로세스 권장
### Q5. 다른 화면들과 데이터 동기화는?
**A:** AI가 데이터를 수정하면 각 화면의 콜백 함수가 호출됩니다:
```javascript
// 생산계획 수정 시
aiAssistant.onProductionUpdate = (plan) => {
refreshProductionTable();
};
// 출하계획 수정 시
aiAssistant.onShipmentUpdate = (plan) => {
refreshShipmentTable();
};
```
### Q6. 성능은 어떤가요?
**A:**
- 규칙 기반 분석: 1초 미만
- OpenAI API 분석: 5-15초
- 자동 적용: 2-5초
### Q7. 비용은 얼마나 드나요?
**A:**
- 규칙 기반 분석: 무료
- OpenAI API: 요청당 약 $0.01-0.05 (GPT-4 기준)
- 하루 100건 분석 시: 약 $1-5
### Q8. 기존 시스템을 많이 수정해야 하나요?
**A:** 아니요! 최소 수정으로 연동 가능:
```javascript
// 기존 저장 함수에 딱 3줄만 추가
function saveOrder(data) {
saveToDatabase(data); // 기존 코드
// 새로 추가되는 코드 (3줄)
if (aiAssistant.isActive) {
aiAssistant.onNewOrderDetected(data);
}
}
```
### Q9. 모바일에서도 작동하나요?
**A:**
- ✅ 화면은 반응형으로 대응
- ⚠️ 음성 인식은 모바일에서 제한적
- ✅ 터치 인터페이스 지원
### Q10. 여러 명이 동시에 사용하면?
**A:** 각 사용자의 브라우저에서 독립적으로 작동합니다. 서버 공유가 필요한 경우 WebSocket 서버 구축을 권장합니다.
---
## 🚀 다음 단계
### 단계별 구현 로드맵
#### ✅ Phase 1: 프로토타입 (현재)
- [x] 기본 AI 분석
- [x] 음성 알림
- [x] 모달 UI
- [x] 자동 적용 시뮬레이션
#### 🔄 Phase 2: 실제 연동 (2-3일)
- [ ] 수주관리 화면 연동
- [ ] 생산계획 데이터 연동
- [ ] 출하계획 데이터 연동
- [ ] 서버 API 연동
#### 🎯 Phase 3: 고도화 (1-2주)
- [ ] OpenAI API 통합
- [ ] 학습 데이터 수집
- [ ] 정확도 향상
- [ ] 대시보드 추가
#### 🌟 Phase 4: 확장 (1개월+)
- [ ] 재고 최적화 AI
- [ ] 설비 고장 예측
- [ ] 품질 관리 AI
- [ ] 모바일 앱
---
## 📞 지원
문제가 발생하거나 추가 기능이 필요한 경우:
1. **데모 페이지로 먼저 테스트**
- `ai-assistant-demo.html` 열기
- 브라우저 콘솔(F12) 확인
2. **로그 확인**
```javascript
// 콘솔에서 현재 상태 확인
console.log(aiAssistant);
console.log(aiAssistant.isActive);
```
3. **테스트 함수 사용**
```javascript
// 콘솔에서 직접 테스트
testAI(); // 전체 플로우 테스트
```
---
## 📝 변경 이력
### v1.0.0 (2025-10-25)
- 🎉 초기 버전 릴리스
- ✅ 실시간 감지
- ✅ AI 분석 (규칙 기반)
- ✅ 음성 알림/인식
- ✅ 자동 적용
- ✅ 데모 페이지
---
**즐거운 AI 체험 되세요! 🤖✨**