|
@@ -0,0 +1,638 @@
|
|
|
|
|
+#!/usr/bin/env python3
|
|
|
|
|
+"""Generate V2.0 of the Ai-DOP industry value demonstration platform deck.
|
|
|
|
|
+
|
|
|
|
|
+The V1 deck and its generator are intentionally left unchanged.
|
|
|
|
|
+"""
|
|
|
|
|
+
|
|
|
|
|
+from pathlib import Path
|
|
|
|
|
+
|
|
|
|
|
+from pptx import Presentation
|
|
|
|
|
+from pptx.dml.color import RGBColor
|
|
|
|
|
+from pptx.enum.text import MSO_ANCHOR, PP_ALIGN
|
|
|
|
|
+from pptx.util import Inches
|
|
|
|
|
+
|
|
|
|
|
+from generate_aidop_industry_value_ppt import (
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ GREEN_2,
|
|
|
|
|
+ H,
|
|
|
|
|
+ INK,
|
|
|
|
|
+ LINE,
|
|
|
|
|
+ MUTED,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ PALE_GREEN_2,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ PALE_RED,
|
|
|
|
|
+ RED,
|
|
|
|
|
+ W,
|
|
|
|
|
+ WHITE,
|
|
|
|
|
+ add_notes,
|
|
|
|
|
+ bullets,
|
|
|
|
|
+ card,
|
|
|
|
|
+ flow_boxes,
|
|
|
|
|
+ footer,
|
|
|
|
|
+ line,
|
|
|
|
|
+ pill,
|
|
|
|
|
+ rect,
|
|
|
|
|
+ set_bg,
|
|
|
|
|
+ text,
|
|
|
|
|
+ title,
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+BASE_DIR = Path(__file__).resolve().parent
|
|
|
|
|
+OUTPUT = BASE_DIR / "Ai-DOP行业化价值演示平台方案汇报_V2.0.pptx"
|
|
|
|
|
+V2_NOTE = "V2.0 讨论稿|合成场景用于产品与PoC假设,不代表真实行业收益"
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def v2_footer(slide, note=V2_NOTE):
|
|
|
|
|
+ footer(slide, note)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def build_deck():
|
|
|
|
|
+ prs = Presentation()
|
|
|
|
|
+ prs.slide_width = Inches(W)
|
|
|
|
|
+ prs.slide_height = Inches(H)
|
|
|
|
|
+
|
|
|
|
|
+ # 1. Cover
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide, GREEN)
|
|
|
|
|
+ rect(slide, 0, 0, W, 0.1, ORANGE, ORANGE, False)
|
|
|
|
|
+ text(slide, "Ai-DOP", 0.75, 0.55, 2.0, 0.45, 17, PALE_GREEN, True)
|
|
|
|
|
+ text(slide, "行业化价值演示平台", 0.75, 1.45, 9.5, 0.95, 39, WHITE, True)
|
|
|
|
|
+ text(slide, "顶层方案汇报 V2.0", 0.78, 2.48, 6.5, 0.55, 25, RGBColor(211, 226, 216), True)
|
|
|
|
|
+ rect(slide, 0.78, 3.27, 2.0, 0.06, ORANGE, ORANGE, False)
|
|
|
|
|
+ text(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "用运营级虚拟工厂发现合成问题,用场景资产治理可信版本,用动态演示讲清从问题到改善的全过程",
|
|
|
|
|
+ 0.78,
|
|
|
|
|
+ 3.58,
|
|
|
|
|
+ 10.8,
|
|
|
|
|
+ 0.88,
|
|
|
|
|
+ 17,
|
|
|
|
|
+ WHITE,
|
|
|
|
|
+ )
|
|
|
|
|
+ flow_boxes(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ ["场景实验室", "资产审核发布", "健康参考", "问题病例", "动态改善", "推动PoC"],
|
|
|
|
|
+ 0.78,
|
|
|
|
|
+ 5.18,
|
|
|
|
|
+ 11.75,
|
|
|
|
|
+ 0.76,
|
|
|
|
|
+ [BLUE, ORANGE, GREEN_2, RED, GREEN, ORANGE],
|
|
|
|
|
+ 11,
|
|
|
|
|
+ )
|
|
|
|
|
+ text(slide, "独立新版本|保留原V1方案|2026.10", 0.78, 6.62, 5.8, 0.28, 10, RGBColor(196, 216, 205))
|
|
|
|
|
+ pill(slide, "合成场景 ≠ 行业事实|模拟改善 ≠ 客户真实收益", 8.2, 6.48, 4.25, ORANGE, WHITE, 10.5)
|
|
|
|
|
+ add_notes(slide, "V2.0 的核心变化:将实验室、资产中心和演示平台分开,演示现场只消费已发布场景。")
|
|
|
|
|
+
|
|
|
|
|
+ # 2. Why V2
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "为什么升级 V2.0:现实中没有足够样本,不能靠编故事", 2, "把“案例准备”升级为可持续产生、验证和发布合成场景的产品机制")
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "现实约束",
|
|
|
|
|
+ "没有足够行业样本\n没有完整问题清单\n不知道每种改善过程\n缺少措施对应的详细数据\n没有专家和真实客户持续校准",
|
|
|
|
|
+ 0.55,
|
|
|
|
|
+ 1.82,
|
|
|
|
|
+ 3.72,
|
|
|
|
|
+ 3.55,
|
|
|
|
|
+ RED,
|
|
|
|
|
+ PALE_RED,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ 12,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "V2.0 解法",
|
|
|
|
|
+ "生成虚拟工厂健康基线\n自动注入故障扰动\n批量实验发现候选问题\n反事实测试改善措施\n编译为可重复动态场景",
|
|
|
|
|
+ 4.47,
|
|
|
|
|
+ 1.82,
|
|
|
|
|
+ 4.0,
|
|
|
|
|
+ 3.55,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ 2,
|
|
|
|
|
+ 12,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "可信边界",
|
|
|
|
|
+ "先得到模型内可验证假设\n不宣称真实行业规律\n显示来源、假设与可信度\n未来用公开资料和PoC校准\n演示结果服务于设计与验证",
|
|
|
|
|
+ 8.67,
|
|
|
|
|
+ 1.82,
|
|
|
|
|
+ 4.1,
|
|
|
|
|
+ 3.55,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ 3,
|
|
|
|
|
+ 12,
|
|
|
|
|
+ )
|
|
|
|
|
+ rect(slide, 0.55, 5.68, 12.22, 0.82, INK, INK)
|
|
|
|
|
+ text(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "目标不是穷举现实世界,而是在明确模型边界内,系统化发现“可能的问题、可能的改善方案和对应数据过程”。",
|
|
|
|
|
+ 0.86,
|
|
|
|
|
+ 5.87,
|
|
|
|
|
+ 11.6,
|
|
|
|
|
+ 0.42,
|
|
|
|
|
+ 16,
|
|
|
|
|
+ WHITE,
|
|
|
|
|
+ True,
|
|
|
|
|
+ PP_ALIGN.CENTER,
|
|
|
|
|
+ MSO_ANCHOR.MIDDLE,
|
|
|
|
|
+ )
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 3. Product split
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "产品体系:实验、治理、演示必须分开", 3, "共享本体和场景标准,隔离草稿实验与客户现场")
|
|
|
|
|
+ flow_boxes(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ ["行业运营场景实验室", "场景资产中心", "行业化价值演示平台"],
|
|
|
|
|
+ 0.75,
|
|
|
|
|
+ 1.76,
|
|
|
|
|
+ 11.85,
|
|
|
|
|
+ 0.9,
|
|
|
|
|
+ [BLUE, ORANGE, GREEN],
|
|
|
|
|
+ 14,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "负责发现",
|
|
|
|
|
+ "虚拟工厂生成\n批量实验与扰动\n候选问题发现\n改善措施搜索\n反事实与多目标评价",
|
|
|
|
|
+ 0.75,
|
|
|
|
|
+ 3.02,
|
|
|
|
|
+ 3.62,
|
|
|
|
|
+ 2.7,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "负责发布",
|
|
|
|
|
+ "自动校验与审核\n版本、签名和兼容\n可信度与适用范围\n发布、撤回和废止\n不可变场景包分发",
|
|
|
|
|
+ 4.85,
|
|
|
|
|
+ 3.02,
|
|
|
|
|
+ 3.62,
|
|
|
|
|
+ 2.7,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "负责展示",
|
|
|
|
|
+ "行业/体量选择\n合成健康参考\n问题病例与传导\n措施A/B/C动态播放\n价值报告与PoC建议",
|
|
|
|
|
+ 8.95,
|
|
|
|
|
+ 3.02,
|
|
|
|
|
+ 3.62,
|
|
|
|
|
+ 2.7,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "现场演示不依赖实验室在线|演示平台只读取已发布场景", 2.1, 6.2, 9.2, INK, WHITE, 12)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 4. Five-question value chain
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "业务展示主线:从健康参考到动态改善验证", 4, "页面、数据、播放轨道和业务沟通统一使用同一条价值链")
|
|
|
|
|
+ labels = ["选择行业/体量", "合成健康参考", "问题发生与传导", "诊断与根因假设", "措施A/B/C", "恢复/反弹验证"]
|
|
|
|
|
+ flow_boxes(slide, labels, 0.55, 1.72, 12.2, 0.78, [ORANGE, GREEN, RED, BLUE, ORANGE, GREEN_2], 10.4)
|
|
|
|
|
+ cards = [
|
|
|
|
|
+ ("当前状态", "订单、工单、物料、采购、生产、质量、交付和数据状态。", BLUE, PALE_BLUE),
|
|
|
|
|
+ ("有什么问题", "偏差、贡献对象、上下游传导、影响范围与不处理趋势。", RED, PALE_RED),
|
|
|
|
|
+ ("好的是什么", "合成健康参考、合理区间、稳定运行和保护指标。", GREEN_2, PALE_GREEN_2),
|
|
|
|
|
+ ("怎么改善", "措施的作用对象、直接表征、生效延迟、副作用和失效条件。", ORANGE, PALE_ORANGE),
|
|
|
|
|
+ ("如何验证", "业务事实、KPI、S8、任务、保护指标和反弹共同验证。", GREEN, PALE_GREEN),
|
|
|
|
|
+ ]
|
|
|
|
|
+ for i, (head, body, accent, fill) in enumerate(cards):
|
|
|
|
|
+ card(slide, head, body, 0.55 + i * 2.45, 2.95, 2.22, 2.65, accent, fill, i + 1, 10.6)
|
|
|
|
|
+ rect(slide, 0.55, 5.95, 12.2, 0.55, WHITE, GREEN)
|
|
|
|
|
+ text(slide, "同一场景版本|同一 runId|同一虚拟业务日|同一批业务事实|同一可信度标识", 0.8, 6.05, 11.7, 0.32, 12.5, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 5. Scenario lab
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "行业运营场景实验室:自动实验发现问题与改善候选", 5, "不暴力穷举;通过约束、抽样、敏感性和优化控制组合空间")
|
|
|
|
|
+ flow_boxes(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ ["工厂原型", "健康基线", "故障扰动", "批量实验", "问题聚类", "改善搜索", "稳健性验证"],
|
|
|
|
|
+ 0.5,
|
|
|
|
|
+ 1.65,
|
|
|
|
|
+ 12.3,
|
|
|
|
|
+ 0.72,
|
|
|
|
|
+ [GREEN, GREEN_2, RED, BLUE, ORANGE, GREEN, INK],
|
|
|
|
|
+ 9.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "实验输入",
|
|
|
|
|
+ "制造业本体与流程\n工厂原型和体量参数\n业务约束与KPI\n故障原语和动作原语\n参数范围、种子和预算",
|
|
|
|
|
+ 0.55,
|
|
|
|
|
+ 2.78,
|
|
|
|
|
+ 3.65,
|
|
|
|
|
+ 2.82,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "自动发现",
|
|
|
|
|
+ "对照实验与单因素消融\n敏感性和稳定区间\n对象、事件与影响路径\n相似问题轨迹聚类\n排除数据闭包和模型错误",
|
|
|
|
|
+ 4.45,
|
|
|
|
|
+ 2.78,
|
|
|
|
|
+ 4.0,
|
|
|
|
|
+ 2.82,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "改善搜索",
|
|
|
|
|
+ "不处理 / A / B / C\nA+B / A+C / B+C / A+B+C\n比较不同执行顺序\n交付、库存、质量、成本平衡\n保留失败、副作用和反弹",
|
|
|
|
|
+ 8.7,
|
|
|
|
|
+ 2.78,
|
|
|
|
|
+ 4.05,
|
|
|
|
|
+ 2.82,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.2,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "实验室输出:合成问题原型 + 因果路径 + 候选改善组合 + 数据轨迹 + 适用/失效条件", 1.0, 6.05, 11.3, INK, WHITE, 11.2)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 6. Health samples and trust
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "合成健康参考:没有真实样本时,先建立可解释的内部基线", 6, "“模型内可行且稳定”不等于“行业最佳”")
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "匹配维度",
|
|
|
|
|
+ "行业与二级行业\nETO/MTO/MTS等工厂原型\n订单量、SKU、产线与人员体量\n产品复杂度和供应网络\n库存、提前期和质量波动",
|
|
|
|
|
+ 0.55,
|
|
|
|
|
+ 1.78,
|
|
|
|
|
+ 3.45,
|
|
|
|
|
+ 3.7,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.5,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "健康判断",
|
|
|
|
|
+ "主数据和业务键闭包\n数量守恒与时间合理\n运行在设定健康区间\n趋势稳定、异常可控\n结果/驱动/保护指标平衡",
|
|
|
|
|
+ 4.25,
|
|
|
|
|
+ 1.78,
|
|
|
|
|
+ 3.85,
|
|
|
|
|
+ 3.7,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.5,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "可信度分级",
|
|
|
|
|
+ "S0 模型生成\nS1 内部验证\nS2 公开资料校准\nS3 客户数据校准\nS4 多客户验证",
|
|
|
|
|
+ 8.35,
|
|
|
|
|
+ 1.78,
|
|
|
|
|
+ 4.4,
|
|
|
|
|
+ 3.7,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 12,
|
|
|
|
|
+ )
|
|
|
|
|
+ rect(slide, 0.55, 5.83, 12.2, 0.78, PALE_RED, RED)
|
|
|
|
|
+ text(slide, "当前无专家和真实客户:正式演示资产主要处于 S1/S2;页面必须显示假设、来源、适用范围和可信度。", 0.85, 6.02, 11.6, 0.38, 14, RED, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 7. Scenario package and asset center
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "场景资产中心:把实验结果变成稳定、可审核、可回放的产品资产", 7, "实验室可以失败,演示平台只能消费已发布版本")
|
|
|
|
|
+ flow_boxes(slide, ["实验草稿", "模型内校验", "正式链路验证", "内部审核", "发布签名", "演示分发"], 0.65, 1.7, 12.0, 0.76, [BLUE, GREEN_2, GREEN, ORANGE, INK, GREEN], 10.5)
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "场景包内容",
|
|
|
|
|
+ "行业/原型/体量\n本体、规则和生成器版本\n参数、随机种子和可信度\n业务事件与反事实分支\n检查点、断言和播放轨道",
|
|
|
|
|
+ 0.65,
|
|
|
|
|
+ 2.86,
|
|
|
|
|
+ 3.75,
|
|
|
|
|
+ 2.9,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.3,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "发布门禁",
|
|
|
|
|
+ "业务键闭包和数量守恒\n时间、状态和因果检查\nKPI/S8/诊断正式链路\n重复运行与稳健性\n签名、校验值和兼容范围",
|
|
|
|
|
+ 4.75,
|
|
|
|
|
+ 2.86,
|
|
|
|
|
+ 3.75,
|
|
|
|
|
+ 2.9,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.3,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "产品边界",
|
|
|
|
|
+ "草稿与发布资产隔离\n失败实验不进入演示\n已发布版本不可变\n支持撤回、废止和回滚\n演示不依赖实验室在线",
|
|
|
|
|
+ 8.85,
|
|
|
|
|
+ 2.86,
|
|
|
|
|
+ 3.75,
|
|
|
|
|
+ 2.9,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.3,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "场景资产是实验室与演示平台之间唯一受治理的交付物", 2.25, 6.2, 8.8, INK, WHITE, 12)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 8. Dynamic demo
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "动态改善演示:不是固定视频,而是数据驱动的确定性回放", 8, "业务看到页面大概样式、操作路径和措施效果")
|
|
|
|
|
+ flow_boxes(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ ["健康", "恶化", "暴露", "诊断", "措施A", "措施B", "措施C", "恢复/反弹"],
|
|
|
|
|
+ 0.45,
|
|
|
|
|
+ 1.62,
|
|
|
|
|
+ 12.42,
|
|
|
|
|
+ 0.68,
|
|
|
|
|
+ [GREEN, ORANGE, RED, BLUE, ORANGE, GREEN_2, BLUE, GREEN],
|
|
|
|
|
+ 9.2,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "播放器",
|
|
|
|
|
+ "播放/暂停/单步\n1倍/2倍\n检查点跳转\n从头播放/安全重置\n虚拟业务日期",
|
|
|
|
|
+ 0.55,
|
|
|
|
|
+ 2.72,
|
|
|
|
|
+ 2.8,
|
|
|
|
|
+ 2.88,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "每项措施",
|
|
|
|
|
+ "作用对象与前置条件\n直接业务动作\n直接表征\n生效延迟\n副作用与失效条件",
|
|
|
|
|
+ 3.58,
|
|
|
|
|
+ 2.72,
|
|
|
|
|
+ 2.95,
|
|
|
|
|
+ 2.88,
|
|
|
|
|
+ ORANGE,
|
|
|
|
|
+ PALE_ORANGE,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "同步变化",
|
|
|
|
|
+ "业务事实\n领先指标\n结果指标\n保护指标\nS8异常与任务",
|
|
|
|
|
+ 6.76,
|
|
|
|
|
+ 2.72,
|
|
|
|
|
+ 2.75,
|
|
|
|
|
+ 2.88,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "三态对比",
|
|
|
|
|
+ "病例初始状态\n当前改善状态\n合成健康参考\n不处理趋势\n反事实分支",
|
|
|
|
|
+ 9.74,
|
|
|
|
|
+ 2.72,
|
|
|
|
|
+ 3.03,
|
|
|
|
|
+ 2.88,
|
|
|
|
|
+ RED,
|
|
|
|
|
+ PALE_RED,
|
|
|
|
|
+ None,
|
|
|
|
|
+ 11.4,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "表现方式:应用内自动导航、高亮和讲解|不使用录屏、鼠标宏或直改图表", 1.2, 6.05, 10.9, INK, WHITE, 11.3)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 9. Demo journey
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "顾问演示体验:选得出、看得懂、点得动、讲得通", 9, "同一场景同时服务管理层、业务负责人和IT")
|
|
|
|
|
+ timeline = [
|
|
|
|
|
+ ("0–8", "客户画像\n问题地图", ORANGE),
|
|
|
|
|
+ ("8–15", "合成健康\n适用范围", GREEN),
|
|
|
|
|
+ ("15–30", "问题发生\n跨域传导", RED),
|
|
|
|
|
+ ("30–40", "诊断依据\n根因假设", BLUE),
|
|
|
|
|
+ ("40–52", "措施A/B/C\n动态变化", GREEN_2),
|
|
|
|
|
+ ("52–60", "技术可行\nPoC建议", INK),
|
|
|
|
|
+ ]
|
|
|
|
|
+ x = 0.55
|
|
|
|
|
+ for tm, label, color in timeline:
|
|
|
|
|
+ w = 1.87
|
|
|
|
|
+ rect(slide, x, 1.75, w, 1.12, color, color)
|
|
|
|
|
+ text(slide, tm + "分钟", x + 0.08, 1.88, w - 0.16, 0.25, 9.5, WHITE, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ text(slide, label, x + 0.08, 2.2, w - 0.16, 0.5, 11, WHITE, True, PP_ALIGN.CENTER, MSO_ANCHOR.MIDDLE)
|
|
|
|
|
+ x += 2.04
|
|
|
|
|
+ card(slide, "管理视图", "结果、风险、措施、价值和PoC决策", 0.55, 3.3, 3.75, 1.55, GREEN, PALE_GREEN, None, 11.8)
|
|
|
|
|
+ card(slide, "业务视图", "订单、工单、物料、采购、任务和证据", 4.55, 3.3, 4.15, 1.55, BLUE, PALE_BLUE, None, 11.8)
|
|
|
|
|
+ card(slide, "技术视图", "数据身份、场景版本、来源通道和实现边界", 8.95, 3.3, 3.82, 1.55, ORANGE, PALE_ORANGE, None, 11.8)
|
|
|
|
|
+ flow_boxes(slide, ["自动讲解模式", "交互决策模式", "检查点模式"], 1.0, 5.35, 11.3, 0.82, [GREEN, ORANGE, BLUE], 12.5)
|
|
|
|
|
+ text(slide, "业务确认重点:页面样式|信息是否看懂|操作是否顺畅|动态改善是否有说服力", 0.8, 6.43, 11.7, 0.32, 12.5, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 10. Agent boundary
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "智能体路线:第一阶段不依赖,底层契约提前就绪", 10, "核心价值来自可信模拟、正式计算和动态演示,不来自模型临场编故事")
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "第一阶段必须有",
|
|
|
|
|
+ "制造业本体与对象契约\n虚拟工厂与实验机制\n场景资产发布\n确定性动态播放器\n来源、证据和可信度",
|
|
|
|
|
+ 0.55,
|
|
|
|
|
+ 1.85,
|
|
|
|
|
+ 3.72,
|
|
|
|
|
+ 3.65,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ PALE_GREEN,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "后续可增加",
|
|
|
|
|
+ "实验助手组织下一轮实验\n顾问助手推荐场景和讲解\n诊断助手生成改善草稿\n角色智能体模拟任务交接\n所有能力走受控工具",
|
|
|
|
|
+ 4.52,
|
|
|
|
|
+ 1.85,
|
|
|
|
|
+ 4.0,
|
|
|
|
|
+ 3.65,
|
|
|
|
|
+ BLUE,
|
|
|
|
|
+ PALE_BLUE,
|
|
|
|
|
+ 2,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ card(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "永久禁止",
|
|
|
|
|
+ "模型自行计算正式KPI\n把合成假设说成客户事实\n自由生成生产SQL\n直接写库或绕审批\n用模型输出证明因果正确",
|
|
|
|
|
+ 8.77,
|
|
|
|
|
+ 1.85,
|
|
|
|
|
+ 4.0,
|
|
|
|
|
+ 3.65,
|
|
|
|
|
+ RED,
|
|
|
|
|
+ PALE_RED,
|
|
|
|
|
+ 3,
|
|
|
|
|
+ 11.8,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "智能体是体验和效率增强项,不是实验正确性、数据真相和基础演示的前置条件", 1.15, 6.0, 11.0, INK, WHITE, 11.5)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 11. Phases
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "阶段路线:先确认业务体验,再形成发现—发布—演示闭环", 11, "P0 时间明确;P1–P5 在详细设计和工作量评估后排期")
|
|
|
|
|
+ phases = [
|
|
|
|
|
+ ("P0", "业务交互确认", "3天制作\n第4天业务展示\n静态场景动态回放", INK),
|
|
|
|
|
+ ("P1", "语义与标准", "最小本体\n故障/改善原语\n场景包与播放契约", GREEN),
|
|
|
|
|
+ ("P2", "最小实验室", "健康基线\n批量实验\n问题与改善候选", BLUE),
|
|
|
|
|
+ ("P3", "资产发布", "正式链路验证\n审核签名\n发布首批L3场景", ORANGE),
|
|
|
|
|
+ ("P4", "动态演示平台", "场景选择\n播放器与三视图\n价值报告与PoC", GREEN_2),
|
|
|
|
|
+ ("P5", "增强与复制", "更多原型/行业\n真实数据校准\n受控智能体", RED),
|
|
|
|
|
+ ]
|
|
|
|
|
+ for i, (phase, heading, body, color) in enumerate(phases):
|
|
|
|
|
+ x = 0.4 + i * 2.1
|
|
|
|
|
+ rect(slide, x, 1.82, 1.9, 4.35, WHITE, color)
|
|
|
|
|
+ pill(slide, phase, x + 0.55, 2.02, 0.8, color, WHITE, 10)
|
|
|
|
|
+ text(slide, heading, x + 0.13, 2.65, 1.64, 0.74, 13, INK, True, PP_ALIGN.CENTER, MSO_ANCHOR.MIDDLE)
|
|
|
|
|
+ line(slide, x + 0.25, 3.5, x + 1.65, 3.5, color, 1.3)
|
|
|
|
|
+ text(slide, body, x + 0.14, 3.77, 1.62, 1.62, 9.8, MUTED, False, PP_ALIGN.CENTER)
|
|
|
|
|
+ if i < len(phases) - 1:
|
|
|
|
|
+ text(slide, "›", x + 1.91, 3.72, 0.18, 0.45, 18, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ rect(slide, 0.9, 6.47, 11.52, 0.38, PALE_GREEN, PALE_GREEN, False)
|
|
|
|
|
+ text(slide, "阶段门:交互确认 → 契约冻结 → 发现有效 → 发布可控 → 演示稳定 → 校准复制", 1.05, 6.5, 11.2, 0.3, 10.8, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ v2_footer(slide)
|
|
|
|
|
+
|
|
|
|
|
+ # 12. Penultimate: overall architecture + phased outcome
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "一图看懂:三产品体系、共享底座与分阶段成果", 12, "整体架构图|V2.0 重点更新页")
|
|
|
|
|
+
|
|
|
|
|
+ # Stage outcome bands
|
|
|
|
|
+ stage_defs = [
|
|
|
|
|
+ (0.5, 3.0, INK, "P0", "页面与交互确认", "看得见|点得动|讲得通"),
|
|
|
|
|
+ (3.68, 4.12, BLUE, "P1–P3", "场景生产与发布", "能发现|能验证|能治理"),
|
|
|
|
|
+ (7.98, 2.48, GREEN, "P4", "动态价值演示", "可选择|可回放|可报告"),
|
|
|
|
|
+ (10.64, 2.19, ORANGE, "P5", "智能与行业扩展", "可校准|可复制|可增强"),
|
|
|
|
|
+ ]
|
|
|
|
|
+ for x, w, color, phase, outcome, desc in stage_defs:
|
|
|
|
|
+ rect(slide, x, 1.62, w, 0.88, color, color)
|
|
|
|
|
+ text(slide, phase, x + 0.12, 1.72, 0.62, 0.22, 9.3, WHITE, True)
|
|
|
|
|
+ text(slide, outcome, x + 0.12, 1.95, w - 0.24, 0.28, 14, WHITE, True)
|
|
|
|
|
+ text(slide, desc, x + 0.12, 2.25, w - 0.24, 0.2, 8.7, WHITE)
|
|
|
|
|
+
|
|
|
|
|
+ # Main product architecture
|
|
|
|
|
+ card(slide, "行业运营场景实验室", "虚拟工厂\n自动实验\n问题发现\n改善搜索", 0.55, 2.85, 3.15, 2.42, BLUE, PALE_BLUE, None, 11.2)
|
|
|
|
|
+ text(slide, "›", 3.76, 3.72, 0.35, 0.5, 24, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ card(slide, "场景资产中心", "校验审核\n版本签名\n可信度\n发布分发", 4.12, 2.85, 3.05, 2.42, ORANGE, PALE_ORANGE, None, 11.2)
|
|
|
|
|
+ text(slide, "›", 7.23, 3.72, 0.35, 0.5, 24, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ card(slide, "行业化价值演示平台", "健康参考\n问题病例\n动态措施\n价值报告", 7.6, 2.85, 3.15, 2.42, GREEN, PALE_GREEN, None, 11.2)
|
|
|
|
|
+ text(slide, "›", 10.81, 3.72, 0.35, 0.5, 24, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ card(slide, "客户 PoC", "确认问题\n接入数据\n校准模型\n验证价值", 11.17, 2.85, 1.6, 2.42, RED, PALE_RED, None, 9.7)
|
|
|
|
|
+
|
|
|
|
|
+ # Shared foundation
|
|
|
|
|
+ rect(slide, 0.55, 5.58, 12.22, 0.85, PALE_GREEN_2, GREEN)
|
|
|
|
|
+ text(slide, "共享底座", 0.75, 5.83, 1.05, 0.3, 11, GREEN, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ text(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ "制造业本体|工厂原型与体量|故障/改善原语|KPI与证据|正式数据链|租户/Domain/runId|版本与审计",
|
|
|
|
|
+ 1.95,
|
|
|
|
|
+ 5.76,
|
|
|
|
|
+ 10.45,
|
|
|
|
|
+ 0.42,
|
|
|
|
|
+ 10.7,
|
|
|
|
|
+ INK,
|
|
|
|
|
+ True,
|
|
|
|
|
+ PP_ALIGN.CENTER,
|
|
|
|
|
+ MSO_ANCHOR.MIDDLE,
|
|
|
|
|
+ )
|
|
|
|
|
+ pill(slide, "原则:实验可以失败|发布必须受控|演示必须稳定|智能体不是第一阶段前置", 1.3, 6.6, 10.75, INK, WHITE, 10.8)
|
|
|
|
|
+ v2_footer(slide, "V2.0 整体架构总览|本页用于统一产品边界与阶段目标")
|
|
|
|
|
+
|
|
|
|
|
+ # 13. Final: work plan
|
|
|
|
|
+ slide = prs.slides.add_slide(prs.slide_layouts[6])
|
|
|
|
|
+ set_bg(slide)
|
|
|
|
|
+ title(slide, "近期工作计划:先完成业务交互 Demo,再决定正式建设范围", 13, "第一周只确认页面、操作和效果,不用前端动画替代后续正式能力")
|
|
|
|
|
+ rect(slide, 0.55, 1.68, 5.1, 4.65, WHITE, GREEN)
|
|
|
|
|
+ rect(slide, 0.55, 1.68, 5.1, 0.72, GREEN, GREEN, False)
|
|
|
|
|
+ text(slide, "P0|3天制作 + 第4天业务展示", 0.78, 1.84, 4.65, 0.32, 16, WHITE, True)
|
|
|
|
|
+ bullets(
|
|
|
|
|
+ slide,
|
|
|
|
|
+ [
|
|
|
|
|
+ "选择行业/原型/体量与一个完整问题病例",
|
|
|
|
|
+ "展示合成健康参考与问题传导",
|
|
|
|
|
+ "动态播放措施 A/B/C、直接表征与延迟结果",
|
|
|
|
|
+ "支持恢复、部分有效和反弹",
|
|
|
|
|
+ "确认页面样式、操作路径、业务表达和价值摘要",
|
|
|
|
|
+ "形成已确认/需修改/暂缓及P1范围建议",
|
|
|
|
|
+ ],
|
|
|
|
|
+ 0.85,
|
|
|
|
|
+ 2.72,
|
|
|
|
|
+ 4.55,
|
|
|
|
|
+ 3.25,
|
|
|
|
|
+ 10.9,
|
|
|
|
|
+ INK,
|
|
|
|
|
+ GREEN,
|
|
|
|
|
+ 5,
|
|
|
|
|
+ )
|
|
|
|
|
+ rect(slide, 5.95, 1.68, 6.82, 4.65, WHITE, BLUE)
|
|
|
|
|
+ rect(slide, 5.95, 1.68, 6.82, 0.72, BLUE, BLUE, False)
|
|
|
|
|
+ text(slide, "业务确认后|按阶段门进入正式建设", 6.18, 1.84, 6.35, 0.32, 16, WHITE, True)
|
|
|
|
|
+ rows = [
|
|
|
|
|
+ ("P1", "冻结本体、原语、实验和场景包标准", GREEN),
|
|
|
|
|
+ ("P2", "建设最小场景实验室,产生问题与改善候选", BLUE),
|
|
|
|
|
+ ("P3", "跑通正式链路,审核发布首批合成场景", ORANGE),
|
|
|
|
|
+ ("P4", "建设稳定动态演示平台与价值报告", GREEN_2),
|
|
|
|
|
+ ("P5", "扩工厂原型/行业,校准真实数据,增加智能体", RED),
|
|
|
|
|
+ ]
|
|
|
|
|
+ for i, (phase, body, color) in enumerate(rows):
|
|
|
|
|
+ y = 2.67 + i * 0.62
|
|
|
|
|
+ pill(slide, phase, 6.3, y, 0.7, color, WHITE, 9.5)
|
|
|
|
|
+ text(slide, body, 7.22, y + 0.02, 5.1, 0.34, 10.7, INK, i == 0)
|
|
|
|
|
+ rect(slide, 6.25, 5.9, 6.2, 0.22, PALE_BLUE, PALE_BLUE, False)
|
|
|
|
|
+ text(slide, "P1–P5 工期在对象模型、仿真范围和现有链路核查后估算", 6.38, 5.66, 5.9, 0.32, 9.6, BLUE, True, PP_ALIGN.CENTER)
|
|
|
|
|
+ pill(slide, "下一步决策:首个工厂原型|订单交付主线|故障/改善原语|首批合成场景", 1.0, 6.62, 11.3, INK, WHITE, 10.8)
|
|
|
|
|
+ v2_footer(slide, "V2.0 工作计划|P0先确认业务体验,正式能力按阶段门推进")
|
|
|
|
|
+
|
|
|
|
|
+ prs.save(OUTPUT)
|
|
|
|
|
+ return OUTPUT
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+if __name__ == "__main__":
|
|
|
|
|
+ output = build_deck()
|
|
|
|
|
+ print(output)
|