
大家好,我是人月聊IT。
关于AI辅助供应链管理,在我和AI大模型完成完整的需求沟通后,我让AI帮我输出完整的技术方案文档。给出详细的技术架构图和核心实现机制流程。对于和AI的完整一问一答的沟通和思路梳理过程,大家可以看我今天发布的另外一篇文章里面的详细说明。
文档版本: V1.0 适用场景: 制造业供应链 APS 计划排产 / ATP 交期承诺 技术栈方向: LLM + 约束优化引擎 + 供应链本体论 + 向量数据库
传统 APS(高级计划与排程)系统在制造业中已广泛应用,其核心价值在于充当数据分析决策与事务操作处理之间的桥梁——从需求分析到生产排产,从库存计算到交期承诺。然而,传统 APS 建立在一个根本性假设之上:所有约束规则可以被预先定义并编码。
这一假设在简单场景下成立,但在复杂供应链场景中迅速失效:
引入 AI 大模型的核心价值,正在于解决"无法提前预设规则"这一根本问题。AI 大模型能够基于历史数据和当前上下文,自动推理出在特定约束条件下的最优或次优决策建议,而无需提前编写规则。这才是 AI 辅助供应链管理的最大价值所在——否则仅作为规则引擎的包装,引入 AI 毫无意义。
本方案聚焦两个核心场景:
场景 | 目标 | 自动化程度 |
|---|---|---|
ATP 交期承诺 | 客户需求变更后,自动评估交期可行性,输出承诺日期、置信度、原因链与备选方案 | 高频场景优先实现全自动化 |
APS 计划排产 | 需求变化或异常事件触发排产调整,自动识别冲突、生成调整建议 | 渐进式自动化,先辅助再替代 |
本方案引入本体论(Ontology)思想构建供应链语义层,但在落地执行上坚持场景驱动原则:
本体模型的构建原则: 不从顶层设计一个完整的供应链知识图谱,而是从场景反向沉淀——ATP 承诺场景先用到哪些实体关系,就先把哪些建好,逐步积累形成完整本体。
供应链场景中,三类 AI 能力各有定位,不能混用:
能力类型 | 工具 | 在本方案中的角色 |
|---|---|---|
语义推理与解释 | LLM(大语言模型) | 意图理解、多方案权衡、可解释输出 |
精确数值求解 | 约束优化引擎(MILP/CP-SAT) | 产能计算、最早完工时间、多方案生成 |
历史偏差修正 | ML 模型 | 实际完工偏差预测、置信度修正 |
LLM 不做精确求解,优化引擎不做语义理解——两者协同是整个方案质量的关键。
面对 10 万量级的订单和工单实例数据,AI 永远不直接面对原始数据。整个架构是一个逐层压缩、精准投喂的过程:传统算法承担数据过滤和数值计算的"重活",AI 只处理经过蒸馏的结构化摘要(约 2000 token),专注于推理、解释和决策建议生成。

整体架构分为五个层次,自上而下依次为:场景驱动入口层、人机协作层、AI 推理层、供应链本体语义层、数据接入层。
各层职责如下:
场景驱动入口层: ATP 交期承诺查询、APS 排产冲突识别、多目标权衡等具体业务场景的请求入口,支持自然语言输入。
人机协作层(Copilot 模式): 接收自然语言输入,输出可解释的推理结果,支持人工确认与覆盖。随着系统积累数据和信任度提升,逐步提升自动化比例。
AI 推理层: 三引擎协同核心,详见第四章。
供应链本体语义层: 定义实体图谱、约束关系、时间语义与事件语义,是 AI 理解业务含义的语义基础。
数据接入层: 对接 SAP ERP(订单/库存/BOM/产能)与 MES(实时工序/完工状态/设备状态),以及历史交期偏差数据。

输入: 自然语言 ATP 请求 + 结构化摘要上下文 输出: 结构化 JSON 承诺建议(日期、置信度、风险等级、原因链、备选方案)
核心能力:
LLM 的核心价值在于处理那些无法被规则引擎编码的业务语义——客户重要性、历史合作模式、风险权衡偏好。
输入: 结构化约束集(经过 SQL 过滤后的数百条相关数据) 输出: 多个可行方案候选集(日期区间、产能占用、资源代价)
核心能力:
SAP 提供计划层约束数据,MES 提供实时工序进度数据,两者结合才能给出准确的"当前这张订单真正还需要多少时间"。
输入: 约束优化引擎的理论计算结果 + 历史"承诺 vs 实际"偏差数据 输出: 置信区间与风险修正系数
理论排产时间与实际完工时间之间永远存在偏差,原因是人的操作习惯、设备实际效率、换模实际时长等无法完全建模的因素。ML 模型用历史数据学习这个偏差分布:

