news 2026/8/31 10:17:43

YOLO+VLM+RAG+Prompt:构建可配置的智能监控系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO+VLM+RAG+Prompt:构建可配置的智能监控系统

先说结论:这个方案真正解决的,不是“彻底不写代码”,而是把智能监控系统里的“场景判断逻辑”从硬编码中解放出来,用 YOLO、VLM、RAG 和 Prompt 四样东西重新分工。YOLO 负责看见目标,VLM 负责看懂画面,RAG 负责把业务规则和现场知识喂给模型,Prompt 则像一条总线,把这三者的结果串成最终结论。适合谁看?准备用大模型改造监控系统,又不想频繁改代码的开发者、算法工程师、运维人员。最值得关注的一点是:这种架构下,换一个监控场景,往往只需要换检测类别、换提示词、换知识库,而不是推翻整个程序。

不过我先要泼一盆冷水:网上说“不写代码只写 Prompt”很容易让人误解。实际落地时,你还是要写少量 Python 脚本来做视频流读取、模型调用、结果组装和告警推送。真正能省掉的,是那些“什么情况要告警、告警级别怎么定、在什么区域做什么判断”这类频繁变化的业务规则代码。下面按我实际踩坑的顺序,完整拆一遍。

1. 为什么监控系统要同时用 YOLO、VLM 和 RAG 三个东西

1.1 传统监控方案最容易在三个地方出问题

第一是规则写死。传统物体检测模型只输出“哪个位置、什么类别、多少置信度”,没有场景理解能力。比如“一个人在车间门口站了 10 秒”,检测模型只知道有 person 和 door,不知道这个行为可能异常。要判断异常,通常得在代码里写距离、时长、IOU 交叉、区域关系,逻辑一多就难维护。

第二是误报多。摄像机角度一变、光线一变、遮挡一多,固定阈值就开始乱报。很多项目为了降低误报,只能不断加判断条件,最后代码变得非常复杂。

第三是换场景成本高。上一个项目做安全帽检测,下一个项目做车辆逆行,虽然 YOLO 部分重新训练数据就行,但告警规则、输出描述、目标对象关系,全都要改代码。

1.2 三者分工:看见、看懂、查规则

在这个架构里,YOLO 做的是“看见”。它从图像或视频帧中检测出目标边界框、类别和置信度。YOLO 的响应快,几毫秒到几十毫秒就能完成一帧检测,适合做第一级筛选。我一般会给它配置一个较低的置信度阈值,比如 0.25 到 0.4,宁可多检测出一些候选目标,也不要漏掉关键对象。

VLM 做的是“看懂”。给它一张图和一段检测结果文本,它能描述人物是否倒地、人群是否聚集、有没有人在禁入区域逗留、流程动作是否合规。VLM 的价值是能处理“模糊语义”,这是固定规则很难做到的。

RAG 做的是“查规则”。每个监控现场都有自己的规则,比如园区规定、实验室安全规范、车间操作流程。RAG 把这些规则切块、向量化,在需要判断的时候把最相关的规则片段检索出来,拼到 Prompt 里,让 VLM 不是凭通用常识瞎猜,而是依据真实文本做判断。这就是“监控系统的记忆库”。

1.3 Prompt 不是魔法,是接口协议

很多人把 Prompt 理解成一段“跟模型说好话的咒语”,其实不对。在这个系统里,Prompt 是 YOLO、VLM、RAG 之间的数据协议。检测结果要转成自然语言,VLM 才能理解;业务规则要从知识库检索,拼到 Prompt 里,VLM 才有依据;VLM 输出必须按照约定的 JSON 结构返回,后面的告警模块才能稳定解析。

所以设计 Prompt 的核心不是“让它聪明”,而是“让它稳定、可解析、可替换”。你越早把 Prompt 当作接口来看待,后面调试就越轻松。

2. 系统结构和数据流设计

2.1 六个模块,串成一条流水线

我建议把整个系统拆成六个模块,每个模块只关心一件事:

模块职责输入输出
视频源接入读取摄像头或视频文件RTSP、本地文件、图片列表图像帧
目标检测YOLO 推理图像帧、模型路径检测框数组
观测文本生成把检测框转自然语言检测框数组、Prompt 模板一段文本
视觉语言理解VLM 判断画面事件图像、观测文本、Prompt结构化事件 JSON
规则检索从知识库召回规则场景类型、事件类型规则片段
决策输出生成告警或记录事件 JSON、规则片段、Prompt告警级别、原因、建议

