
多模态Agent来了让你的智能体同时看图、听音、读视频 ️导读2025年Agent不再只是文字处理器——它能看图片、听语音、读视频多模态Agent正在成为下一个技术高地。本文带你从零构建一个能处理图片、音频和视频的多模态Agent让你的智能体真正拥有五感一、什么是多模态Agent1.1 从单模态到多模态阶段能力代表局限文本Agent只能处理文字早期ChatGPT看不懂图片️视觉Agent文字图片GPT-4V不能听和看视频听觉Agent文字音频WhisperGPT不能看图多模态Agent文字图片音频视频GPT-4o、Gemini全能感知 多模态Agent 文本输入 多模态大模型️ 图片输入 音频输入 视频输入 统一输出1.2 多模态Agent的应用场景场景输入输出价值图片分析产品照片质量检测报告自动质检图表理解数据截图数据分析报告自动读图️语音助手语音指令执行操作免手操作视频分析监控视频异常事件报告智能监控文档处理扫描件PDF结构化数据自动录入二、多模态模型选型 2.1 支持多模态的主流模型模型文本图片音频视频价格(百万Token)推荐度GPT-4o✅✅✅✅$2.5入/$10出⭐⭐⭐⭐⭐Claude 3.5✅✅❌❌$3入/$15出⭐⭐⭐⭐Gemini 1.5 Pro✅✅✅✅$1.25入/$5出⭐⭐⭐⭐⭐Qwen-VL-Max✅✅❌❌¥0.02入/¥0.06出⭐⭐⭐⭐DeepSeek-VL2✅✅❌❌¥1入/¥2出⭐⭐⭐⭐选型建议需要全模态含音频视频选GPT-4o或Gemini只需要图片理解选Qwen-VL或DeepSeek-VL更省钱。三、图片理解Agent实战 3.1 基础让Agent看懂图片fromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessage llmChatOpenAI(modelgpt-4o)# 发送图片 文字给AgentmessageHumanMessage(content[{type:text,text:请分析这张图片的内容描述你看到了什么},{type:image_url,image_url:{url:https://example.com/photo.jpg,# 也可以用本地图片的base64编码# url: fdata:image/jpeg;base64,{base64_image}}},])responsellm.invoke([message])print(response.content)# 输出这张图片展示了一个...3.2 进阶构建图片分析Agentfromlangchain.toolsimporttoolfromlangchain_openaiimportChatOpenAIfromlanggraph.prebuiltimportcreate_react_agentimportbase64tooldefanalyze_image(image_path:str,task:str)-str:分析图片内容。支持识别物体、文字OCR、场景描述等任务。 Args: image_path: 图片文件路径或URL task: 分析任务类型如描述内容、提取文字、识别物体 llmChatOpenAI(modelgpt-4o)# 读取图片ifimage_path.startswith(http):image_data{url:image_path}else:withopen(image_path,rb)asf:encodedbase64.b64encode(f.read()).decode()image_data{url:fdata:image/jpeg;base64,{encoded}}responsellm.invoke([HumanMessage(content[{type:text,text:f请执行以下图片分析任务{task}},{type:image_url,image_url:image_data}])])returnresponse.contenttooldefcompare_images(image1_path:str,image2_path:str)-str:比较两张图片的异同。 Args: image1_path: 第一张图片路径 image2_path: 第二张图片路径 # 类似逻辑发送两张图片让模型比较pass# 创建多模态Agentagentcreate_react_agent(modelChatOpenAI(modelgpt-4o),tools[analyze_image,compare_images],prompt你是一个视觉分析专家能精准分析图片内容。)3.3 多模态Agent应用场景表应用输入Agent动作输出电商商品分析商品图片识别品类、提取属性商品描述JSON图表数据提取图表截图OCR数据理解结构化数据表医学影像辅助X光/CT图标注异常区域辅助诊断报告车牌识别道路监控图识别车牌号车牌号码手写识别手写笔记照片OCR理解数字化文本四、语音交互Agent实战 ️4.1 语音处理流程 语音输入ASR语音识别 文本 Agent处理 回答文本TTS语音合成 语音输出4.2 语音Agent代码实现fromlangchain.toolsimporttoolimportopenaitooldefspeech_to_text(audio_file_path:str)-str:将语音文件转换为文字。支持mp3、wav、m4a等格式。 Args: audio_file_path: 音频文件路径 withopen(audio_file_path,rb)asaudio:transcriptopenai.audio.transcriptions.create(modelwhisper-1,fileaudio,languagezh)returntranscript.texttooldeftext_to_speech(text:str,output_path:str)-str:将文字转换为语音文件。 Args: text: 要转换的文字内容 output_path: 输出音频文件路径 responseopenai.audio.speech.create(modeltts-1,voicealloy,# 可选alloy, echo, fable, onyx, nova, shimmerinputtext)response.stream_to_file(output_path)returnf语音文件已保存到{output_path}# 语音Agent的完整流程defvoice_agent_process(audio_input_path):完整的语音交互流程# Step 1: 语音转文字textspeech_to_text.invoke({audio_file_path:audio_input_path})print(f 识别结果{text})# Step 2: Agent处理resultagent.invoke({messages:[(user,text)]})response_textresult[messages][-1].contentprint(f Agent回答{response_text})# Step 3: 文字转语音speech_outputtext_to_speech.invoke({text:response_text,output_path:/tmp/response.mp3})print(f{speech_output})五、视频理解Agent实战 5.1 视频处理策略视频太长不能直接全部发给模型。常用策略策略原理适用场景优缺点关键帧提取每隔N秒截取一帧监控分析✅简单 ❌可能漏掉关键信息片段采样均匀采样N个片段视频摘要✅全面 ❌Token消耗大事件检测先检测变化再分析异常检测✅高效 ❌需要预处理5.2 视频分析代码importcv2fromlangchain.toolsimporttooltooldefextract_key_frames(video_path:str,interval_seconds:int5)-str:从视频中按间隔提取关键帧图片。 Args: video_path: 视频文件路径 interval_seconds: 提取间隔秒 capcv2.VideoCapture(video_path)fpscap.get(cv2.CAP_PROP_FPS)frame_intervalfps*interval_seconds frames[]frame_count0whileTrue:ret,framecap.read()ifnotret:breakifframe_count%frame_interval0:pathf/tmp/frame_{frame_count}.jpgcv2.imwrite(path,frame)frames.append(path)frame_count1cap.release()returnf提取了{len(frames)}帧关键帧路径{frames}tooldefanalyze_video_content(video_path:str,task:str)-str:分析视频内容。自动提取关键帧并分析。 Args: video_path: 视频文件路径 task: 分析任务如描述视频内容、检测异常、生成摘要 # 提取关键帧framesextract_key_frames.invoke({video_path:video_path,interval_seconds:3})# 将关键帧发给多模态模型分析llmChatOpenAI(modelgpt-4o)content[{type:text,text:f请分析这些视频帧任务{task}}]forframe_pathineval(frames.split(路径)[1]):withopen(frame_path,rb)asf:encodedbase64.b64encode(f.read()).decode()content.append({type:image_url,image_url:{url:fdata:image/jpeg;base64,{encoded}}})responsellm.invoke([HumanMessage(contentcontent)])returnresponse.content六、多模态Agent的System Prompt设计 multimodal_prompt # 角色定义 你是一个多模态AI助手万象能够理解和处理文字、图片、音频、视频等多种信息。 # 能力 - 文本理解分析、总结、翻译文字内容 - ️ 图片分析识别物体、提取文字、描述场景、分析图表 - 语音处理语音转文字、文字转语音 - 视频理解提取关键帧、分析视频内容、生成视频摘要 # 工作原则 1. 收到图片时先描述看到了什么再回答用户问题 2. 处理音频时先转写为文字确认理解正确后再处理 3. 分析视频时提取关键帧并综合多帧信息 4. 对于不确定的视觉内容诚实说明并给出置信度 # 输出格式 分析结果使用以下结构 - **内容概述**一句话总结 - **详细分析**分点描述 - **关键发现**重要信息 - ⚠️ **注意事项**不确定的地方 七、多模态Agent的性能与成本 7.1 Token消耗对比输入类型Token消耗处理时间成本估算纯文字(100字)~50 tokens0.5s¥0.001一张图片~1000 tokens2s¥0.021分钟音频~500 tokens(转写后)5s¥0.051分钟视频(10帧)~10000 tokens15s¥0.27.2 成本优化策略策略效果实现方式图片压缩Token减少60%降低分辨率到1024px智能抽帧Token减少80%只提取有变化的帧分级处理成本减少50%简单任务用便宜模型️缓存机制重复查询零成本缓存已分析的结果八、本期小结 模态核心能力关键技术推荐模型文本理解与生成LLM所有模型️图片识别与分析多模态LLMGPT-4o、Qwen-VL音频语音识别与合成Whisper TTSWhisper 各TTS视频内容理解关键帧多模态GPT-4o、Gemini多模态是Agent的进化方向。未来的Agent不只是文字处理器而是能看、听、说的全能助手。掌握多模态Agent开发就是站在了AI应用的最前沿 下期预告大模型基座篇完结下一篇进入工具与协议篇——《MCP协议详解AI Agent的USB-C接口》。MCP到底是什么为什么它被称为Agent领域的游戏规则改变者敬请期待三连走起多模态Agent让AI拥有五感专栏第8/24期大模型基座篇完结下一篇进入工具与协议篇作者高炉炼铁智能化技术研究者专注钢铁冶金与人工智能 交叉领域。 如果觉得有帮助请点赞、收藏、转发版权归作者所有未经许可请勿抄袭套用商用(或其它具有利益性行为)。 关注专栏不错过后续精彩内容