AI Agent操作浏览器:GLM 5.3与Perplexity Computer
GLM 5.3 上线 Perplexity Computer这条消息如果只看表面很容易被理解为“又一个大模型上新了”。但放到更长的时间轴里它真正值得在意的不是 5.3 这个版本号本身而是模型开始进入一个更复杂的执行场景让 AI 不是只回答问题而是在浏览器和操作系统里直接完成操作。无论是打开页面、检索内容、点击按钮、填写表单还是把多个步骤串成一段完整流程这些动作已经从演示视频走进了正在被模型厂商认真承接的赛道。对于开发者来说这意味着关注点要发生一次转移模型能力当然重要但决定一个 Agent 好不好用的往往是模型之外的那一整套工程细节。1. 先想清楚这到底是一个模型更新还是一次交互革命1.1 从问答到操作模型正在从“给答案”变成“动手完成”过去我们用大模型核心交互是“问答”用户输入 prompt模型返回文本。即使支持工具调用通常也是单次函数调用比如“查询天气”“生成图片”。但 GLM 5.3 上线 Perplexity Computer 这样的动作把问题层次提高了一层。现在模型面对的已经不是单个问题而是一组在真实交互界面里一步一步完成的任务。它需要理解当前屏幕状态、判断下一步操作、执行动作、观察结果再决定继续还是修正。这种闭环和单纯的文本生成完全不同。为什么过去不这样做因为浏览器页面结构多变有广告弹窗、登录态、验证码、加载延迟模型需要实时感知页面变化。早年的 Agent 演示大多只停留在概念阶段原因并非模型完全不会操作而是“会操作”和“稳定地操作”之间隔着巨大的工程鸿沟。现在把模型接到计算机操作场景中说明厂商开始认真解决这个链条而不是继续停留在评分榜单上。1.2 为什么这个方向比单纯刷榜更值得关注近两年大模型竞争集中在排行榜、数学推理、代码生成等指标上这些指标能反映模型的认知能力但不能反映它在真实工作流里的可执行性。Perplexity Computer 这类场景要求模型的能力不只是“会算会写”而是“会用工具”。这是一个新的能力维度。可以这样理解排行榜测的是一个人的知识储备而操作计算机测的是一个员工到岗后能不能把工作走通。前者看知识上限后者看流程可靠性。后者更接近真实生产力。一个模型即使数学很强但如果它在浏览器里反复点错按钮、无法判断页面是否加载完成、不知道登录态已经过期那它在 Agent 工作流里的价值仍然有限。所以当模型厂商开始把“计算机使用”作为上线场景时信号意义比版本号重要得多。1.3 模型版本号不是重点接口稳定性才是很多人看到“GLM 5.3”会关注参数规模、评测分数但对工程实践来说更关键的是 API 的稳定性、上下文窗口大小、工具调用格式、流式响应速度、限流策略。因为只要进入计算机操作场景模型通常要和浏览器事件循环、多步任务状态、用户确认机制一起工作。如果 API 不稳定整个 Agent 流程就会像一个随时断线的实习生。所以如果你正在评估这个模型适不适合接入自己的 Agent 项目我不建议只对比分数。更值得做的是拿同一批真实任务去压测连续跑 50 次看失败率、平均耗时、工具调用格式错误率、超时占比。模型版本的升级只有体现在这些指标上才对工程有实际意义。2. 模型只是上半场执行层才是真正的分水岭2.1 浏览器自动化看起来简单实际上是一整套链路要让模型“操作计算机”常见实现是把浏览器交给模型控制通过点击、输入、滚动等原语来完成任务。这听起来像是套壳 Playwright但实际要处理的问题非常多。页面加载需要等待元素可能被遮住弹窗可能打断流程登录状态可能过期页面可能跳转。模型每次操作后都要重新截取页面快照、解析 DOM、判断下一步。这个循环要稳定不只是模型强不强而是系统设计稳不稳。举一个最常见的例子模型需要点击某个按钮但按钮在页面底部当前视口看不见。如果模型只是“知道该点击”但环境没有提供滚动能力任务就卡住了。反过来如果环境提供了一堆操作工具但工具描述写得含糊模型又不知道该在何时调用。这就是模型和环境之间的协同问题。很多项目在演示时非常流畅但一放到真实浏览器就崩就是这个环节出了问题。2.2 工具调用、上下文管理与失败恢复最容易翻车的三角区我见过很多 Agent 项目在演示时非常流畅但一放到真实浏览器就崩问题基本集中在这三点。第一是工具调用定义混乱。模型不知道什么时候该用哪个函数或者工具参数没有明确约束。比如“搜索”和“提取页面内容”这两个工具如果描述不够清晰模型可能会在需要搜索时直接提取当前页面的过期内容。第二是上下文没有节流。多轮截图和 DOM 摘要拼接后很容易超过上下文窗口。计算机操作场景天然是长上下文场景因为每一步操作之后页面状态都变了都需要把最新状态喂给模型。如果不做摘要、不裁剪旧信息上下文很快会被塞满。第三是失败恢复缺失。页面结构一变模型就找不到目标元素然后反复重试最终卡死。好的 Agent 系统应该在第一步失败后重新获取页面快照调整策略而不是继续在错误的元素上硬试。可以把“搜索、提取、点击、填写、确认”写成结构化工具然后强调工具描述越清晰模型成功率越高。工程上可以用一个 JSON Schema 来定义工具每个工具都要写清楚用途、参数类型、参数取值范围和典型调用场景。{ tools: [ { type: function, function: { name: click_element, description: 点击页面上的指定元素适用于按钮、链接、选项卡等可交互元素。, parameters: { type: object, properties: { selector: { type: string, description: 目标元素的选择器建议优先使用稳定的>from playwright.sync_api import sync_playwright page_title None with sync_playwright() as p: browser p.chromium.launch(headlessTrue) page browser.new_page() page.goto(https://example.com, timeout15000) page_title page.title() browser.close() print(page title:, page_title)改成模型调用后思路也类似模型决定一个动作环境执行动作返回新的页面状态模型再看下一步。最小闭环成功之后再逐步加入更复杂的动作。3.2 关键参数与配置不是越大越好很多人拿到 Agent 框架后第一件事就是把 max_steps 调大担心模型一步做不完。但实际系统里步数上限不是越大越好。参数建议初始值说明max_steps5限制最大操作步数防止模型陷入死循环temperature0 到 0.3计算机操作场景需要稳定性高温会导致每步输出随机timeout15000ms页面加载和模型响应都要设置超时并发浏览器实例1 到 2浏览器实例很吃内存先小规模验证再扩展截图分辨率与目标环境一致分辨率影响模型对页面布局的判断DOM 摘要长度视上下文窗口而定过长会截断关键信息过短又不够判断这里要特别强调一下 temperature。问答场景里稍微高一点的 temperature 可以让回答更灵活但计算机操作场景属于“高确定性任务”每一步动作都要求可预期。我更建议把 temperature 调到 0 到 0.3先保证每一步足够稳定。如果任务太机械导致卡住优先排查环境或工具定义而不是靠调高 temperature 来“碰运气”。3.3 常见错误的排查链路在 Agent 场景里问题往往不是单一原因。如果模型操作不顺利不要急着换 prompt 或换模型版本。可以按下面这个顺序排查先看现象是卡住、循环、误点、找不到元素还是输出格式不符合预期再看输入URL 是否正确、截图是否清晰、DOM 摘要是否包含目标区域、上下文是否被截断。再看环境浏览器版本、驱动版本、依赖包版本、系统权限、网络是否正常。再看参数model、max_steps、timeout、temperature、工具定义是否符合预期。最后看日志每一步模型输入、工具调用、页面返回结果都要有记录缺少日志几乎无法定位问题。注意不要跳过日志直接调参数。很多 Agent 问题从日志里一眼就能看出是工具描述不清楚还是页面没有按预期加载。没有日志排查就变成了盲猜。3.4 单步跑通后再考虑任务编排单步跑通只能说明流程没有断。真正麻烦的是批量任务、异常重试和长期维护。我一般建议先记录一个操作轨迹把每一步的页面截图、工具调用、模型决策都存下来。这个轨迹可以作为测试集。后续升级模型版本、调整 prompt 或修改工具定义时拿这批轨迹做回归测试能快速发现“原来能完成的步骤现在断了”或者“原来的错误现在修好了”。等到轨迹积累到一定数量再考虑任务编排也不迟。所谓编排其实就是把多个步骤串成有状态的任务先搜索再判断再提取最后汇总。这个阶段需要额外引入任务 ID、会话隔离、结果存储和人工确认。def run_agent_task(task_id, url, instructions): session create_browser_session(task_id) try: page session.open(url) result agent_execute(page, instructions) save_result(task_id, result) return result except AgentStepError as exc: log_context(task_id, exc) raise finally: session.close()上面是一个很粗略的结构目的是让你理解一旦进入批量阶段单次执行的成败已经不是唯一关注点。你还需要考虑并发控制、资源回收、失败任务的可见性。4. 这类“计算机使用”产品真的适合所有人吗4.1 适合谁、不适合谁任何工具都有边界Agent 类产品尤其明显。如果只看演示好像什么都能自动完成实际落地时你会发现很多任务并不适合完全交给模型操作。适合的场景通常有这些特征操作流程相对固定重复度高。页面结构稳定或者有稳定的选择器。任务不可逆程度低即使操作错了影响也可控。已有技术团队能够维护浏览器环境和日志系统。不适合的场景也很明显涉及支付、转账、删除、发布等高风险操作。网站有严格的身份验证需要短信验证码或硬件密钥。页面结构频繁变动没有稳定元素可用。任务边界模糊需要大量人类判断和沟通。适用场景不适用场景定时抓取并整理公开信息自动下单和支付跨网站比对资料并生成摘要处理涉及机密数据的内部系统表单填写前的资料预填需要大量非结构化判断的客服沟通日常巡检页面是否更新高度依赖账号安全和验证码的网站4.2 长期使用前需要补齐的工程能力如果你确定要长期使用这类方案不能只盯着模型和 prompt。下面几项能力缺一不可。日志和审计是底线。每一步操作都要记录包括模型输入、工具调用、页面返回、耗时、失败原因。没有日志出了问题就只能黑箱调试。人工确认机制也不可省略。在关键动作前暂停让用户确认下一步。这个机制看起来降低效率但能大幅提升信任度。真正进入生产环境的 Agent不是每一步都自动执行而是在设计好的边界内自动执行。会话隔离同样重要。不同任务应该使用不同的浏览器上下文避免登录状态互相污染。想象一下一个任务里登录了个人账号另一个任务在同一浏览器环境里访问同一站点就可能串数据。4.3 边界不是缺陷而是设计的一部分不要追求“全自动”。最好的方案是“能用尽量自动但在不可逆边界前停下来”。只要把这个边界定义清楚产品才有长期价值。推荐做法先做“人审 机器操作”的混合模式。机器负责重复劳动人负责关键判断。随着日志和成功率数据积累再逐步扩大自动化的范围和深度。5. 怎么看这次上线的真正信号5.1 大模型竞争正在从模型参数转向执行质量当多个模型都能通过同样的基准测试竞争焦点会转移到真实环境中的执行质量操作成功率、任务完成率、平均步数、需要人类介入的频率。这些指标决定了用户愿不愿意把 Agent 放到真实工作流里。GLM 5.3 上线 Perplexity Computer 这则信息最有价值的信号是厂商开始把执行层作为核心竞争力来对待。这比单纯刷新几个榜单更值得关注。因为执行质量的提升依赖的不仅是模型参数还包括与浏览器环境的适配、工具调用的稳定性、上下文管理策略等一整套工程能力。5.2 对普通开发者的建议先跑通一个点再做完整闭环如果你是开发者不建议先搭建庞大的 Agent 框架。先把模型接进一个最小的浏览器自动化环境跑通“打开页面 → 提取信息 → 返回结果”这个小闭环。然后把这个小闭环复制到其他场景再逐步增加工具和步骤。这样不仅好调试也能真正理解这类方案的难点在哪里。很多人容易陷入一种误区先花大量时间研究框架、配置各种工具结果真正的核心流程还没有跑通。更务实的路径是先用最笨的方式跑通一个小任务哪怕只是用脚本打开页面再调模型提取标题。有了这个最小闭环后面所有讨论才有抓手。5.3 现在最值得做的一件事建立自己的评估集收集一批真实任务比如“在某个登录后页面筛选数据并生成摘要”“定时检查某个页面变化并发送通知”。用这批任务作为评估集合对比不同模型版本、不同 prompt、不同工具定义的表现。这样模型更新后你能快速判断“值不值得升级”。评估集不需要很大十条左右就能看出趋势。但每条任务必须贴近你的真实场景而不是随便找几个页面。因为模型在公开测试集上的表现和你自己业务里的表现往往差异很大。只有建立自己的小评估集才能避免被版本号或榜单数字误导。这个习惯一旦建立你以后看模型更新、换工具、调 prompt 都会更有底气。因为你不是在猜而是用真实数据做决策。这也是我把这一条放在最后的原因它看起来不炫技但长期价值最高。所以GLM 5.3 上线 Perplexity Computer 这件事真正值得讨论的不是“模型能力又涨了多少”而是它把计算机操作场景从概念推向了可承接的位置。对开发者来说与其纠结版本号不如先跑通一条最小链路然后把日志、确认、回归测试做成习惯。模型会不断更新但围绕执行层建立起来的工程能力才是你在下一个版本到来时真正能带走的东西。