模块之间不要混在一起。尤其是 VLM 的调用和知识库检索,必须独立写,否则以后换模型、换向量库都很麻烦。

2.2 关键约定:每一层的数据长什么样

我先说 YOLO 输出。常见的检测结果是这样的:

[{"class": "person", "box": [120, 300, 560, 760], "conf": 0.87}, {"class": "helmet", "box": [180, 310, 220, 350], "conf": 0.72}]

如果直接把这段数组丢给 VLM,模型能看懂一点,但不稳定。尤其是坐标非常多、目标非常密集的时候,VLM 会失去重点。我建议先做一次压缩,只保留:

  • 当前帧里有哪些类别
  • 每类目标多少个
  • 置信度最高目标的大概位置
  • 目标之间的空间关系,比如“一个 person 在禁入区域 polygon 内”

这一步可以用 Prompt 让一个轻量文本模型做,也可以自己在代码里写 30 行规则。实际项目中,我倾向直接用代码生成,因为没必要让大模型做简单的格式化。

2.3 为什么要把检测结果转成自然语言

很多第一次接触这个架构的人会问:YOLO 已经有坐标了,为什么还要绕一道转成文本?

原因在于 VLM 的输入接口。虽然多模态 VLM 可以直接看图,但如果图里有大量目标,模型并不知道你要关注哪几个。提前检测出来,把关键目标、位置关系写成文本,实际上是在告诉 VLM:“重点看这些东西。” 这既降低了模型推理难度,也减少了幻觉。

从实测看,同样的阈值设定,加上了检测文本引导之后,VLM 对“是否倒地”“是否在区域内”“是否有异常聚集”的回答稳定性会明显高不少。

3. 环境与基础依赖准备

3.1 本地运行条件与推荐配置

不要相信“任意电脑都能跑”。一个完整的 YOLO + VLM + RAG 链路,至少需要一块能跑 CUDA 的显卡,或者一个能访问大模型 API 的网络环境。本地部署的 VLM 通常对显存要求比较高。

更稳妥的最小配置可以按这个思路判断:

  • 纯 CPU 环境:可以跑 YOLO 和 RAG,但 VLM 要选量化版本或小模型,识别速度会很慢,建议先做单帧测试。
  • 8GB 左右显存:适合跑 YOLO,本地 VLM 可以用 7B 到 8B 级别的量化模型,单张图推理几秒到十几秒。
  • 16GB 以上显存:可以跑更大参数模型,批量处理也会更稳。
  • 纯 API 方案:本地只需要准备 Python 环境和向量库,显存压力小,但要注意接口超时和调用成本。

原始材料里没有给出固定版本,落地时先确认 Python 版本、CUDA 版本、模型权重格式,再装依赖。我最常遇到的坑是:torch 版本和 CUDA 不匹配,模型加载不报错,一推理就崩。

3.2 模型选型:YOLO、VLM、向量库怎么选

YOLO 这边,优先选成熟、社区资料多的版本,比如 YOLO 系列的官方或主流复现项目。如果你要检测的类别很特殊,比如“冒险岛数据集”那种游戏截图检测,就要用 YOLO 重新训练;如果只是人、车、安全帽、烟火这类常见目标,直接用预训练权重加少量微调就够了。

VLM 有两种选法。一是调用云服务,例如支持视觉输入的通用大模型 API,优点是省部署、效果稳定,缺点是每张图都有成本,还会受内容安全策略影响。二是本地部署开源 VLM,比如常见的 Qwen2-VL、InternVL、LLaVA 系列,优点是数据和成本可控,缺点是部署比 API 麻烦。我建议学习和验证阶段先用 API,跑通了再决定要不要换成本地。

向量库选型可以从简单开始。单机小项目用 Chroma、FAISS 就够了;如果规则量很大、并发高,再考虑 Milvus、pgvector。这里不要一开始就上分布式,规则文本几千条以内,单机向量库完全能扛住。

3.3 首次联调的最小目录结构

下面是一个参考结构,按这个拆分目录会清爽很多:

