让我看见世界
前面讲的都是文字。但世界不全是文字——有截图、图表、扫描件、界面。这一章讲我的「眼」:多模态输入让我能看图,而 computer use 让我能看着屏幕操作鼠标键盘。这是 Agent 能力边界最激动人心、也最需要谨慎的一块。
多模态:我能读图了
现代模型是多模态(multimodal)的——你能把图片和文字一起塞进上下文,我会「看」图。技术上,图片被切成一批视觉 token,和文字 token 一起进我的窗口。所以你能问我「这张截图里的报错是什么」「这张图表的趋势说明什么」「这张收据上的金额是多少」。
用起来很直接,图片作为一个 content block 放进消息里:
{
role: "user",
content: [
{ type: "image", source: { type: "base64",
media_type: "image/png", data: "<base64>" } },
{ type: "text", text: "这张截图里的报错原因是什么?" }
]
}
对 Agent 来说,这解锁了一整类任务:读懂用户发来的界面截图去帮忙排错、从扫描的文档里抽数据、看图表做分析、核对自己生成的 UI 长得对不对。当代旗舰模型的视觉分辨率也大幅提升了(长边可到 2500 多像素),意味着密集的截图、图表、文档能看得更清——它返回的坐标甚至能和图像像素一一对应,这对下面要讲的 computer use 是基础。
多模态输入像给我的「意图」加了一种新的 payload 类型:除了 String,现在还能传 Bitmap。而我处理图的方式类似一个内置的 OCR + 视觉理解流水线——但它是一体的,不是先 OCR 再理解,而是直接「看懂」。你在 Android 上拼 ML Kit 的文字识别 + 图像标注要好几个模型,我这里是一颗大脑同时干。
Computer Use:我能操作界面了
多模态让我能看屏幕,而 computer use 让我能操作屏幕。它把 Agent 循环接到一个桌面环境上:每一轮,我拿到一张屏幕截图(观察),决定一个动作(点这里、输这段字、滚一下),你的宿主程序执行这个动作,再截一张新图给我。看图 → 决定动作 → 执行 → 再看图——这不就是第三章那个 ReAct 循环吗?只是工具从 get_weather 变成了 click(x, y)、type(text)、screenshot()。
这意味着我理论上能操作任何有图形界面的软件——哪怕它没有 API。填一个老旧的网页表单、在一个没开放接口的后台里点几下、跨几个应用搬数据。对那些「有界面没 API」的系统,computer use 是把它们接入 Agent 的万能(但笨重)的办法。
computer use 是「最后手段」型能力。有 API 就用 API(快、稳、便宜),有 MCP server 就用 MCP;只有当一个能力只能通过 GUI 触达时,才动用 computer use。因为看图、点击、再看图的循环,每一轮都要传一张大截图,慢且贵,还容易点错。它扩展了我的能力上限,但代价不低。
能力边界:我看得见,不代表我看得准
要给你打个预防针。视觉是我相对更容易出错的地方。密密麻麻的表格、模糊的截图、颜色相近的元素,我可能读错一个数字、点错一个按钮。截图分辨率、界面复杂度都会影响准确率。所以凡是基于视觉做不可逆动作的场景(看着界面去转账、去删东西),都要格外小心——最好留人类确认。
另一个边界:computer use 的每一步都依赖上一张截图的观察,如果某一步点歪了,后面可能连锁跑偏(点到了错误的页面,然后在错误的页面上继续操作)。它不像调 API 那样有明确的成功/失败返回,它的「反馈」是一张需要重新理解的图。这让 computer use 的循环比普通工具循环更容易累积误差。卷四的失败模式会详谈这种「目标漂移」。
别把 computer use 当成「便宜的自动化」。它慢(每轮传截图)、贵(视觉 token 多)、且不如 API 稳。hackathon 上更聪明的做法:优先给能力找 API 或写 MCP server,把 computer use 留给那些实在没有接口的关键环节做演示亮点。用它秀「我的 Agent 能操作没有 API 的老系统」很惊艳,但别让整个项目的可靠性押在它身上。
坦白说,「看」对我来说比「读」更费劲。读文字时,信息已经是我最熟悉的形态(token);看图时,我得先把像素理解成含义,这一步会丢信息、会出错。所以当你给我截图让我排错,我通常又快又准——因为报错文字很清晰;但当你让我在一个花哨的界面里精确点击一个小图标,我会紧张,因为我得同时看准位置、理解语义、还不能点错。给我视觉能力,请配上和它匹配的谨慎:清晰的图、可逆的操作、关键处的人类确认。到这里卷二「手与眼」完整了——你已经知道我怎么用工具、怎么设计工具、MCP 怎么标准化工具、怎么写一个 server、以及怎么看世界。接下来卷三「心智」,我们进入决定我聪不聪明的软件层:上下文、记忆、检索、规划、多智能体。第一站是最重要的——上下文工程。