Files
5why-analyzer/系統使用說明書.md
donald 66cdcacce9 feat: Implement role-based access control (RBAC) with 3-tier authorization
- Add 3 user roles: user, admin, super_admin
- Restrict LLM config management to super_admin only
- Restrict audit logs and statistics to super_admin only
- Update AdminPage with role-based tab visibility
- Add complete 5 Why prompt from 5why-analyzer.jsx
- Add system documentation and authorization guide
- Add ErrorModal component and seed test users script

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 19:29:28 +08:00

345 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 5 Why 根因分析系統 - 使用說明書
**版本**: 1.3.0
**更新日期**: 2025-12-08
---
## 目錄
1. [系統概述](#1-系統概述)
2. [系統架構](#2-系統架構)
3. [使用流程](#3-使用流程)
4. [功能說明](#4-功能說明)
5. [優化設計](#5-優化設計)
6. [常見問題](#6-常見問題)
---
## 1. 系統概述
### 1.1 什麼是 5 Why 分析法?
5 Why 分析法是一種根因分析技術,透過連續追問「為什麼」來深入探究問題的根本原因,而非停留在表面症狀。
### 1.2 系統目標
本系統整合 AI 大型語言模型LLM協助使用者
- **快速進行根因分析**AI 從多個角度自動生成 5 Why 分析
- **確保分析品質**:遵循五大執行要項,避免常見錯誤
- **提供永久對策**:聚焦系統性解決方案,而非暫時性補救
### 1.3 系統特色
| 特色 | 說明 |
|------|------|
| 多角度分析 | 自動從 3 個不同角度(流程面、系統面、管理面等)進行分析 |
| 邏輯檢核 | 每個分析自動進行順向/逆向邏輯驗證 |
| 多語言支援 | 支援繁中、簡中、英、日、韓、越、泰 7 種語言 |
| 歷史記錄 | 自動保存所有分析記錄,可隨時查詢 |
---
## 2. 系統架構
### 2.1 技術架構
```
┌─────────────────────────────────────────────────────────┐
│ 使用者介面 │
│ (React + Tailwind CSS) │
├─────────────────────────────────────────────────────────┤
│ 後端服務 │
│ (Node.js + Express) │
├──────────────────┬──────────────────┬───────────────────┤
│ MySQL 資料庫 │ Session 管理 │ LLM API │
│ (分析記錄儲存) │ (使用者認證) │ (DeepSeek/Ollama)│
└──────────────────┴──────────────────┴───────────────────┘
```
### 2.2 模組說明
| 模組 | 功能 |
|------|------|
| 認證模組 | 使用者登入、登出、密碼管理 |
| 分析模組 | 5 Why 分析、翻譯、歷史查詢 |
| 管理模組 | 使用者管理、LLM 配置、稽核日誌 |
---
## 3. 使用流程
### 3.1 整體流程圖
```
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 登入 │ -> │ 輸入問題 │ -> │ AI 分析 │ -> │ 查看結果 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │
v v
┌──────────────┐ ┌──────────────┐
│ 選擇輸出語言 │ │ 翻譯/匯出 │
└──────────────┘ └──────────────┘
```
### 3.2 詳細操作步驟
#### 步驟 1登入系統
1. 開啟系統網址 `http://localhost:5176`
2. 輸入帳號Email 或工號)與密碼
3. 點擊「登入」按鈕
**測試帳號**
| 角色 | Email | 密碼 |
|------|-------|------|
| 超級管理員 | admin@example.com | Admin@123456 |
| 管理員 | manager@example.com | Manager@123456 |
| 一般使用者 | user@example.com | User@123456 |
#### 步驟 2輸入分析內容
在「5 Why 根因分析」頁面:
1. **發現的現象**(必填)
- 描述您觀察到的問題或異常
- 範例:「伺服器每週二凌晨 3 點當機」
2. **工作內容/背景**(必填)
- 提供相關的背景資訊
- 包含:系統環境、作業流程、相關人員等
3. **輸出語言**
- 選擇分析結果的語言
#### 步驟 3執行分析
1. 點擊「開始分析」按鈕
2. 等待 AI 處理(約 30-60 秒)
3. 系統會顯示分析進度
#### 步驟 4查看結果
分析完成後,會顯示:
```
┌─────────────────────────────────────────────────────┐
│ 問題重述 (5W1H) │
│ ─────────────────────────────────────────────────── │
│ [AI 用 5W1H 格式重新描述問題] │
├─────────────────────────────────────────────────────┤
│ 🔄 流程面分析 │
│ ─────────────────────────────────────────────────── │
│ Why 1: [問題] → [答案] ✓已確認 │
│ Why 2: [問題] → [答案] ⚠待驗證 │
│ Why 3: [問題] → [答案] ✓已確認 │
│ │
│ 🎯 根本原因:[分析結果] │
│ │
│ 🔄 邏輯檢核: │
│ ➡️ 順向:如果[原因]發生,則[結果]必然發生 │
│ ⬅️ 逆向:如果消除[原因],則[結果]不會發生 │
│ │
│ 💡 永久對策:[系統性解決方案] │
│ 行動項目: │
│ • [具體行動 1] │
│ • [具體行動 2] │
└─────────────────────────────────────────────────────┘
```
---
## 4. 功能說明
### 4.1 分析功能
#### 4.1.1 多角度分析
系統自動從 3 個不同角度進行分析:
- **流程面**:作業流程、標準程序
- **系統面**:技術系統、設備機制
- **管理面**:管理制度、監督機制
#### 4.1.2 5 Why 深度追問
每個角度會進行 3-5 次「為什麼」追問:
```
Why 1: 為什麼發生 A → 因為 B
Why 2: 為什麼發生 B → 因為 C
Why 3: 為什麼發生 C → 因為 D根本原因
```
#### 4.1.3 邏輯雙向檢核
每個分析包含邏輯驗證:
- **順向檢核**:如果原因發生,結果是否必然發生?
- **逆向檢核**:如果消除原因,結果是否就不會發生?
### 4.2 管理功能(僅管理員)
#### 4.2.1 儀表板
- 分析統計(總數、成功率、平均處理時間)
- 使用者活動統計
- 系統健康狀態
#### 4.2.2 使用者管理
- 新增/編輯/停用使用者
- 角色權限設定
- 密碼重設
#### 4.2.3 LLM 配置
- 新增/編輯 LLM 端點
- 模型選擇與參數調整
- 連線測試
#### 4.2.4 LLM 測試台
- 動態載入可用模型
- 快速連線測試
- 互動式對話測試
---
## 5. 優化設計
### 5.1 分析品質優化
#### 5.1.1 五大執行要項
系統 Prompt 內建五大執行要項,確保分析品質:
| 要項 | 說明 |
|------|------|
| 精準定義問題 | 使用 5W1H 描述現象,而非結論 |
| 聚焦流程與系統 | 追問「系統為何允許疏失發生」 |
| 基於事實 | 每個 Why 標註「已確認」或「待驗證」 |
| 邏輯檢核 | 順向+逆向雙向驗證 |
| 可執行對策 | 永久性系統解決方案 |
#### 5.1.2 Prompt 精簡化
```
優化前80+ 行複雜 Prompt
優化後15 行精簡 Prompt
效果:
- 減少 LLM 混淆
- 提高 JSON 格式正確率
- 降低回應被截斷風險
```
### 5.2 技術優化
#### 5.2.1 JSON 解析強化
多層修復策略處理 LLM 輸出格式問題:
```javascript
1. 清理特殊標記```json、<think>等)
2. 提取 { 到 } 之間的純 JSON
3. 修復常見格式問題(尾部逗號、缺少逗號)
4. 補齊未閉合的括號
```
#### 5.2.2 API 參數優化
```javascript
// 問題DeepSeek 限制 max_tokens 最大 8192
// 解決:動態限制在 4000-8000 之間
const effectiveMaxTokens = Math.min(
Math.max(parseInt(llmConfig.max_tokens) || 4000, 4000),
8000
);
// 問題temperature 為字串導致 API 錯誤
// 解決:確保轉換為數字
const effectiveTemperature = parseFloat(llmConfig.temperature) || 0.7;
```
### 5.3 使用者體驗優化
#### 5.3.1 結果視覺化
- 分析角度以卡片式呈現
- Why 層級以縮排+左邊界線區分
- 已確認/待驗證以顏色標記
- 根本原因、邏輯檢核、永久對策區塊化
#### 5.3.2 載入狀態
- 分析中顯示動畫與預估時間
- 錯誤發生時顯示詳細訊息
---
## 6. 常見問題
### Q1: 分析時間很長怎麼辦?
**原因**LLM API 回應時間取決於模型負載與輸入長度
**建議**
- 簡化輸入內容,聚焦關鍵資訊
- 避免在尖峰時段使用
### Q2: 出現「JSON 解析失敗」錯誤?
**原因**LLM 輸出格式不正確
**解決**
- 點擊「重試」重新分析
- 簡化輸入內容
- 聯繫管理員檢查 LLM 配置
### Q3: 分析結果不符合預期?
**建議**
- 提供更詳細的背景資訊
- 明確描述問題現象5W1H
- 避免主觀結論,描述客觀事實
### Q4: 如何切換 LLM 模型?
**步驟**(需管理員權限):
1. 進入「管理員」頁面
2. 選擇「LLM 配置」Tab
3. 新增或編輯配置
4. 點擊「啟用」設為預設
---
## 附錄
### A. 系統需求
| 項目 | 最低需求 |
|------|----------|
| 瀏覽器 | Chrome 90+、Firefox 88+、Edge 90+ |
| 網路 | 穩定的網際網路連線 |
### B. 快速鍵
| 快速鍵 | 功能 |
|--------|------|
| `Enter` | 在登入頁面提交表單 |
| `Ctrl+Enter` | 在分析頁面開始分析 |
### C. 聯絡支援
如有問題,請聯繫系統管理員或參考:
- GitHub Issues: https://github.com/anthropics/claude-code/issues
---
**文件版本**: 1.0.0
**編寫日期**: 2025-12-08
**編寫者**: Development Team