monitor_system/ configs/ system.yaml prompts/ compress_prompt.txt vlm_judge_prompt.txt rag_final_prompt.txt detectors/ yolo_detector.py vlm/ vlm_client.py rag/ kb_loader.py retrieval.py pipeline/ single_frame_pipeline.py video_pipeline.py outputs/ alerts/ logs/ main.py

配置、提示词、代码分开,是这批项目里最重要的习惯。因为后面你会频繁调整 Prompt,如果 Prompt 硬编码在 Python 字符串里,每次改动都要重新发布代码,很容易出错。

注意:不要一上来就追求目录完整,先建好 configs、detectors、vlm、rag、pipeline 这五个目录就够了,其他等运行到再加。

4. 核心 Prompt 设计:从检测框到监控结论

4.1 第一段 Prompt:把检测框压缩成观测文本

这一步的目标是生成一段“画面事实描述”,不需要判断,不需要推理,只做信息压缩。以下是一个参考模板:

你是一个视觉检测结果整理助手。我会给你一段目标检测结果,请整理成简洁的中文现场描述。 要求: 1. 只描述事实,不推测意图。 2. 按类别整理数量,例如“检测到 3 个人、2 辆汽车”。 3. 如果检测框包含坐标,简述主要目标的位置关系。 4. 不要输出 Markdown,最多 80 字。 检测结果: {{detections}}

实际验证时你会发现,这一步不会经常触发模型调用。因为如果只是坐标格式化,用 Python 生成更快。只有当你希望模型理解“人在围栏左侧、车在围栏右侧”这类空间语义时,才需要模型介入。

4.2 第二段 Prompt:让 VLM 判断事件

这是整个链路里最关键的一段。VLM 要同时看图片和文本,判断是否发生异常事件。参考模板:

你是一名园区安防监控分析助手。请根据摄像头画面和检测描述,判断是否存在需要关注的行为。 重点关注: 1. 人员跌倒、长时间倒地 2. 人员进入禁入区域 3. 未佩戴安全帽进入作业区 4. 人员异常聚集或奔跑 5. 车辆逆行或违停 请严格按以下 JSON 格式返回,不要输出其他内容: {"is_alert": true或者false, "event_type": "事件类型,没有则为 null", "confidence": 0到1之间的小数, "reason": "判断依据,不超过50字"} <检测描述> {{observation_text}} </检测描述>

这里有一个非常重要的设计点:把“重点关注哪些事件”写进 Prompt,而不是靠模型自己猜。监控需求本来就因场景而异,把事件清单做成配置项,换场景时只改这段文本就行。

4.3 第三段 Prompt:把 RAG 知识应用起来

当 VLM 判断可能发生了事件,就需要检索规则来确定要不要告警。RAG 的检索结果会拼成一个“安全规则上下文”,然后让最终决策模块给出结论。

下列片段来自当前场所的安全管理规则,请作为判断依据: {{rag_context}} 刚才的视觉分析结果是: 事件类型:{{event_type}} 事件置信度:{{confidence}} 画面描述:{{observation_text}} 请判断是否应该告警,并给出告警级别。告警级别分为 low、medium、high。 严格返回 JSON: {"should_alert": true或者false, "alert_level": "low/medium/high", "reason": "为什么这样判断", "suggestion": "给值班人员的建议"}

这里体现的就是 RAG 的价值。没有规则上下文时,模型只会根据自己的常识判断“倒地可能要救人”;接了 RAG 之后,它知道“实验室走廊倒地被定义为 medium,需要通知安全员,不要直接拨打急救电话”。这就是监控系统的场景记忆。

4.4 输出格式控制:要求 JSON 是手段,不是目的

很多人在 Prompt 里写“请返回 JSON”,但模型偶尔还是会把 JSON 包在 Markdown 代码块里,或者额外解释几句。这不是模型笨,而是提示词缺少约束。

