SCSAI 数字员工平台 — 规则引擎 SOUL

SCSAI 数字员工平台 — 规则引擎 SOUL

版本: 3.0

更新日期: 2026-05-09

核心理念: 自然语言 → 关键词识别 → 规则匹配 → 工具调用 → 结果返回

终极目标: 自运维、自进化的工业数字员工系统


一、系统灵魂(SOUL)

1.1 这是什么

SCSAI 是一个规则驱动的数字员工平台,它不是一个简单的聊天机器人,而是一个闭环的业务操作系统

老板/员工 下达指令(自然语言)
        ↓
   关键词识别引擎(L1:纯规则,无需LLM)
        ↓
   规则模板匹配(ai-agent-rules.json)
        ↓
   ┌─ need_llm=false → 直接调用API执行
   └─ need_llm=true  → LLM辅助理解 + 确认后执行
        ↓
   执行结果返回(前端/飞书/自动运维)
        ↓
   系统自学习、自优化

1.2 三级智能策略

| 级别 | 触发条件 | 处理方式 | 延迟 | 成本 |

|------|----------|----------|------|------|

| L1 规则直通 | 关键词命中 need_llm=false 的规则 | 直接调用工具API | <100ms | 零 |

| L2 规则+LLM | 关键词命中 need_llm=true 的规则 | LLM提取参数 → 用户确认 → 执行 | 1-3s | 低 |

| L3 纯LLM | 关键词未命中任何规则 | LLM理解意图 → 推理工具 → 确认 → 执行 | 3-10s | 中 |

核心原则:能用规则解决的绝不调用LLM,能用L1的绝不升级到L2/L3。


二、规则模板系统(RULES)

2.1 规则模板结构

每条规则就是一个"灵魂片段",定义了系统如何理解一类指令:

{
  "id": "规则唯一标识",
  "name": "规则名称(中文)",
  "keywords": ["关键词1", "关键词2"],
  "need_llm": false,
  "action": {
    "tool": "工具名称",
    "params": { "参数名": "参数值模板" },
    "required_fields": ["必填参数"],
    "aras_type": "SCSAI对象类名(可选)",
    "aras_select": "SCSAI查询字段(可选)"
  },
  "examples": ["示例指令1", "示例指令2"]
}

2.2 规则匹配算法

输入: 用户消息 "创建供应商华为,电话12345678"
      ↓
1. 转小写: "创建供应商华为,电话12345678"
      ↓
2. 遍历所有规则,计算每个规则的关键词命中数:
   - create_vendor: "创建"✓ "供应商"✓ "vendor"✓ → 得分3
   - create_project: "创建"✓ → 得分1
   - query_vendors: "供应商"✓ "vendor"✓ → 得分2
      ↓
3. 最高分规则: create_vendor (得分3)
      ↓
4. need_llm=true → 尝试从消息中提取参数:
   - name: "华为" (从消息中提取)
   - phone: "12345678" (从消息中提取)
      ↓
5. 返回确认: "我理解您想要创建供应商:华为,确认执行吗?"
      ↓
6. 用户确认 → 调用 create_vendor 工具 → 执行

2.3 完整规则清单(47条)

#### 🔍 查询类规则(L1 直通,无需LLM)

| ID | 规则名称 | 关键词 | 工具 | 说明 |

|----|----------|--------|------|------|

| query_item_types | 查询对象类列表 | 对象类/列表/ItemType/类型 | search_item_types | 查看系统所有对象类定义 |

| query_inventory | 查询库存 | 库存/查询/物料/stock | list_data(inventory_items) | 查看库存物料列表 |

| query_projects | 查询项目 | 项目/列表/进度/project | list_data(projects) | 查看项目列表和进度 |

| query_quality | 查询质量数据 | 质量/检验/NCR/合格率 | list_data(inspections) | 查看质量检验记录 |

| query_vendors | 查询供应商 | 供应商/vendor/厂家/列表 | list_data(vendors) | 查看供应商列表 |

| query_documents | 查询文档 | 文档/图纸/document/文件 | list_data(documents) | 查看文档列表 |

| query_cad | 查询CAD图纸 | CAD/图纸/cad | list_data(documents) | 查看CAD图纸 |

| query_customers | 查询客户 | 客户/customer/客户列表 | list_data(customers) | 查看客户列表 |

| query_work_orders | 查询工单 | 工单/生产/work_order | list_data(orders) | 查看生产工单 |

| dashboard | 数据概览 | 概览/统计/仪表盘/数据 | dashboard_summary | 仪表盘数据汇总 |

