桃子桃子快讯
返回首页
工具

SafetyCommander:用多模态大模型当工厂安全员

黑客松项目 SafetyCommander 以 Qwen3-VL 为判断核心,结合 YOLO 感知与 RAG 检索,让模…

2026.07.02 · 周四4 分钟阅读

一款名为 SafetyCommander 的开源 AI Agent 项目近日在 Hacker News 上亮相,它定位为「自主值班的工厂安全官」:通过摄像头观察生产线,阅读厂区书面安全制度,由模型推理风险等级,并按制度要求执行告警、派单与汇报。整套系统基于 Qwen3-VL 多模态模型、YOLO 视觉感知、TF-IDF 检索增强(RAG)以及 Flask Web 应用构建。

项目背景与定位

SafetyCommander 出自 Zapdos Labs 与早期投资机构 Antler 联合举办的「美国工业革命 AI Agent」黑客松(角色 01:安全官 / EHS 协调员)。作者在赛后持续迭代,先后补全了 YOLO 感知层、双角色 Web 应用、工人通知收件箱以及周/月规划模块。技术栈上,Qwen3-VL 通过 vLLM 以 OpenAI 兼容接口提供服务,感知层采用 YOLO 检测人与叉车,知识库则用 TF-IDF 在 OSHA 1910 标准与厂区 SOP 之上做检索。

核心设计:让模型做判断,而非代码

黑客松的评审核心问题是:「判断到底来自模型,还是开发者?硬编码规则不算数。」SafetyCommander 的回答是:风险等级只能由 VLM 决定,代码中绝不出现 if "no_hardhat": risk="high" 这类映射。具体做法包括:

  • vlm_judge.py 同时阅读 safety_policy.txt 与摄像头画面,输出风险等级,并强制引用具体条款;
  • 感知层(perception.py)只测量距离与数量,RAG 层(rag.py)只负责检索法规条文,通知层(notify.py)只负责把告警送达工人;
  • 「编辑一行制度,结论就翻转」被作为演示场景,证明决策确实来自模型。

作者将其概括为:在闭环的「感知 → 推理 → 行动 → 报告」中,模型只做闭环内的判断,而不是自主选择动作序列的自由 Agent;因此项目刻意没有采用 ReAct 或 LangGraph 式的规划器。

四个层次、三个时间尺度

架构按职责划分为四层:

  • THINK:vlm_judge.py 是唯一产出风险等级的模块;
  • ACT:actions.py 按风险等级路由到日志、通知、整改工单、升级或 Slack 推送;
  • GROUND:perception.py(YOLO)与 rag.py(TF-IDF)只测量与检索,不做风险判断;
  • LOOP / UI:main.py 以滑动时间窗推进闭环,dashboard.py 提供 Flask Web 界面。

按时间尺度,Agent 覆盖三个层次:

  • DAY(当班):对每路摄像头做时序多帧推理,按风险等级触发动作并生成交接班报告;
  • WEEK(周计划):planner.py 汇总数据与制度,提出包含时间、负责人、内容、对应条款的巡检与培训计划;
  • MONTH(月度 KPI):kpi_report.py 输出违规率、险肇事件、前置/后置指标、高频隐患与待办整改等。

写在最后

SafetyCommander 的整体思路是把「判断」与「执行」严格分离:感知、检索、路由、汇报各司其职,风险等级由唯一模块产出,并强制引用具体制度条款。同时,项目强调「人确认、AI 提案」的人机协同模式,把终裁权留给人类,以适配工厂这种受监管、安全攸关的场景。对于想了解多模态大模型如何落地工业现场的开发者而言,这一开源项目提供了一份可参照的工程模板。

信源