我验证下来比较有效的做法有四点:

  • 明确“不要输出其他内容”
  • 在示例中给出完整 JSON 结构
  • 要求字段名使用英文,值使用中文,避免中文键名解析问题
  • 在代码层做一次容错,比如去掉前后 ```json 标记、提取第一个大括号,再解析

如果解析仍然失败,不要反复重试,更不要试图用更长的 Prompt 压制模型。先把输出日志打出来,看看模型到底返回了什么,再针对性修改。

关键经验:VLM 输出不稳定时,第一步是打印原始响应,不要凭想象猜问题。

5. 最小可行链路:单帧图片先跑通

5.1 单帧流程:先用一张图走通

我建议所有新方案都从单帧图片开始。原因很简单:视频流里的问题很多,调试困难;单帧跑通了,基本能看到 80% 的问题。

执行顺序:

  1. 准备一张真实摄像头截图,不要用网络上的理想图。
  2. 用 YOLO 检测目标,打印检测框。
  3. 把检测结果转成观测文本。
  4. 调用 VLM,传原图和观测文本,得到事件 JSON。
  5. 根据场景类型检索知识库,得到规则片段。
  6. 调用最终决策 Prompt,得到告警 JSON。
  7. 人工核对:模型判断是否符合常识,输出是否可解析。

5.2 一个极简调用示意

下面是一个简化版的数据流示意,不是完整生产代码,但足以表达各部分如何拼接:

import json def run_single_frame(image_path, detector, vlm_client, retriever): # 1. YOLO 检测 detections = detector.predict(image_path) print("检测框数量:", len(detections)) # 2. 检测结果转文本,可以走代码,也可以走轻量模型 observation = format_detections_to_text(detections) # 3. VLM 判断事件 vlm_result = vlm_client.judge(image_path, observation) event_data = try_parse_json(vlm_result) # 4. 检索规则 rule_context = retriever.search(event_data.get("event_type", "default")) # 5. 最终决策 final_result = vlm_client.final_decision(observation, event_data, rule_context) return json.loads(final_result)

这里try_parse_json要自己写,逻辑就是去掉多余内容、提取 JSON 片段、解析失败时记录日志。

5.3 验证标准:不能只看“跑不跑得通”

单帧跑通后,要按三个标准判断:

  • 输出是否完整:事件类型、置信度、原因字段是否都有。
  • 输出是否稳定:同一张图跑三次,结果是否一致。如果温度设置过高或 Prompt 太模糊,结果会飘。
  • 耗时是否可接受:一次完整链路是 1 秒、3 秒还是 15 秒。VLM 耗时往往是最大瓶颈。

我通常会拿 10 张真实截图做小样本测试,不追求一次调好,只看哪几张错、哪些 Prompt 字段没有生效。

6. 参数调优和监控指标

6.1 YOLO 侧参数

YOLO 推理时最常调的是置信度阈值和 NMS 阈值。建议从低置信度开始,比如 0.25。因为最终判断由 VLM 负责,YOLO 漏检反而更致命。宁可把一些背景目标传过去,也不要让真正重要的人或车没被检测出来。

如果目标非常多,为了控制 VLM 上下文长度,可以只保留置信度最高的 N 个目标,一般 N 取 20 到 50 足够。这个数字不是越大越好,目标太多,VLM 会抓不住重点。

6.2 VLM 侧参数

VLM 的温度参数通常要调低,我一般设置在 0.1 到 0.3 之间。温度高,输出会更灵活,但监控场景不需要创造性,只需要稳定判断。

max_tokens 不要给太小,否则 JSON 经常被截断。给 300 到 800 比较合理。如果返回内容一直截断,优先看是不是检测目标太多、观测文本过长,而不是只调 max_tokens。

图像输入分辨率也要控制。很多 VLM 对过大的图片会做缩放,目标细节可能丢失。可以先把图像裁剪到检测目标附近区域,再传给 VLM,比直接全图传更有效。

6.3 RAG 侧参数

RAG 在监控系统里的核心参数有三个:分块大小、检索数量、相似度阈值。

分块大小影响规则召回。按段落或按条目切分通常比按字符硬切更好。安全规则往往是“如果……那么……”结构,硬切容易把规则切断,导致模型误判。我建议先按条切,每条不超过 200 字,不够再细分。

检索数量 top_k 在 3 到 5 左右比较合适。太多会让 Prompt 过长,模型反而抓不住重点;太少则可能漏掉关键规则。相似度阈值不要设太高,0.5 以下可能召回无关内容,0.7 以上可能漏召,建议先用 0.6 左右试跑一批场景再调。

6.4 整体灵敏度怎么调

整条链路的灵敏度不是单个模型决定的,而是多个阈值叠加:

  • YOLO 置信度低 → 更多候选目标
  • VLM 判断事件越多 → 被 RAG 检索的次数越多
  • RAG 阈值低 → 更多规则参与决策
  • 最终决策 Prompt 里“事件类型”决定哪些组合该告警

这也就意味着,如果你想要系统少报警,不要只调一项,要看哪一层过滤掉了关键信息。我一般先固定 YOLO 和 RAG 参数,通过调整 VLM 的“重点关注事件”清单来控制灵敏度,效果最直观。

7. 从单帧到视频流:批量化和稳定性处理

7.1 抽帧策略:不要把每一帧都送进 VLM

视频流场景里最大的问题是成本和时间。YOLO 可以每秒跑 20 到 30 帧,但 VLM 每帧都要跑的话,再强的机器也不够用。

常见的抽帧策略有三个:

  • 固定间隔抽帧:比如每 2 秒取一帧,适合人员走动不频繁的场景。
  • 变化检测抽帧:先计算相邻帧的像素差异或 YOLO 目标位置差异,变化大时再送 VLM。
  • 事件触发抽帧:当 YOLO 检测到某个目标进入某个区域,或目标突然消失时,立刻触发 VLM 分析。

我在实测里更喜欢先做项目内差异检测,再做固定间隔兜底。因为固定间隔在高动态场景会漏事,变化检测在静止场景能省大量资源。

7.2 队列与并发:不要一上来就开最大并发

很多人把摄像头并发数直接开到 8、16,然后整个程序崩溃。VLM 推理和 API 调用都有并发上限,盲目开线程只会让超时和报错越来越多。

更稳的路线是:先单路视频跑通,测量一次完整链路耗时;再开两路并发;稳定后再逐步增加。每一路视频建议使用独立的队列,抽帧线程只负责往队列塞帧,VLM 工作线程从队列取任务。这样即便某一帧分析很慢,也不影响视频读取。

并发数的经验值:如果单帧完整链路耗时 3 秒,4 路并发意味着每秒约 1.3 帧需要分析,普通显卡压力不算大;如果单帧耗时 15 秒,2 路并发就可能排队严重。

7.3 失败重试与输出时序

视频流不是跑一次就结束。它会产生大量的中间结果,必须考虑失败重试和告警去重。

失败重试要区分错误类型。VLM 返回内容安全策略拦截、超时、网络抖动,处理方式不同。重试超过 2 次就跳过当前帧,把错误写入日志,不要死循环重试;否则错误帧会阻塞后面所有任务。

告警去重也很关键。同一个事件在连续 30 帧里反复出现,不能发 30 次告警。我一般用“事件类型 + 目标位置 + 第一次出现时间”做指纹,相同指纹只发一次,直到事件消失超过一定时间再重新激活。

7.4 人工复核:把决定留给人

这个架构最大的风险不是模型犯错,而是模型犯错后直接推送给用户。要保留一道人工复核机制,尤其是告警级别高的场景。

我建议把系统的输出分成两层:

  • 记录层:所有分析和告警结果写入日志或数据库,值班人员可以后续查看。
  • 推送层:只有当最终决策置信度高于阈值,并且符合规则库里的“必须告警”条目时才推送。

如果模型连续多次给出不确定结论,可以降低推送优先级,而不是直接把不确定内容顶到首页。这比在 Prompt 里写一万遍“请谨慎判断”更可靠。

8. 常见问题排查与避坑清单

8.1 VLM 输出不是 JSON,或者被内容安全策略拦截

这是最常遇到的问题。打印原始响应后,一般能看到两类情况:

一类是模型返回了 JSON 但外面包了 Markdown 代码块,这个好处理,代码里提取大括号范围即可。

另一类是模型返回类似“您的提示词触发了内容策略拦截”之类的提示。这种情况通常不是模型能力问题,而是输入图像或文本触发了安全校验。不要尝试用对抗性 Prompt 去绕过限制,正确做法是调整输入材料:

  • 把图像裁剪到有效的检测目标区域,避免大范围背景噪声
  • 检查检测文本里是否包含“暴力”“攻击性”等敏感描述词
  • 用更中性、工程化的描述替代
  • 如果是本地模型,确认输入图像尺寸是否超过限制

在监控系统中,我见过很多次“模型不回答问题”是因为输入图像里有人脸特写、血腥类比或模糊线索,而不是模型坏掉了。提前做输入清洗,比事后改 Prompt 更有效。

8.2 RAG 检索不到,或者检索到的内容完全无关

先检查知识库的切块逻辑。如果你对整个 PDF 按 500 字硬切,一条完整的安全规则会被切成两截,检索时只召回一半,模型自然判断不准。

解决思路有两种:

  • 改进切块策略:先按段落分,再按“如果……那么……”结构分,尽量让一个语义单位保持完整。
  • 增加元信息:每条规则都带上“适用区域”“适用角色”“事件类型”,比如“region=laboratory, event=fall”。检索时不只用向量相似度,还能用元信息做一次硬过滤。这种方式比纯向量检索更稳,也是目前很多项目把 RAG 和知识图谱结合的原因。

如果规则不多,还可以直接用“事件类型”做键值映射,先检索再向量排序。不要为了 RAG 而 RAG,简单规则用字典查也能解决问题。

8.3 YOLO 漏检和重复告警

漏检通常不是参数问题,而是数据问题。摄像头角度和训练数据分布差太多,就会发生漏检。不要只通过调低置信度来硬扛,应该重新收集现场数据做微调。热搜词里也有“yolo训练”相关讨论,YOLO 针对现场数据集做少量训练是监控项目里最常见也最有效的步骤。

重复告警则是工程问题。不管是同一个目标连续触发,还是多个摄像头看到同一个目标,都要做跨帧、跨摄像头的去重。我的建议是引入一个轻量的目标跟踪状态,比如 YOLO 检测结果加上跟踪 ID,再用“跟踪 ID + 事件类型”做去重,而不是只用坐标做去重。坐标抖动会导致去重失效,跟踪 ID 会稳定很多。

8.4 性能瓶颈:先分清是慢还是卡

系统表现出的问题有两种:一种是慢,但最终能出结果;另一种是卡死,一直没有输出。这两者排查路径完全不同。

慢的问题,先打印每一层的耗时。YOLO 耗时多少、VLM 耗时多少、检索耗时多少,用日志记录。通常瓶颈都在 VLM。解决方法依次是:降低抽帧频率、裁剪图像、减少检测目标数量、用更小的模型、做模型并行。

卡死的问题,大概率是并发写冲突、无响应请求没有设置超时、队列积压导致内存爆炸。给 VLM 调用设置合理的超时时间,比如 30 到 60 秒,超时就按失败处理。给队列设置最大长度,满了就丢帧,而不是无限堆积。很多系统不是被模型拖垮的,是被队列拖垮的。

8.5 需要避开的“过度智能”

最后说一个最容易踩的坑:让 VLM 做太多判断。

我见过有人让 VLM 直接统计人数、直接判断“这个人是员工还是访客”、直接预测“这个人下一步会做什么”。这些任务不是完全不能做,而是稳定性很难保证,而且在真实监控场景中,错误成本太高。

更稳妥的分层是:YOLO 做定量检测,代码做空间关系判断,VLM 做语义判断,RAG 提供依据。凡是“数量、距离、时长、是否进入某个多边形区域”这类能精确计算的问题,不要让大模型回答;凡是“这个行为是否会引起安全风险、结合规则该定什么级别”这类开放语义问题,才值得用 VLM。

把精确问题交给精确工具,把模糊问题交给大模型,是这套架构能稳定落地的关键。

9. 这方案适合什么场景,不适合什么场景

9.1 适合:规则复杂、场景多变、需要快速调整的监控场景

我最推荐使用的场景有两个特点:一是事件语义比较模糊,比如“人员聚集”“行为异常”“流程不规范”,传统规则写不干净;二是业务规则会频繁变化,比如不同园区、不同季节、不同活动期间,告警要求不一样。

典型例子:

  • 园区安防:检测人员闯入、车辆违停、异常聚集,规则按园区单独配置。
  • 工业安全:安全帽、工作服、禁区逗留、跌倒检测,规则来自安全管理制度。
  • 实验室规范:是否有人员操作、是否佩戴口罩、是否接近危险区域,规则来自实验规范文档。
  • 交通辅助:车辆逆行、行人闯区域等事件可先做人工辅助判断,不建议直接闭环控制。

这些场景有几个共同点:结果可以接受秒级延迟,人工复核成本可以承受,规则文本容易整理。

9.2 不适合:实时闭环控制、责任判定、极端依赖稳定输出

这套方案不适合对实时性要求极高的控制系统。比如自动门禁、紧急刹车、机械臂保护,这些系统需要毫秒级确定性和可证明的安全性,大模型的推理速度和不稳定性都满足不了。

也不适合做责任判定类应用。比如认定“某个人造成了事故”“这是谁的责任”,这类问题对可解释性和法律合规要求极高。Prompt 驱动的大模型目前只能做辅助参考,不能作为最终裁决。

如果现场没有 GPU,也不方便调用外部 API,只看 CPU 环境,那 VLM 部分基本没法用。这时候不如把范围缩小到“YOLO + 规则引擎”,完全不用 VLM 和 RAG,效果反而更稳定。

9.3 给想落地的人一句实在话

我做了几轮测试后的体感是:这套架构真正的门槛不在模型,而在工程配合。模型选型、Prompt 设计这些东西,多试几次就能上手;但视频流管理、队列控制、告警去重、日志分析、知识库维护,这些才是决定系统能不能长期跑下去的关键。

如果你只做学习验证,从单帧图片开始,用 API 方式调用 VLM,用一个小型向量库管理规则,一两天就能看到完整链路。如果是生产项目,建议至少预留两周做数据采集、Prompt 调优、抽帧策略验证和并发压力测试。不要等到上线那天才发现,模型在测试集上表现很好,但在真实摄像头角度下频繁漏检。

这个方案真正落地时,最该盯住的不是功能列表,而是输入格式、资源占用和失败重试。把这三点处理干净,再谈告警准确率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 10:16:56

OpenCode+Agent Skills实战:从零搭建终端AI Agent工作流

近段时间&#xff0c;终端 AI Agent 的热度明显上来了。Claude Code 把“让模型自己读代码、改文件、跑命令”变成了一件日常可做的事情&#xff0c;但并不是所有人都愿意被闭源生态和固定模型绑定住。于是开源替代成了更务实的选项&#xff0c;OpenCode 就是这类项目里关注度很…

作者头像 李华
网站建设 2026/8/31 10:16:48

YOLOv11农业病虫害检测系统与智慧农业平台落地实战

一张带斑点的叶片照片&#xff0c;从田间拍摄到上传&#xff0c;再到后台返回一个标注框&#xff0c;这个过程听起来已经很“智能”了。但如果你只看检测框和置信度&#xff0c;大概率会忽略这件事真正难的地方&#xff1a;一次识别准确&#xff0c;和一套能持续使用的智慧农业…

作者头像 李华
网站建设 2026/8/31 10:13:02

主流AI论文写作工具势力榜(2026 最新版)

基于技术实力、学术适配性、用户反馈及功能完备性&#xff0c;以下是当前主流 AI 论文写作工具的权威测评榜单&#xff0c;按综合使用价值从高到低排列&#xff0c;并详列核心功能与适用人群。&#x1f3c6; 第一梯队&#xff1a;全流程学术解决方案&#xff08;★★★★★&…

作者头像 李华
网站建设 2026/8/31 10:12:35

AI Agent 可信度治理:防撒谎、防越权、防注入的工程实践指南

这次我们聊一个比“模型什么参数”更现实的问题&#xff1a; AI agents 在真实任务里会撒谎、会骗工具、会偷偷越权&#xff0c;然后用户就被吓跑了。 这个标题不是我起的戏谑说法&#xff0c;而是最近业内讨论度很高的一句话&#xff1a; AI agents lie, cheat and steal.…

作者头像 李华
网站建设 2026/8/31 10:09:51

AI批量生成小红书图片笔记:内容生产流程与合规实践

有朋友拿了一个项目描述来问我&#xff1a;小红书AI图片笔记带货&#xff0c;不违规不限流实操&#xff0c;一键全自动发布、批量标题文案工具。他语气很兴奋&#xff0c;说自己准备直接照着做&#xff0c;还问要不要配一台新电脑。我的第一反应不是回答“能不能做”&#xff0…

作者头像 李华