开发记 - 扫地机器人BOM成本分析平台

· fifteenbao

项目地址unit-bot

上一篇记录了项目的起因、框架设计和核心功能。最近一次迭代把能力拆成了三条独立命令,各司其职:

/bom 计算成本、/dfma 降本方案、/fcc find/ocr 采集数据


核心命令

三条命令覆盖了从「数据采集 → 成本计算 → 降本分析」的完整链路:

用户 核心命令 用途
产品 / 成本团队 /bom 石头 G30S Pro 8 桶占比报告 + 供应链/风险提示——回答「成本是什么」
DFMA / 设计降本 /dfma 卧安 K10+ 功能-成本矩阵 + DFMA 抓手 + 降本潜力——回答「该改什么、能省多少」
拆机数据采集 /fcc find + /fcc ocr FCC 文档检索 + 视觉 OCR 识别 PCB 芯片丝印
数据维护 见下方「数据库」章节 维护三类数据库:产品库 / 拆机档案 / 标准件库

成本计算 /bom

命令参考

/bom <品牌> <型号>

/bom 石头 G30S Pro
/bom 追觅 X40 Ultra

Agent 按 7 步流程自动执行:

  1. 查已有数据
  2. 型号别名解析
  3. 补规格层
  4. 4-Stage 拆机 BOM
  5. 8 桶成本分析
  6. 供应链 & 风险提示
  7. 竞品差异对标

输出文件data/teardowns/{slug}_{date}_teardown.csv

控制台摘要:8 桶占比 · BOM/MSRP 比 · 偏差告警 · 技术亮点 · 供应商/专利风险

8 桶框架

BOM 成本按 8 桶组件库定义 归类,统一口径避免计算偏差。

# 核心内容 行业基准 价值权重 (entry / mid / flagship)
1 算力与电子 SoC · MCU · Wi-Fi/BT · PMIC · RAM/ROM · PCB · 阻容 11% (10–15%) 0.5 / 0.7 / 0.9
2 感知系统 LDS · ToF · 前视线激光 · IMU · 沿墙 · 超声波 · 碰撞 11% (10–15%) 0.6 / 0.85 / 1.0
3 动力与驱动 主机吸尘风机 · 驱动轮/履带 · 边轮 · 万向轮 · 越障升降 10% (8–13%) 0.6 / 0.75 / 0.85
4 清洁功能 拖布本体 · 滚刷 · 边扫 · 主机水箱/尘盒 · 清水泵 14% (12–16%) 0.7 / 0.9 / 1.0
5 基站系统 外壳 · 电源 · 集尘 · 清水/污水桶 · PTC · 顶杆 · PCBA 22% (18–28%) ¹ 0.0 / 0.7 / 1.0
6 能源系统 锂电池包(电芯 + BMS + 封装) 8% (5–10%) 0.8 / 0.7 / 0.6
7 整机结构 CMF 上盖/底盘 · CMF 喷涂 · 模具摊销 · 紧固件 11% (9–13%) 0.5 / 0.65 / 0.8
8 MVA + 软件授权 组装+外协 · SLAM 版税 · QA · 包材 · 物流 · OS 13% (10–16%) 0.3 / 0.45 / 0.6

¹ 基站系统仅中档/旗舰档参与计算(entry 档权重为 0)


降本方案 /dfma

/dfma 是从 /bom 中拆出来的独立能力——算清成本之后,下一步自然就是找降本空间。套用 DFMA 方法论,按 8 桶逐项给出设计抓手和降本潜力估算。

命令参考

/dfma <品牌> <型号>

/dfma 卧安 K10+ Pro Combo
/dfma 石头 G30S Pro --segment flagship

基于 8 桶 BOM 数据 × 用户价值权重,计算每桶的价值/成本比,按象限输出设计建议。

桶字段结构

每个桶除 industry_pct_range / typical_items / boundary_notes 外,还携带以下 DFMA 字段:

字段 类型 作用
user_value_weight.note string 权重打分的定性说明(仅供人工审核,不参与计算)
user_value_weight.entry float 0~1 入门档(< ¥2000 / 无基站)下的感知价值权重
user_value_weight.mid float 0~1 中档(¥2000~4000)下的感知价值权重
user_value_weight.flagship float 0~1 旗舰档(≥ ¥4000 / 全功能基站)下的感知价值权重
dfma_levers array 该桶可用的 DFMA 设计抓手(降级 / 合并 / 工艺简化)

输入要求:产品已有 bom_cost 各桶数据(先跑 /bomgenerate_bom_estimate)。

输出

  • 8 桶矩阵:成本占比 · 偏差 · 用户价值权重 · 价值成本比 · 象限分类
  • 优先降本桶清单(高成本、低价值)
  • 每桶的 DFMA 抓手(来自 dfma_levers 字段)
  • 整机降本潜力估算(元/台)

象限规则

象限 触发条件 行动建议
优先降本 偏差 > +2pp 且 价值权重 < 0.75 直接套用 dfma_levers 降本
溢价合理(需验证) 偏差 > +2pp 且 价值权重 ≥ 0.75 验证用户感知,必要时降本
保持投入 偏差 ≤ +2pp 且 价值权重 ≥ 0.75 维持或追加(差异化卖点)
基准匹配 偏差 ≤ +2pp 且 价值权重 < 0.75 不动

价值成本比< 0.8 优先降本,> 1.2 可追加投入。


数据库

FCC 采集 /fcc

/fcc 分两步解耦——find 查文档链接(不下载,先供人工确认质量)→ ocr 下载 PDF + 视觉识别 PCB 芯片丝印,产出可直通标准件库的上游 CSV。

数据库维护

系统维护三类数据库,各司其职:

数据库 文件路径 角色
产品规格库 data/products/products.csv · products_db.json 描述「这台机器是什么」——MSRP / 规格 / 功能布尔值
拆机档案 data/teardowns/{slug}_{date}_teardown.csv · data/teardowns/fcc/{slug}/* 描述「这台机器用了什么件」——元器件级 BOM 清单
标准件库 data/lib/components_lib.csv 描述「这类件值多少钱」——跨机型聚合的权威定价表

数据流向

① 产品库(规格层)       ──┐
                           ├─→  /bom 8 桶成本分析  ──→  /dfma 降本建议
② 拆机档案(实物 BOM) ──┤                          ↑
   ↑                       │                      ③ 标准件库(查价)
   │                       │
/fcc ocr → fcc/*.csv ──────┘
   │
   └─→ build_components.py (白名单过滤) ─→ ③ 标准件库

整个工具链的核心思路是:用结构化数据替代拍脑袋。FCC 拆机数据喂入产品库和标准件库,/bom 跑出 8 桶成本画像,/dfma 再基于成本画像输出可执行的降本建议——三步下来,一台扫地机器人的 BOM 成本和优化方向就清楚了。