| compare_item_types | 比对对象类 | 比对/比较/差异/compare | compare_item_types | 本地vs SCSAI差异比对 |

| system_health | 系统健康检查 | 健康/状态/系统/检查 | system_health | 数据库/SCSAI/LLM状态 |

| export_data | 导出数据 | 导出/下载/export/excel | export_data | 导出模块数据 |

#### 🔧 系统运维类规则(L1 直通)

| ID | 规则名称 | 关键词 | 工具 | 说明 |

|----|----------|--------|------|------|

| optimize_item_types | 批量优化对象类 | 优化/对象类/属性/补全 | optimize_item_types | 自动补全缺失属性 |

| import_item_types | 导入对象类 | 导入/同步/对象类/AML | import_item_types | 从AML文件导入 |

| repair_item_type | 修复对象类 | 修复/对象类/完整性 | repair_item_type | 修复对象类定义 |

#### ✏️ 创建类规则(L2 需要LLM辅助理解)

| ID | 规则名称 | 关键词 | 工具 | SCSAI类型 | 必填字段 |

|----|----------|--------|------|----------|----------|

| create_vendor | 创建供应商 | 创建/新增/供应商/vendor/厂家 | create_vendor | Vendor | name |

| create_project | 创建项目 | 创建/新增/项目/project | create_project | Project | name |

| create_ecr | 创建变更请求 | 创建/新增/变更请求/ECR/变更 | create_aras_item | ECR | name |

| create_ncr | 创建不合格品报告 | 创建/新增/不合格/NCR/质量 | create_ncr | NCR | title |

| create_purchase_order | 创建采购单 | 创建/采购/purchase/PO | create_aras_item | pop_purchase_order | name |

| create_sales_order | 创建销售单 | 创建/销售/sales/SO/订单 | create_aras_item | sop_sale_order | name |

| create_work_order | 创建工单 | 创建/工单/work_order/生产单 | create_aras_item | Work_Order | name |

| create_document | 创建文档 | 创建/文档/上传/document | create_aras_item | Document | name |

#### 📦 库存操作类规则(L2 需要LLM辅助理解)

| ID | 规则名称 | 关键词 | 工具 | SCSAI类型 | 必填字段 |

|----|----------|--------|------|----------|----------|

| inventory_outbound | 库存出库 | 出库/领料/发货/扣减库存 | inventory_transaction | stk_issue | part_number, quantity |

| inventory_inbound | 库存入库 | 入库/收货/入库单 | inventory_transaction | stk_issue | part_number, quantity |

#### 🏷️ 标记类规则(L2 需要LLM辅助理解)

| ID | 规则名称 | 关键词 | 工具 | 必填字段 |

|----|----------|--------|------|----------|

| toggle_core | 设为核心对象 | 核心/业务对象/标记 | toggle_core_business | item_type_name |

#### 📊 分析类规则(L2 需要LLM辅助理解)

| ID | 规则名称 | 关键词 | 工具 | 必填字段 |

|----|----------|--------|------|----------|

| analyze_trends | 趋势分析 | 趋势/分析/统计/报表 | analyze_trends | module |


三、工具注册表(TOOLS)

3.1 工具定义

每个工具是规则模板的"手脚",定义了具体的执行逻辑:

| 工具名 | 描述 | 必填参数 | 数据源 |

|--------|------|----------|--------|

| search_item_types | 搜索对象类 | 无 | SQLite |

| get_item_type_detail | 获取对象类详情 | name | SQLite |

| list_data | 查询业务数据列表 | module | SQLite |

| create_vendor | 创建供应商 | name | SQLite + SCSAI |

| create_project | 创建项目 | name | SQLite |

| create_ncr | 创建NCR | title | SQLite |

| create_quality_inspection | 创建质量检验 | title, inspection_type | SQLite |

| create_inventory_item | 创建库存物品 | part_number, part_name | SQLite |

| inventory_transaction | 出入库操作 | part_number, transaction_type, quantity | SQLite |

| create_aras_item | 通用SCSAI对象创建 | item_type, name | SQLite + SCSAI |

| optimize_item_types | 批量优化对象类 | 无 | SQLite |

| repair_item_type | 修复对象类 | name | SQLite |

| toggle_core_business | 设置核心对象标记 | item_type_name, is_core | SQLite |

| import_item_types | 从AML导入对象类 | source | AML文件 + SQLite |

| compare_item_types | 比对对象类差异 | 无 | SQLite + SCSAI |

| dashboard_summary | 仪表盘汇总 | 无 | SQLite |

| system_health | 系统健康检查 | 无 | SQLite + SCSAI + LLM |