面对 10 万量级的原始数据,AI 的参与方式是分层蒸馏,而非直接处理。
L1 → L2(SQL 过滤,<1秒): 针对当前 ATP 请求,用索引查询从 10 万条中快速定位相关数据——受影响工序链、产能冲突工作中心、交期窗口内在途工单。AI 完全不参与此阶段。
L2 → L3(约束计算,2-5秒): 约束优化引擎对过滤后的数百条数据进行 BOM 展开、产能占用计算、可行窗口求解,输出结构化摘要:最早完工时间、瓶颈工序、冲突订单、多方案候选集。
L3 → L4(上下文构建,<1秒): 将计算摘要与向量检索的历史相似案例(Top-3~5)、业务规则注入,拼装成约 2000 token 的精准上下文,送入 LLM。
L4 → 输出(LLM推理,3-8秒): LLM 基于精华上下文进行推理,生成结构化 JSON 承诺建议,经校验层验证后输出。
整体响应时间: 6-15 秒,比人工评估的 2 小时快数百倍,完全满足 ATP 实时响应需求。

本体模型是整个方案的语义基础,定义了 AI 推理时所能理解的业务概念边界。
本体模型覆盖四个业务域:
需求域(Demand Domain)
Customer(客户):客户等级、合同条款、延误罚款规则、历史合作优先级CustomerOrder(客户订单):订单号、需求数量、目标交期、当前优先级、订单状态FinishedItem(成品物料):物料号、描述、安全库存水位生产域(Production Domain)
WorkCenter(工作中心):产线标识、班次配置、标准效率系数、加班策略ProductionOrder(生产工单):工单号、当前状态(计划/在制/完工)、计划完工时间、实际进度Operation(工序):工序序号、所属工单、标准工时、实际工时、依赖工序供应域(Supply Domain)
Inventory(库存):现货量、在途量、已预留量、可用量计算逻辑BOMLevel(BOM层级):父项物料、子项物料、标准用量、可替代料规则Supplier(供应商):供货提前期、最小批量、历史交货可靠性计划域(Planning Domain)
Routing(工艺路线):路线标识、工序序列、总理论提前期、瓶颈工序标注ATPCommitment(交期承诺):承诺日期、置信度评分、方案类型(标准/加急/调优先级)、承诺依据快照约束不只是数字,而是有语义的业务规则:

ATP 协调器是整个系统的中枢,内部包含八个功能模块:
模块 | 职责 |
|---|---|
意图解析模块 | 自然语言 → 结构化 ATP 请求 |
数据拉取与过滤模块 | 并行查询 SAP/MES,SQL 过滤相关数据 |
约束优化调用模块 | 封装 CP-SAT/MILP 求解器调用 |
上下文构建模块 | 摘要拼装、Prompt 生成 |
LLM 调用模块 | 请求封装、流式响应接收 |
输出校验模块 | 数值范围检查、与引擎结果交叉验证 |
审计日志模块 | 全链路追溯记录(数据源→推理→承诺→结果) |
反馈写入模块 | 承诺结果与实际结果对比,写入向量库 |
SAP ERP 接口
MES 接口
向量数据库接口
LLM 服务接口
制造业客户对数据敏感性要求高,建议:

Prompt 工程是决定 LLM 推理质量的关键,也是最容易被忽视的落地环节。
区块①:系统角色定义(固定模板,~150 token)
定义 LLM 的专业身份与推理准则:供应链 ATP 分析专家、基于约束计算结果进行多方案权衡、必须输出结构化 JSON。此区块固定不变,确保每次推理的角色一致性。
区块②:当前 ATP 请求(动态填充,~100 token)
注入意图解析模块的结构化输出:订单号、客户名称与等级、目标交期、产品型号与数量。此区块是每次请求的核心变量。
区块③:约束计算结果(优化引擎输出,~400 token)
注入约束优化引擎的计算摘要:最早理论完工日期与置信度、瓶颈工序与产能占用率、冲突订单列表(最多 5 条)、多方案候选集(方案 A/B/C 的日期与代价对比)。
此区块是从万条数据蒸馏出的核心信息,LLM 在此基础上推理,而非重新计算数字。
区块④:历史相似案例(向量检索 Top-3,~500 token)
注入与当前场景最相似的历史决策案例:相似度评分、场景描述、当时的决策选择、实际完工结果与偏差原因。历史案例是 LLM 推理质量提升最显著的输入,让 AI 具备"经验"。
区块⑤:业务规则上下文(本体规则层动态注入,~300 token)
注入与当前订单直接相关的业务规则:客户合同延误罚款条款、当前优先级政策(VIP 客户不可延误)、本月产能利用率与加班审批状态。此类非结构化业务知识是传统优化引擎无法处理的,正是 LLM 的核心价值区域。
区块⑥:输出格式规范(强制 JSON,~200 token)
严格规定输出的 JSON Schema:
{
"recommended_date": "YYYY-MM-DD",
"confidence": 0-100,
"risk_level": "high | medium | low",
"reason_chain": ["原因1", "原因2", "..."],
"alternatives": [
{"date": "...", "type": "standard|overtime|priority_swap", "cost_impact": "...", "risk": "..."}
],
"requires_human_review": true | false
}
强制结构化输出是防止 LLM 幻觉的第一道关卡——字段约束明确后,校验层可以对每个字段进行合法性验证。
LLM 在数值细节上容易产生幻觉,供应链场景对数值精度要求高,必须建立多层防控:
每次 ATP 承诺的全过程(输入上下文、AI 输出、人工修正、最终结果)存入向量数据库。定期(每月)分析承诺准确率,识别 AI 推理系统性偏差,更新 Prompt 中的业务规则区块和历史案例库。

