内容提要
本文介绍基于Amazon Nova与S3 Vectors构建的无人机炸机分析系统。针对分钟级视频中仅2至3秒关键瞬间难以定位的问题,采用“先定位、再理解”的两段式多模态RAG:用Nova MME做跨模态语义检索,用OpenCV关键帧补充运动异常候选,双路合并后交由Nova 2 Lite精读并生成报告,再经MCP网关与Quick Suite编排输出。方案强调重检索、轻生成,并指出反馈闭环与工程化能力是后续改进重点。
延伸解读
“先定位、再理解”为何优于直接喂整段视频
文章通过对比实验指出,将分钟级视频直接交给多模态大模型时,关键坠毁瞬间可能因正常画面占比过高而被遗漏。这并非否定大模型能力,而是说明在“稀疏关键事件”场景下,检索环节承担了压缩上下文、降低干扰的核心作用。该思路可迁移到安防、质检等长视频分析任务,但需注意其结论基于本次PoC的模型与成本约束,并非普适定论。
双路召回互补:语义检索之外为何还要OpenCV
纯向量检索擅长匹配画面内容,但坠毁瞬间的剧烈晃动、姿态突变属于运动学信号,语义上未必突出,因此PoC补充了基于OpenCV的关键帧采样作为第二路召回。这一设计揭示了单一召回方式的局限:语义相关不等于事件关键。读者在构建类似系统时,应评估目标事件是否包含非语义的异常特征,再决定是否叠加互补信号,而非默认向量检索足够。
任务级索引复用的便利与规模边界
系统以missionId映射S3 Vectors索引,使同一任务已向量化的视频可跳过重复处理,适合事故被反复追问的场景。但文章明确提示,每个vector bucket最多支持10,000个索引,当前“一任务一索引”仅适合PoC和有限规模。规模扩大后需引入索引生命周期、分桶或共享索引加metadata过滤。这提醒读者:便利的设计往往附带配额约束,需提前规划扩展路径。
从PoC到生产:模型之外的决定性工程能力
文章反复强调,当前版本是“PoC工程化版本”,asyncio.Lock仅保障单进程并发安全,生产化还需持久化任务队列、跨进程状态存储、重启恢复、可观测性与容量治理。同时,反馈闭环缺失被列为最值得改进的一步。这说明此类系统的落地瓶颈往往不在模型选型,而在任务可靠性、去重校验与持续评估机制,读者应据此分配工程投入优先级。
Q&A
为什么不能直接把整段无人机飞行视频交给多模态大模型分析?
因为炸机关键瞬间往往只占分钟级视频中的2~3秒,直接喂完整视频时,模型容易被大量正常飞行画面干扰,关键坠毁瞬间可能在长上下文中被遗漏,输出未能稳定命中故障点。依赖通用视频自动解析对时序动态线索也不够敏感。因此需要先检索定位,再交给模型精读。
这套系统如何从长视频中定位炸机瞬间?
系统采用双路候选合并:路径A用Amazon Nova Multimodal Embeddings将视频分段(默认15秒)编码为向量存入S3 Vectors,查询时用同一模型编码自然语言prompt做top-k近邻检索;路径B用OpenCV每0.5秒采样一帧,结合相邻帧视觉变化筛选剧烈晃动、姿态异常的候选帧。两路结果合并后送入Nova 2 Lite精读。
为什么选择Nova Multimodal Embeddings和S3 Vectors?
Nova MME将文本、图片、视频编码到同一语义空间,支持直接用prompt向量匹配视频片段,无需中间文字描述转换;它支持最长30秒片段编码,与15秒分段粒度契合,并提供多种维度可选(选1024维平衡精度与存储)。S3 Vectors按官方口径可将向量上传、存储和查询总成本降低最高90%,支持相似度查询与metadata filtering。
系统如何避免同一任务的多段视频被重复向量化?
系统以missionId为单位,将规范化后的任务ID映射为S3 Vectors索引名(如mission-{normalized-id}),同一组已完整向量化的视频在后续查询中无需重复处理,可直接进入检索阶段。当前PoC通过索引是否已有数据判断复用,生产实现还应校验输入清单和向量化完成标记。
在网关层如何让Quick Suite编排时静默调用工具?
系统使用Amazon Bedrock AgentCore Gateway负责认证与协议路由(对接Cognito,OAuth2 client_credentials签发JWT),后端自建MCP Server基于FastMCP。为解决Quick Suite Flow调用时出现用户确认弹窗的问题,在MCP Server中补齐tool annotations,并验证Gateway能将annotations暴露给上层。annotations必须与真实副作用一致:只读查询可标只读,会创建任务并写S3的视频分析工具不能标只读。
当前方案最关键的改进方向是什么?
最关键是补齐反馈闭环:目前系统分析完即结束,无法从分析人员判断中学习。理想做法是将双路召回的关键帧和高相似度片段呈现给分析人员打标签,确认真正的炸机瞬间及故障类型,标注既能即时纠偏又能沉淀结构化案例库。此外还可从文本检索视频扩展到视频示例检索视频,并优化编排减负、召回规则和数据源扩展。
这套方案从PoC走向生产还需要补充哪些工程能力?
当前版本是PoC工程化版本,已实现统一重试策略、分层异常、fail-fast和83个mock单元测试,但asyncio.Lock仅保障单进程内并发安全。生产化还需补充持久化任务队列、跨进程状态存储、重启恢复、可观测性和容量治理;S3 Vectors每个bucket最多1万个索引,规模扩大后需引入索引生命周期与分桶策略或共享索引加metadata filtering。