| analyze_trends | 趋势分析 | module | SQLite |

| export_data | 数据导出 | module | SQLite |

3.2 工具执行流程

executeTool(toolName, params)
    ↓
1. 在 TOOLS 数组中查找工具
    ↓
2. 验证必填参数(required)
    ↓
3. 调用 tool.handler(params)
    ↓
4. 返回 { type: 'result', success: true, data: ... }
    或   { type: 'error', message: '...' }

四、SCSAI 对象类映射

4.1 PLM 核心对象类

| 对象类 | SCSAI类型名 | AML文件路径 | 用途 |

|--------|-----------|-------------|------|

| 零件 | Part | PLM/Import/ItemType/Part.xml | BOM管理 |

| 文档 | Document | PLM/Import/ItemType/Document.xml | 文档管理 |

| CAD图纸 | CAD | PLM/Import/ItemType/CAD.xml | 图纸管理 |

| 供应商 | Vendor | PLM/Import/ItemType/Vendor.xml | 供应商管理 |

| 客户 | Customer | PLM/Import/ItemType/Customer.xml | 客户管理 |

| 变更请求 | ECR | PLM/Import/ItemType/ECR.xml | 工程变更 |

4.2 SCIOT 扩展对象类

对象类SCSAI类型名AML文件路径用途
项目ProjectSCIOT/SCIOT/Project/Import/ItemType/Project.xml项目管理
项目任务Project TaskSCIOT/SCIOT/Project/Import/ItemType/Project Task.xml任务管理
不合格品报告NCRSCIOT/SCIOT/QS/Import/ItemType/NCR.xml质量管理
纠正预防措施QAPSCIOT/SCIOT/QS/Import/ItemType/QAP.xml质量管理
库存设置stk_stock_setupSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/stk_stock_setup.xml库存管理
出库单stk_issueSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/stk_issue.xml库存管理
库存调拨stk_stock_transferSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/stk_stock_transfer.xml库存管理
采购订单pop_purchase_orderSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/pop_purchase_order.xml采购管理
销售订单sop_sale_orderSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/sop_sale_order.xml销售管理
工单Work_OrderSCIOT/SCIOT/WEFIC_ACCOUNTING/Import/ItemType/Work_Order.xml生产管理

4.3 SCIOT 对象类关系类型

从 ItemType.xml 中发现的真实关系类型( SCSAI 标准名称):

| 关系类型 | 查询方式 | 说明 |

|----------|----------|------|

| Property | | 直接关系 |

| Method | | 直接关系 |

| View | | 直接关系 |

| Allowed Permission | | 直接关系 |

| Server Event | | 直接关系 |

| Item Action | | 直接关系 |

| RelationshipType | | 通过source_id查询 |


五、闭环执行示例

示例1:L1 直通 — "查看库存"

用户: "查看库存"
  ↓
关键词匹配: "库存"✓ "查询"✓ → query_inventory (得分2, need_llm=false)
  ↓
直接执行: list_data({ module: "inventory_items" })
  ↓
SQL: SELECT * FROM inventory_items ORDER BY created_at DESC LIMIT 50
  ↓
返回: { type: 'result', data: { total: 156, items: [...] } }
  ↓
前端展示库存列表

示例2:L2 规则+LLM — "创建供应商华为,电话12345678"

用户: "创建供应商华为,电话12345678"
  ↓
关键词匹配: "创建"✓ "供应商"✓ "vendor"✓ → create_vendor (得分3, need_llm=true)
  ↓
参数提取: name="华为", phone="12345678"
  ↓
返回确认: { type: 'confirm', message: "我理解您想要创建供应商:华为\n\n确认执行吗?" }
  ↓
用户点击"确认"
  ↓
执行: create_vendor({ name: "华为", phone: "12345678" })
  ↓
1. SQLite: INSERT INTO vendors (id, name, phone, ...) VALUES (...)
2. SCSAI: POST /server/odata/Part → 创建 Vendor 对象
  ↓
返回: { type: 'result', message: "供应商创建成功(已同步SCSAI)" }

示例3:飞书远程指令 — "库存预警"

老板在飞书群 @数字员工助手: "库存预警"
  ↓
飞书事件推送 → POST /api/feishu/webhook
  ↓
handleMessageEvent → aiAgent.processMessage("库存预警")
  ↓
关键词匹配: "库存"✓ "预警"✗ → query_inventory (得分1, need_llm=false)
  ↓
执行: list_data({ module: "inventory_items" })
  ↓
飞书回复: "当前库存预警物料共12项:\n1. R001 电阻 - 当前0 安全100\n2. ..."

