4.6 多模态能力

世界不仅仅由文字组成。人类通过眼睛(视觉)、耳朵(听觉)感知世界,通过绘画、语音表达观点。多模态智能体(Multimodal Agent) 突破了纯文本的限制,能够理解图像、处理音频、观看视频,并生成丰富多彩的内容。

本节探讨 LMM(Large Multimodal Model)如何让智能体获得"五官",以及如何构建能够看、听、说、画的全能智能体。

4.6.1 视觉智能

视觉是人类获取信息最主要的渠道。赋予智能体视觉感知能力,使其能够像人类一样"看"懂屏幕和物理世界,是迈向通用人工智能的重要一步。

视觉感知

不少多模态模型都具备较强的视觉理解能力。它们不再是将图片转成文字描述,而是直接 理解像素。图像提示(Prompting with Images)

通过将图像以 Base64 编码的形式与文本提示词一起发送给模型,智能体可以"看"并理解图像内容:

import base64

client = Client(model="<MODEL>")

with open("financial_report.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode("utf-8")

response = client.generate(
    input=[
        {"type": "input_image", "image_base64": image_b64},
        {"type": "input_text", "text": "分析这张财报图表,指出三个关键趋势"},
    ]
)

多图对比分析

在同一请求中发送多张图像,让模型进行对比分析:

技术原理:LMM 如何"看见"?

多模态大模型(LMM)的核心思想是将图像转化为语言模型能够理解的"视觉词汇"(Visual Tokens)。

  1. 视觉编码器(Vision Encoder):使用如 CLIP 或 SigLIP 等模型将图像分割成小块(Patches),并提取每块的特征向量。

  2. 投影层(Projector):通过一个简单的线性层或 MLP,将视觉特征向量映射到 LLM 的文本特征空间。

  3. LLM 处理:对于 LLM 来说,这些映射后的视觉特征只是一串特殊的 Token,它像处理文本一样处理这些视觉 Token,从而实现"图生文"。

spinner

图 4-17:LMM 视觉处理架构

视觉行动

除了"看",智能体还可以通过视觉与设备交互。智能体通过截取手机/电脑屏幕、让视觉模型识别 UI 元素并生成触控指令,实现像人类一样操作应用。

以下是视觉行动的典型工作流程:

spinner

图 4-18:视觉行动工作流程

下面是一个通用的 GUI 智能体(GUI Agent)实现框架,展示了"观察-思考-行动"的典型循环:

技术原理:视觉定位 (Visual Grounding)视觉行动的核心难点在于定位(Grounding):如何让只懂文字的模型输出精确的 (x, y) 像素坐标?

  1. 纯坐标预测:直接让模型输出归一化坐标(如 [0.25, 0.75]),但这对 LLM 的空间推理能力要求极高,且容易产生幻觉。

  2. 标号集(Set-of-Marks, SoM):这是目前最主流的方案。

    • 预处理:先用检测模型(如 SAM 或 IconDet)识别屏幕上所有可交互元素,并给每个元素打上数字标号(1, 2, 3...)。

    • 决策:将带有数字标签的截图喂给 LMM,告诉它"点击标号 5"。

    • 执行:智能体输出 "Click 5",脚本将其映射回标号 5 对应的中心坐标进行点击。

这种方法将复杂的空间坐标回归问题,简化为了简单的 多项选择题,极大地提高了准确率。

这一能力的典型应用场景

场景
描述
技术实现

UI 自动化

像人一样操纵软件

截图 → 识别元素 → 点击坐标

文档智能

理解文档的布局和结构

图像输入 → 提取表格/流程图

视频理解

回答关于视频内容的问题

抽帧 → 图像序列分析

代码审查

分析架构图和流程图

图像理解 → 代码建议

4.6.2 听觉与语音交互

未来的智能体交互将是 语音优先(Voice-First) 的。让智能体能听、能说,并理解语气及情绪。

语音处理技术栈

语音处理有两种主要架构:传统的 ASR→LLM→TTS 流水线,和新型的端到端语音模型。

技术原理:音频也是 Token在端到端模型中,音频被离散化为Audio Tokens(通常使用 VQ-VAE 或 SoundStream 技术)。这意味着 1 秒钟的语音可能被表示为 25-50 个整数 ID。大模型可以像预测下一个文本 Token 一样,预测下一个音频 Token,从而直接生成语音。

spinner

图 4-19:语音处理架构对比

自动语音识别 (Automatic Speech Recognition, ASR)

业界常见做法是使用语音识别(ASR)模型进行转写,并尽可能保留时间戳与分段信息:

语音合成 (Text-to-Speech, TTS)

现代 TTS 系统支持多种音色、情绪控制和语调调整:

端到端实时对话

端到端语音模型相较传统流水线通常有明显优势:

特性
传统流水线
端到端模型

延迟

高(逐步转换)

低(直接处理)

情绪理解

仅文字情感

语气、语调、节奏

中断处理

需额外逻辑

原生支持

自然度

机械感

接近真人

4.6.3 图像生成与编辑

除了看和听,智能体还能像艺术家一样创作。通常通过调用扩散模型(Diffusion Models)的工具来实现。

图像生成工作流

智能体不直接画图,而是充当 提示词工程师,通过工具调用控制生成模型:

spinner

图 4-20:图像生成与编辑工作流

工具定义示例

具体示例如下:

能力
描述
示例

内补绘制(Inpainting)

替换图像中的特定区域

"把图里这只狗换成猫"

外补拓展(Outpainting)

扩展图像边界

"把这张图向左右延伸"

风格迁移

改变图像风格

"把这张照片变成油画风格"

4.6.4 多模态架构与实战

在设计多模态智能体时,核心挑战是 模态对齐(Modality Alignment)

架构设计

多模态智能体包括输入编码、融合层、推理核心和多模态输出:

spinner

图 4-21:多模态智能体架构

策略
描述
适用场景

早期融合

在编码层合并所有模态

紧密相关的多模态任务

晚期融合

各模态独立处理后合并

松散关联的任务

统一词表

所有模态映射到同一空间

端到端生成任务

实战:构建多模态客服智能体

以下示例展示了一个完整的多模态客服智能体实现,它能够处理语音、图像和文本输入,并根据用户情绪调整回复语气:


下一节: 4.7 智能体交互体验:人机交互接口

Last updated