并行数据拉取: 阶段二中,SAP 数据拉取与 MES 数据拉取并行执行,而非串行。SAP 查询约 0.5 秒,MES 实时推送近乎即时,并行可节省约 0.5 秒总响应时间。
向量检索提前触发: 向量库的历史案例检索可与优化引擎计算并行进行——协调器在发出优化引擎调用的同时,异步触发向量检索。两者完成后再拼装上下文,进一步减少等待时间。
流式输出: LLM 推理结果通过 SSE(Server-Sent Events)流式传输到前端,用户可在生成过程中逐步看到推理内容,无需等待全部完成。
结果反馈异步写入: 承诺结果(无论自动还是人工确认)异步写入向量库,不阻塞主流程响应。
异常场景 | 降级策略 |
|---|---|
SAP 接口超时(>2秒) | 使用本地缓存的最近一次产能快照,标注数据时效性 |
优化引擎无可行解 | 直接输出"当前约束下无法满足",附带资源需求清单 |
LLM 推理超时(>10秒) | 降级为纯优化引擎结果输出,不含 AI 解释 |
LLM 输出 JSON 格式异常 | 触发重试(最多 2 次),失败后强制人工处理 |
ML 置信度极低(<40%) | 强制人工,同时推送数据质量告警 |
触发: 计划员收到客户电话,华为某张订单要求提前 7 天交货
当前痛点: 计划员需手工查询 SAP 产能、翻看 MES 工序进度、逐一判断影响,耗时 1-2 小时
AI 辅助后:
触发: 每日定时任务,或供应中断事件触发
实现: 系统自动扫描所有在途订单,对每张订单运行简化版 ATP 评估(不含 LLM,只用优化引擎),识别交期风险订单(预测实际完工晚于承诺交期超过 3 天)并生成风险列表,推送给计划员。高风险订单触发完整 AI 分析流程。
触发: 销售团队在报价阶段需要给客户承诺交期
实现: 输入产品型号和数量,系统基于当前产能负荷和物料可用性,自动计算最早可承诺交期,并给出置信度和风险提示(如"物料 X 库存紧张,建议预留 5 天缓冲")。
采用"从场景出发,快速验证,逐步沉淀"的实施策略:
目标: 跑通核心数据流,验证三引擎协同可行性
本阶段暂不包含: ML 经验修正引擎(历史数据积累不足)、多工厂场景
目标: 提升推理质量,扩展场景覆盖
目标: 提升自动化比例,扩展至 APS 排产场景
整个方案的质量下限由数据质量决定。SAP 中的产能数据可能是数年前的理论值,MES 的完工数据可能存在延迟上报。
应对措施:
LLM 在数值细节上存在幻觉风险,供应链承诺错误的代价是客户关系损失和合同罚款。
应对措施: 多层幻觉防控机制(见第八章 8.2 节),以及初期保守的自动化阈值设置,随信任积累逐步放开
计划员对 AI 系统的信任需要时间建立;过快推进自动化可能引发团队抵触。
应对措施: 第一、二阶段以 Copilot 模式为主(AI 建议,人工确认),让计划员在日常工作中逐步建立对系统的信任;同时设计透明的"AI 为什么这样建议"的解释界面
SAP 集成在实际项目中往往是周期最长、风险最高的环节,特别是数据口径对齐问题。
应对措施: 第一阶段优先接入读取接口(只读 SAP 数据),回写接口在 MVP 验证完成后再开放;制定详细的字段映射文档,与 SAP 实施团队共同评审
组件类别 | 推荐选项 | 说明 |
|---|---|---|
LLM(私有化) | Qwen3.5-72B / Llama-3.1-70B | 数据敏感场景,本地部署 |
LLM(云端) | Claude 4.6 Sonnet / GPT-4o | 数据脱敏后可用,推理质量高 |
约束优化引擎 | Google OR-Tools(CP-SAT) | 开源,工业级求解性能 |
向量数据库 | Milvus / pgvector | Milvus 适合高并发,pgvector 适合已有 PostgreSQL 环境 |
编排框架 | LangChain / 自研 | ATP 协调器的 LLM 调用编排 |
监控 | Prometheus + Grafana | 响应时间、承诺准确率、推理质量指标 |
文档结束