六、AI巡检系统(自进化核心)

6.1 巡检架构

AI巡检系统是平台自进化的核心引擎,通过持续检测SCSAI对象类的数据质量问题,自动修复并验证:

巡检(1197个对象类)→ 发现问题(5类规则)→ 一键修复(SSE实时进度)→ 自动重新巡检验证

6.2 巡检规则(5条,全部可自动修复)

| 规则ID | 名称 | 分类 | 严重级别 | 修复方式 |

|--------|------|------|----------|----------|

| rule-001 | 必须有中文标签 | 基础规范 | error | 内置翻译映射表(100+词条) + DeepSeek备用 |

| rule-002 | 必须有编号字段 | 数据完整性 | error | 自动添加item_number属性 |

| rule-003 | 必须有名称字段 | 数据完整性 | error | 自动添加name属性 |

| rule-004 | 必须有状态字段 | 生命周期 | warning | 自动添加state属性 |

| rule-005 | 必须有审计字段 | 审计追踪 | warning | 自动添加created_by_id属性 |

6.3 修复技术要点

  • 串行执行 + 200ms延迟:避免SCSAI数据库死锁
  • 重试机制:死锁自动重试最多2次
  • SSE实时推送:每个修复项完成后立即推送到前端
  • 数据分离:SSE只推summary,完整issues通过JSON接口获取(避免大数据卡住前端)
  • 认证透传:前端当前登录用户的认证信息传递到服务端,使用该用户权限执行修复

6.4 API接口

路由方法功能
/api/ai-inspector/inspect-streamPOSTSSE流式巡检
/api/ai-inspector/fix-streamPOSTSSE流式修复
/api/ai-inspector/last-resultPOST获取最近巡检完整结果
/api/ai-inspector/rulesGET获取规则列表

七、数字员工团队

7.1 当前在岗员工(4人)

工号名称职位部门调度周期核心能力
DS-ECR-001小智-ECR审核员变更管理初级审核员质量部每15分钟LLM智能初审ECR,置信度>0.8自动审批
DS-VEN-001小智-供应商管家供应商质量管理专员采购部每30分钟供应商质量评分监控,低于75分触发诊断
DS-COST-001小智-成本优化师成本分析工程师财务部每天凌晨2点BOM成本扫描,替代料推荐,ROI分析
DS-DATA-001小智-数据书记员数据同步工程师IT部每小时SCSAI数据同步到本地缓存(6种对象类型)

7.2 LLM大脑能力

能力角色设定输出
ECR智能审核CCB专家decision / confidence / riskLevel
供应商智能诊断质量专家健康度 / 风险 / 改进方案
BOM成本优化成本专家替代料推荐 / ROI分析
5Why根因分析6 Sigma黑带5层Why链 / 纠正预防措施

八、自运维自进化路线

阶段一:规则驱动(✅ 已完成)

  • ✅ 47条规则模板覆盖核心业务
  • ✅ 42个工具函数实现业务操作
  • ✅ 三级智能策略(L1/L2/L3)
  • ✅ 飞书机器人远程指令
  • ✅ 关键词匹配 + LLM降级
  • ✅ AI巡检系统(5条规则,SSE实时修复)
  • ✅ 4个数字员工自主工作
  • ✅ SCSAI SOAP API集成
  • ✅ 数据双写架构(SCSAI + SQLite)

阶段二:自学习(🔲 进行中)

  • 🔲 操作日志分析 → 自动发现高频指令 → 自动生成新规则
  • 🔲 用户反馈收集 → 优化规则关键词权重
  • 🔲 规则冲突检测 → 自动调整优先级
  • 🔲 AML变更监听 → 自动同步对象类定义
  • 🔲 巡检规则扩展(关系类型/生命周期/权限/命名规范)

阶段三:自运维(🔲 规划中)

  • ✅ 定时健康检查 → 数据书记员已实现
  • 🔲 库存预警 → 自动触发采购建议
  • 🔲 质量趋势分析 → 自动发起纠正措施
  • 🔲 系统异常检测 → 自动诊断并修复
  • 🔲 对象类完整性自动巡检 → 自动修复(AI巡检系统已实现基础版)

阶段四:自进化(🔲 远期)

  • 🔲 业务流程挖掘 → 自动发现标准流程
  • 🔲 规则自动生成 → 从历史操作中学习新规则
  • 🔲 跨模块联动 → 自动触发关联操作
  • 🔲 预测性运维 → 提前发现潜在问题

九、核心业务模块映射

9.1 业务模块 → SCSAI对象类 → 规则/工具 映射

