ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

基于GRPO与多模态智能体的视频深度研究系统架构与实战

基于GRPO与多模态智能体的视频深度研究系统架构与实战 1. 项目缘起当视频研究遇上多模态智能体最近在折腾一个挺有意思的项目起因是团队里一个很实际的需求我们手头积压了大量行业会议、产品发布会和技术研讨会的录播视频。这些视频动辄一两个小时信息密度极高但让一个研究员从头到尾看完、提炼要点、再交叉对比不同视频的观点工作量巨大且效率低下。传统的做法是依赖人工剪辑、转录、再阅读文本摘要但这个过程不仅耗时还容易因为人的精力有限而遗漏掉视频中那些一闪而过的图表、演示动画甚至是演讲者的语气和肢体语言所传递的微妙信息。这让我开始思考有没有一种更“聪明”的工具它不仅能“听懂”视频里在说什么还能“看懂”画面里在展示什么甚至能理解两者之间的关联然后像一个资深的研究员一样主动去挖掘信息、对比分析、归纳总结最终生成一份结构化的深度研究报告。这听起来有点像科幻电影里的场景但结合当前多模态大模型和智能体Agent技术的发展我认为我们已经站在了实现它的门槛上。这就是“Video-DeepResearch”这个项目想法的雏形打造一个面向视频内容的下一代多模态深度研究智能体。简单来说它不是一个简单的视频摘要工具。它的目标是成为一个“研究伙伴”。你给它一段或一系列视频它能够自主地完成从信息提取、知识关联、深度分析到报告生成的全流程。这背后涉及的核心技术正是当下AI领域最炙手可热的几个方向多模态理解让AI同时处理视觉、听觉和文本信息、智能体架构让AI具备规划、执行、反思和迭代的能力以及强化学习优化如何让这个智能体在研究任务上表现得越来越好。最近社区里关于GRPO、Benchmark以及各种Agent框架如Hermes Agent、Pi Agent的讨论非常热烈也印证了大家对这个方向的共同关注和探索。2. 核心架构拆解一个研究型智能体是如何“思考”的要让机器像研究员一样工作我们不能只给它一个强大的模型然后指望它“一口吃成胖子”。必须为它设计一套清晰的“工作流”和“思考框架”。基于我们的实践和当前主流Agent架构的启发我将Video-DeepResearch的核心架构分解为以下几个层次这或许能为你构建类似系统提供一个清晰的蓝图。2.1 感知层多模态信息的“解构”与“对齐”这是智能体的“眼睛”和“耳朵”。它的任务是将原始的视频流解构成机器可以理解和处理的结构化信息元。这个过程远不止是语音识别ASR生成字幕那么简单。第一步高精度多模态特征提取。我们通常会并行运行多个处理管道视觉管道使用视频理解模型如VideoMAE、InternVideo按关键帧或均匀采样抽取帧进行场景识别、物体检测、OCR提取屏幕上的文字、图表标题、人脸识别区分不同讲者以及动作识别。音频管道除了高精度的ASR生成逐字稿我们还会提取音频特征如语调、语速、停顿这些对于判断演讲者的强调点、情绪甚至不确定性非常有帮助。文本管道对ASR文本进行清洗、分句、分段并打上时间戳确保每一段文字都能回溯到视频中的具体时刻。第二步跨模态对齐与融合。这是感知层的精髓。我们需要建立视觉、听觉、文本信息之间的关联。例如时序对齐将OCR识别出的图表标题与ASR中正在讲解该图表的那段语音文本进行对齐。语义对齐当演讲者说“正如大家在这个柱状图上所看到的”系统需要能将这句话与当前画面中检测到的柱状图图像块关联起来。融合表示最终对于视频的每一个片段例如每10秒我们得到一个融合的特征向量它同时包含了该片段的视觉内容摘要、文本内容摘要和音频特征。这为后续的深度理解提供了统一的“语言”。实操心得多模态对齐的精度直接决定了下游任务的天花板。我们初期直接使用现成的模型经常出现“图文不符”的情况。后来我们引入了一个轻量级的“对齐校验”模块利用多模态嵌入模型如CLIP计算图像片段和对应文本片段的相似度过滤掉低置信度的匹配效果提升显著。2.2 认知与规划层智能体的“研究策略”有了结构化的信息智能体需要决定“做什么”以及“怎么做”。这就是规划层的职责。我们借鉴了ReActReasoning and Acting等框架的思想让智能体具备“思考-行动-观察”的循环能力。核心是一个任务分解与规划器。当用户输入一个研究目标例如“分析视频中关于新能源电池技术路线的争论焦点”规划器会将其分解为一系列可执行的具体任务信息检索任务在全视频中定位所有提到“锂离子电池”、“固态电池”、“钠离子电池”等关键术语的片段。观点提取任务针对每个技术路线提取不同讲者支持或反对的论据、提到的数据、展示的对比图表。关系构建任务分析不同观点之间的对立、补充或递进关系。总结归纳任务综合以上信息归纳出争论的核心维度如成本、安全性、能量密度、量产难度。规划器的另一个关键作用是工具调用Tool Use。智能体知道自己拥有哪些“工具”比如search_in_transcript(keywords): 在转录稿中搜索关键词。extract_frames(timestamp, duration): 提取指定时间段的视频帧。analyze_chart(image): 调用专门的图表分析模型解读图表数据。query_knowledge_base(question): 从外部知识库或网络搜索中获取背景知识。compare_arguments(list_a, list_b): 对比两组论据的异同。规划器根据当前任务状态动态决定调用哪个工具并生成具体的调用参数。2.3 记忆与反思层让研究具备“连续性”和“深度”一次性的分析往往不够深入。一个好的研究员会在分析过程中不断记录、回溯和修正自己的理解。为此我们为智能体设计了两种核心记忆机制短期/工作记忆存储当前任务链的上下文、工具调用的历史记录和中间结果。这确保了它在执行多步任务时不会“忘记”刚才在做什么。长期记忆/知识图谱这是智能体的“研究笔记本”。它将从视频中提取的实体人物、技术、产品、组织、概念、观点以及它们之间的关系以图结构的形式持久化存储。例如“专家A” -[持有观点]- “支持固态电池” -[基于数据]- “能量密度高达500Wh/kg”。随着处理视频的增多这个知识图谱会不断丰富使得智能体在面对新视频时能进行更深度的关联分析和知识溯源。反思机制则是对智能体“思考过程”的优化。在任务执行结束后或者当某个工具调用结果不理想时系统会触发一个反思步骤。例如“我刚才用analyze_chart工具分析这个曲线图但输出的数据趋势描述很模糊。可能的原因是图表坐标轴标签不够清晰或者模型对这类专业图表不熟悉。下一步我可以尝试先用ocr工具精确提取坐标轴数据再人工复核。” 这种反思可以被记录下来用于优化未来的规划决策甚至用于微调模型本身。2.4 执行与协作层单智能体与多智能体的抉择对于单个视频的深度研究一个功能完备的单智能体架构通常就足够了。它内部集成了规划、工具调用、记忆等所有模块按照既定流程工作。但当任务变得极其复杂比如需要同时监控并分析多个直播流或者需要协调“信息收集”、“数据分析”、“报告撰写”等不同特长的角色时多智能体协作架构就显示出优势。你可以设计一个“主管智能体”Manager Agent负责分解总任务并协调下设多个“专家智能体”Specialist Agent如“视觉分析专家”、“数据核查专家”、“文风润色专家”。它们之间通过消息队列或共享工作空间进行通信和协作。踩坑实录我们早期尝试过多智能体架构但立刻遇到了通信开销大、任务状态同步复杂、容易陷入“扯皮”循环等问题。对于大多数视频研究场景我们的建议是优先构建一个强大的单智能体将其功能模块化。只有当任务复杂度明确超出单智能体能力边界且你有充足的工程资源来处理分布式系统的复杂性时再考虑多智能体方案。许多标榜“Agent框架”的工具其核心价值往往是帮你更好地组织单智能体内的模块和流程。3. 训练与优化核心为什么是GRPO构建好架构我们得到了一个“能跑”的智能体。但如何让它“跑得好”真正产出高质量、可靠的研究成果这就需要训练和优化。在尝试了多种方法后GRPOGroup Relative Policy Optimization成为了我们的重点关注对象。要理解它的价值得先看看我们遇到过什么问题。3.1 从SFT到RLHF再到GRPO的演进逻辑最初我们采用标准的监督微调SFT收集大量“视频片段-人工撰写的研究笔记”配对数据去微调一个基础的大语言模型LLM。这能让模型学会模仿人类的研究笔记风格但效果很快遇到瓶颈模型会犯一些事实性错误幻觉或者分析流于表面缺乏深度。于是我们转向强化学习人类反馈RLHF。我们设计了一个奖励模型Reward Model用来评估智能体生成的研究片段在“事实准确性”、“分析深度”、“逻辑连贯性”等方面的得分。然后通过PPO等算法去优化智能体策略模型。这确实提升了质量但过程极其痛苦成本高昂需要大量人工标注来训练奖励模型且标注标准难以统一。训练不稳定PPO算法涉及多个模型策略模型、价值模型、奖励模型的协同优化超参数敏感容易训崩。奖励黑客智能体可能会学会“讨好”奖励模型生成一些看起来得分高但实际无用的、冗长或模板化的内容。GRPO提供了一种更简洁、更稳定的思路。它属于“无需奖励模型的强化学习”RL without Reward Model范畴。其核心思想是直接在同一个批次Group内生成的多个回应之间进行比较和排序。3.2 GRPO的工作原理与实操设置假设我们给智能体一个任务“总结视频中关于某技术优点的三个论据。”采样让当前的策略模型智能体对这个任务生成N个例如4个不同的回应。分组评分不是用一个训练好的奖励模型打分而是通过一组预定义的可计算指标如引用视频中具体时间戳的数量、论据是否包含数据支撑、句子多样性等来给这N个回应打分。这些指标函数是确定的、无需训练的。相对排名根据总分对这N个回应进行排名。优化GRPO的损失函数会鼓励模型使其生成高排名回应的概率增大生成低排名回应的概率减小。它优化的是同一组内样本的相对质量。我们的实操配置如下以微调LLM为核心策略模型为例# 伪代码展示GRPO优化的核心循环概念 for batch in dataloader: video_context, task_prompt batch # 1. 采样多个回应 responses [] for _ in range(group_size): # group_size通常取4-8 response policy_model.generate(video_context, task_prompt) responses.append(response) # 2. 基于规则计算每个回应的得分 scores [] for resp in responses: score compute_score(resp, video_context) # compute_score 函数示例 # - factual_score: 检查回应中的关键实体是否在视频转录稿中出现 # - depth_score: 分析回应的句法复杂度和观点数量 # - citation_score: 统计引用具体时间戳/帧号的次数 # - diversity_score: 避免重复的句式 scores.append(score) # 3. 根据得分计算排名并计算GRPO损失 rankings compute_rankings(scores) # 例如使用得分直接排序 loss grpo_loss(policy_model, responses, rankings) # 4. 反向传播更新策略模型 optimizer.zero_grad() loss.backward() optimizer.step()与PPO的关键区别在于PPO需要维护一个复杂的价值函数来估计“绝对好”而GRPO只关心“在这一次的几个人中谁更好”。这种基于组内比较的方法更符合人类评估的习惯我们常说“A比B好”而不是“A的绝对分是80”并且避免了训练一个难以校准的奖励模型。3.3 GRPO的优缺点与我们的改进优点简单稳定无需训练奖励模型减少了流程复杂性和不稳定因素。成本更低依赖于可编程的评分规则减少了对大量人工标注的依赖。针对性强评分规则可以直接围绕研究任务的核心指标如引用准确性、分析维度设计引导模型快速优化特定能力。缺点与我们的应对策略评分规则的设计是瓶颈规则设计得好坏直接决定优化方向。我们花了大量时间迭代这些规则。例如最初的“引用得分”只计算时间戳数量结果模型学会了堆砌无关的时间戳。后来我们改为“有效引用得分”要求引用的时间戳前后的内容必须与回应的论点强相关这需要通过一个轻量级的文本相关性模型来辅助判断。可能收敛到局部最优如果评分规则无法涵盖所有质量维度模型可能会“钻空子”。我们的解决方案是动态混合多种优化信号。除了GRPO我们仍然保留了一小部分高质量SFT数据用于防止遗忘并偶尔引入少量人工审核将人工排序作为一组特殊的“黄金标准”组输入GRPO。组大小Group Size的影响组太小如2比较噪声大组太大则计算开销增加。我们通过实验发现对于我们的任务组大小设为6是一个较好的平衡点。4. 评估体系构建如何衡量一个“研究智能体”的好坏“你的智能体效果怎么样”这是一个必须回答但很难回答好的问题。我们不能只说“感觉不错”。我们需要一个客观、全面、可量化的评估体系Benchmark。这对于迭代模型、对比不同方案至关重要。4.1 评估维度的确立我们围绕“深度研究”的核心要求建立了四个层次的评估维度评估维度核心问题评估方法示例指标事实准确性智能体的输出是否忠实于视频源是否产生幻觉自动化比对 人工抽样1.实体召回率/精确率输出中提到的关键人物、技术、数据在视频转录稿中出现的比例。2.引文支持度每个重要论点是否都附带了可验证的视频时间戳3.人工幻觉判别抽样检查标记事实性错误的数量。分析深度智能体是简单复述还是进行了关联、对比、推理和归纳规则匹配 LLM作为评判员1.观点挖掘数量识别出的独立观点或论据的数量。2.关系识别是否正确识别了观点之间的支持、反对、因果等关系。3.推理链长度使用LLM评估输出中推理步骤的完整性和合理性。逻辑与结构最终的报告是否条理清晰逻辑连贯LLM作为评判员 人工评分1.章节连贯性使用LLM判断段落间的过渡是否自然。2.大纲合理性报告结构是否符合该研究主题的常规范式如背景、现状、分析、总结。3.人工可读性评分1-5分。信息完整性是否覆盖了视频中所有重要的主题和细节基于参考摘要的对比1.主题召回率对比智能体报告与人工撰写的参考摘要计算覆盖的关键主题比例。2.ROUGE-L, BLEU等文本相似度指标需谨慎使用仅作参考。4.2 构建专属的Benchmark数据集公开的视频理解数据集如MSRVTT, ActivityNet大多侧重于描述性任务“视频里发生了什么”缺乏针对“研究分析”的评估数据。因此构建自己的Benchmark数据集是必经之路。我们的构建流程数据收集选取了约100个涵盖科技、商业、学术等不同领域的高质量长视频45-90分钟。人工标注聘请领域相关的研究生或研究员为每个视频制作“黄金标准”输出详细的时间戳索引标记出所有重要论点的起止时间。结构化研究摘要不是流水账而是按主题划分包含论点、论据、数据、图表解读和不同观点的对比。问答对针对视频内容设计一系列事实性、分析性、推理性的问题及其答案。划分数据集按8:1:1划分为训练集用于SFT、验证集用于调参和早停和测试集用于最终评估严格保密。4.3 实施评估与迭代循环有了评估维度和数据集评估就成为一个自动化与人工结合的流程自动化评估流水线每训练完一个模型版本就在测试集上运行自动计算上述表格中的各项自动化指标实体召回、引文支持度等。LLM-as-a-Judge对于“分析深度”、“逻辑结构”等难以规则化的维度我们采用GPT-4等强大LLM作为“裁判员”。我们会精心设计提示词Prompt让LLM根据黄金标准答案对模型输出进行评分或比较。虽然成本较高且存在偏差但在当前是相对有效的方案。人工深度评估每周或每个重要里程碑团队会进行人工抽样评估。重点查看自动化指标高但“感觉不对”的案例以及处理特别复杂的视频时的表现。这些人工发现的问题会直接反馈到下一轮的训练数据构建或评分规则调整中。这个评估体系不仅告诉我们模型的好坏更重要的是它为我们优化GRPO的评分规则、调整智能体的规划逻辑提供了最直接的依据。例如如果我们发现“分析深度”指标持续偏低我们就会去检查是规划器没有分解出“对比分析”子任务还是工具调用未能提取出有效的对比信息亦或是GRPO的评分规则里对“深度”的激励不够。5. 实战挑战与避坑指南在将Video-DeepResearch从原型推向可用的过程中我们踩过了无数的坑。这里分享几个最具代表性的挑战和解决方案希望能帮你节省大量时间。5.1 多模态对齐的“最后一公里”难题理论上有了视觉和文本的特征对齐似乎顺理成章。但实践中细粒度、高精度的对齐异常困难。比如演讲者说“这个算法的精度在数据集A上达到了95%”同时PPT上展示了一个表格其中一行确实写着“Dataset A: 95%”。但OCR可能把“Dataset A”识别成了“DatasetA”或者视频压缩导致数字模糊。简单的字符串匹配会失败。我们的解决方案是“分层对齐与模糊匹配”粗粒度对齐以演讲者的话轮或段落为单位与大致时间窗口内的视觉信息进行关联。细粒度候选生成在粗粒度窗口内使用OCR提取所有文本块使用目标检测框出所有图表。语义相似度匹配使用句子嵌入模型如BGE计算语音文本与每个OCR文本块、图表标题的语义相似度。即使字面不完全匹配只要语义高度相关如“我们的模型”和“Proposed Method”也能建立连接。规则后处理加入一些启发式规则比如“数字必须完全一致才能建立数据关联”“人名、专有名词优先要求字面匹配”。5.2 智能体的“幻觉”与控制这是所有LLM应用的通病在研究场景下尤为致命。智能体可能会“自信地”编造一个不存在的实验数据或者将A讲者的观点张冠李戴给B。我们采用“多重约束与验证”机制来缓解工具调用约束强制要求任何涉及具体数据、引言的论点必须通过调用search_in_transcript或extract_frames工具获得“证据”并在输出中附带证据源时间戳。输出模板结构化研究报告的输出不是自由文本而是填充到预定义的结构化模板中如论点: [内容] 证据: [时间戳] [引用内容]。这从格式上限制了胡编乱造的空间。事后验证模块生成初步报告后启动一个独立的“验证智能体”。它的任务是用报告中的每一个事实性陈述反向查询原始视频材料通过工具确认其真实性。将无法验证或低置信度的部分标记为“待核实”。5.3 长视频上下文处理的工程优化处理1-2小时的视频融合后的上下文信息量巨大很容易超出LLM的上下文窗口。直接截断会丢失信息而扩展上下文窗口又会带来极高的计算成本和时间延迟。我们的策略是“分层摘要与动态加载”生成视频层次化摘要章节级摘要利用视频中的章节标记或通过文本/视觉变化自动检测出的段落生成每个章节约10-15分钟的摘要。主题级摘要基于转录稿进行主题聚类生成每个核心主题的摘要。动态上下文构建当规划器下达某个具体任务如“分析电池成本争论”时系统不是加载全部原始信息而是首先加载主题级摘要找到相关主题。然后根据主题摘要定位到具体的章节。最后只加载相关章节的详细片段级信息融合特征输入给LLM进行分析。 这相当于为LLM配备了一个高效的“外部记忆系统”按需取用大大降低了单次处理的上下文长度。5.4 对专业领域知识的处理通用模型对专业术语、领域特定概念的理解有限。例如在医学视频中它可能知道“CT”是一种扫描但无法深入理解不同CT影像特征所代表的病理含义。我们通过“领域适配管道”来解决领域术语库构建一个领域关键词和实体词典在预处理阶段进行识别和标准化。外部知识库增强为智能体集成领域知识图谱如医学的UMLS计算机科学的ACL Anthology网络的查询工具。当识别到专业概念时智能体可以主动查询知识库来补充背景信息。领域微调如果资源允许在特定领域的高质量文本数据如论文、教科书上对核心的LLM进行进一步的继续预训练或微调提升其领域语言建模能力。构建Video-DeepResearch这样的系统是一个典型的“系统工程”它考验的不仅仅是对某个前沿算法的理解更是对多模态处理、智能体架构、强化学习、评估体系以及具体业务场景需求的综合把握能力。从简单的视频摘要到深度的研究分析这中间需要跨越巨大的技术鸿沟。目前我们的系统仍然处于“辅助研究员”的阶段远未达到完全替代人类专家的水平。但它的价值已经显现能够将研究员从繁重的信息初筛和整理工作中解放出来让他们更专注于高层次的思考、判断和创新。这个领域的演进速度飞快新的模型、新的框架、新的训练方法层出不穷保持开放的心态和快速实验的能力或许比追求一个完美的初始设计更为重要。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进