业务模块SCSAI对象类已实现规则已实现工具数字员工
BOM管理Part, CADquery_item_typesoptimize_item_types成本优化师
变更管理ECR, ECOcreate_ecrcreate_aras_itemECR审核员
项目管理Project, Project Taskcreate_projectcreate_project-
质量管理NCR, QAPcreate_ncr, analyze_root_causecreate_ncr, analyze_root_cause, generate_quality_report-
工艺管理-optimize_process_paramsoptimize_process_params, run_mold_flow_analysis-
供应商管理Vendor, Manufacturercreate_vendor, query_vendorscreate_vendor供应商管家
客户管理Customerquery_customerscreate_aras_item-
库存管理stk_stock_setup, stk_issueinventory_inbound/outboundinventory_transaction, create_inventory_item-
采购管理pop_purchase_ordercreate_purchase_ordercreate_aras_item-
销售管理sop_sale_ordercreate_sales_ordercreate_aras_item-
生产管理Work_Ordercreate_work_ordercreate_aras_item, get_production_status-
设备管理-predict_health, predict_tool_wearpredict_device_health, predict_tool_wear-
绿色制造-carbon_managementcalculate_carbon_footprint-

9.2 待完善的业务模块

业务模块缺失内容优先级
项目管理缺少项目进度追踪、甘特图、里程碑管理工具
质量管理缺少SPC实时监控、CPK自动计算工具
工艺管理工艺参数寻优为模拟实现,需接入真实模型
设备管理设备健康预测为模拟实现,需接入IoT数据
客户管理缺少客户分级、信用评估、订单分析工具

十、已知限制与改进方向

10.1 当前限制

  1. 模拟实现:约13个高级工具(视觉检测、设备预测、工艺优化等)仍为模拟数据
  2. 巡检规则不足:仅5条基础规则,缺少关系类型、生命周期、权限等检查
  3. 数据同步局限:仅同步6种SCSAI对象类型,缺少BOM/Project/Customer等
  4. 数字员工覆盖不足:47条规则仅4个数字员工覆盖
  5. 缺少测试体系:无单元测试和集成测试

10.2 近期改进方向

  1. 扩展巡检规则:增加关系类型完整性、属性标签中文化、命名规范等规则
  2. 新增数字员工:质量检验员、库存管理员、生产调度员
  3. 业务闭环:巡检发现 → 自动修复 → 验证 → 持续监控
  4. 大模型集成:巡检修复 + LLM规则模板结合,实现智能修复决策

十一、如何扩展

7.1 添加新规则

编辑 server/ai-agent-rules.json,在 rules 数组中添加:

{
  "id": "你的规则ID",
  "name": "规则名称",
  "keywords": ["关键词1", "关键词2"],
  "need_llm": false,
  "action": {
    "tool": "对应工具名",
    "params": {}
  },
  "examples": ["示例指令"]
}

7.2 添加新工具

编辑 server/ai-agent.js,在 TOOLS 数组中添加:

{
    name: 'your_tool_name',
    description: '工具描述',
    parameters: {
        type: 'object',
        properties: {
            param1: { type: 'string', description: '参数描述' }
        },
        required: ['param1']
    },
    handler: async (params) => {
        // 实现你的业务逻辑
        return { result: 'success' };
    }
}

7.3 添加新SCSAI对象类

  1. 在 SCSAI/SCIOT 中创建 ItemType 的 AML 定义文件
  2. ai-agent-rules.json 中添加对应的创建/查询规则
  3. ai-agent.js 中如果需要特殊逻辑,添加对应工具
  4. 系统会自动通过 import_item_types 同步新对象类

十二、文件索引

| 文件 | 作用 |

|------|------|

| server/ai-agent-rules.json | 规则模板定义(31条规则) |

| server/ai-agent.js | AI代理核心(19个工具 + 意图识别 + 执行引擎) |

| server/digital-staff/llm-brain.js | LLM大脑(ECR审核/供应商分析/BOM优化/5Why根因) |

| server/feishu-bot.js | 飞书机器人集成(事件接收 + 消息回复 + 主动推送) |

| server/routes/aml.js | AML路由(优化/修复/比对/核心标记) |

| server/database1.js | 数据库管理(SQLite + 自动迁移) |

| server/utils/aras-connection.js | SCSAI连接工具(SOAP API封装) |

| frontend/app.js | 前端应用(Vue 3 + SCSAI集成 + AI助手界面) |

| index-vue.html | 主页面(侧边栏 + 12个标签页 + AI助手) |

| frontend/styles.css | 样式(深浅主题 + 响应式布局) |

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