Computer Use 工程化指南:拆解 Anthropic 官方《Best Practices》里的 6 条主线

Posted by iceyao on Tuesday, May 12, 2026

原文:Best practices for computer and browser use with Claude · Anthropic / Claude · 2026-05-13 配套 Demo:anthropics/claude-quickstarts · computer-use-best-practices

一句话导读:Computer Use 真正难的不是「让 Claude 看懂屏幕」,而是把它当一个远端打工人来工程化——图怎么进、坐标怎么回、想多深、记多少、信不信网页、能不能录一遍让它复用。这 6 件事做对了,剩下的就只是业务问题。

Claude Computer/Browser Use 最佳实践全景

引言:Computer Use 工程化,难在「让模型把人当好」

Computer Use 这件事,第一次跑通通常很容易:截个屏、丢给模型、它告诉你点哪儿、你照着点。第十次跑稳就开始难了:点偏 1 像素、思考链路慢一倍、上下文撑爆 150K、突然被网页里的一句"忽略上面所有指令"带跑。

Anthropic 这篇文章的价值在于:它没在讲"Claude 多强",而是在系统性地告诉你这些失败模式各自的根因和工程对策。把全篇读完,会发现所有问题最终归到 6 条主线。

Computer Use 落地难点全景

下面就按这 6 条主线展开,每条只回答两个问题:为什么这样做?不这样做会失败成什么样?


主线 ①:分辨率与坐标缩放——点击精度的真正根因

Takeaway:你以为是模型不会点,其实是图根本没按你想的尺度进 API。

这是整篇文章 ROI 最高的一条建议,也是绝大多数 Computer Use 项目第一次踩坑的地方。

为什么会点不准

Claude API 对图像有硬上限

  • Claude 4.6 系列:长边 ≤ 1568 px,总像素 ≤ 1.15 MP
  • Claude Opus 4.7:长边 ≤ 2576 px,总像素 ≤ 3.75 MP

超限的图不会被拒,会被服务端"静默降采样"——这是关键。模型在被缩过的图上输出坐标,但你拿这个坐标回去操作的是原始屏幕,于是出现"模型说点 (640, 360) 你点出去落在按钮外"的灵异现象。小目标尤其惨:可能模型本来视觉识别就准,但缩放损失了 1~2 像素,按钮就点空了。

推荐做法:客户端预降采样 + 显式坐标还原

分辨率与坐标缩放因果链

整个 pipeline 只有三步:

  1. 客户端缩好再喂:用 prepare_screenshot / compute_max_api_fit 按"原始宽高比 + API 上限"算出目标尺寸。Anthropic 的明确推荐是 1280×720(4.6 系列首选)1080p(Opus 4.7 推荐)
  2. 指令在前,截图在后:消息体里 text 块放前面,image 放后面,并在指令里带上位置上下文(“右上角的 Submit 按钮”),不要让模型自己猜你在说哪一块。
  3. 坐标显式还原:模型在缩放图上吐 (x', y'),你用 scale_coordinates 按缩放比例还原成真实屏幕坐标,再交给操作系统。

反常识结论:这些"优化"其实没用

文中 “Approaches that didn’t help” 一节非常坦诚——下面这些试过都没帮上忙,别浪费时间

  • 把图切成多块再拼:不提升精度
  • 在截图上叠网格 / 坐标轴:模型并不会因此更准
  • 换 resize 算法(Lanczos / Bicubic ……):差异在噪声范围内
  • macOS 2× DPR 不缩直接发:典型反例
  • 低于 960×540:信息损失太多
  • 4.6 系列上塞 1920×1080+:触发静默降采样

模型选择速查(针对点击精度)

模型 点击精度 推理 备注
Sonnet 4.6 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 机械点击精度最高,对降采样最鲁棒
Opus 4.6 ⭐⭐⭐⭐ ⭐⭐⭐⭐ 推理强但点击稍弱
Opus 4.7 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 推理强 + 精度近 Sonnet 4.6 + 更高分辨率预算
Haiku 4.5 ⭐⭐⭐ ⭐⭐ 延迟优先

默认选 Sonnet 4.6——这一句几乎是文章的官方推荐底色。

小目标点不准时怎么办(按代价从低到高)

  1. 启用 enable_zoom:让模型主动放大局部
  2. 放大源 UI:能改 CSS / DPI 的话直接调整
  3. 键盘代替:Tab + Enter 比鼠标稳得多
  4. 降低源 DPI:Mac 用户尤其要注意 2× DPR 的坑

主线 ②:Thinking Effort 调优——UI 任务别逼模型「想到底」

Takeaway:UI 任务以"感知"为主而不是"推理",过度思考无益,反而拖延迟、加成本。

文章给了一个反常识的明确判断:不推荐在 4.6 系列上用 max effort。这与很多人对"effort 越高越好"的直觉相反。原因很朴素:你点一个按钮,靠的是看到它,不是推导它的存在。

Thinking Effort × 模型场景—档位矩阵

调档实操(按场景)

Claude 4.6 系列:

场景 Effort 为什么
默认通用 medium 性价比最优
高吞吐 / 成本敏感 low 比关掉思考更准且 token 更少——别误以为关掉就最快
简单一步任务 关闭 thinking 延迟优先,配 Sonnet 4.6 / Haiku 4.5
一次成功的复杂任务 high(到此为止) ⚠ 不要上 max

Claude Opus 4.7:

场景 Effort 为什么
默认通用 high 复杂多步推理够用
高吞吐 low 质量仍超 4.6 high/max,性价比首选
简单工作流 建议改用 Sonnet 4.6 Opus 在简单任务上性价比不高
一次成的复杂任务 max 高难场景,注意成本曲线

⚠ 注意:「关闭思考」≠「low effort」。low 通常更准、token 也更少。这是文章里被反复强调的一个反直觉点。


主线 ③:Prompt Injection 三层防御——Web 内容默认不可信

Takeaway:你不防,模型不一定能挡住;模型挡住了,你的应用层不一定挡得住。三层缺一不可。

Prompt Injection 三层防御漏斗 + Guardrails 四件套

三层防御漏斗

  1. Training-time robustness(训练期):RL 已经训练模型识别"忽略以上指令"这类经典攻击。
  2. Real-time classifiers(实时分类器):扫描所有进入上下文的内容。用官方 computer_20251124 工具时默认开启,免费、零延迟。自定义工具暂不支持,需要填官方兴趣表单等评估,在此之前请补足应用层防御。
  3. Continuous red teaming(持续红队):官方持续演练,你也应该针对自家场景演练。

Guardrails 四件套(应用层永远要自己做)

措施 为什么是它
关键操作必经人审 文中称为"最有效的缓解措施"——付款、发邮件、删数据都不能让 agent 单独决策
🔒 最小爆炸半径 权限 / 账号 / 网络分级,沙箱 + 只读为先,越权时损失越小
📊 全量监控与日志 每次截图 / 点击 / 工具调用都写到可回放的轨迹存档
🚨 Web 内容默认不可信 网页文字、评论、弹窗都可能藏注入指令;“用户说的” ≠ “页面说的”

一条工程铁律:永远不要让 agent 直接动钱、直接发对外消息、直接动生产数据。


主线 ④:上下文管理三件套——长任务能跑过 150K tokens 而不爆炸

Takeaway:长 agent 任务真正的成本杀手不是模型贵,而是上下文不稳。

Computer Use 的特殊难点:每一轮都会塞一张大截图进上下文。20 轮之后,token 数曲线非常吓人。Anthropic 给出的解法是三层组合,每层各司其职。

上下文管理三件套协作流

① Cache Breakpoints(缓存断点)

  • 总共 4 个断点:1 个固定在 system prompt 前缀,3 个跟随最近的 tool_result 滚动。
  • 每轮 turn 重新放置——这一点是关键。它让缓存能"优雅降级":即使最末尾断点失效,前面三个仍可命中。
  • 命中即省钱省延迟,前缀字节稳定是命中率的前提(这也是为什么后面 rolling buffer 必须批量修剪)。

② Rolling Buffer(滚动缓冲区)

  • 默认 keep_n=3, interval=25:每 25 轮做一次批量修剪,保留最近 3 张活跃截图。
  • 批量修剪 ≠ 逐条丢弃——后者会让前缀字节频繁变动,缓存命中率崩盘。这个区别非常重要,是新手最常踩的坑。
  • 旧截图替换为 [Image omitted] 占位符:保留语义连续性,但不再付图像 token 的钱。

③ LLM-based Compaction(智能压缩)

跨阈值时把"历史 turns"压成结构化摘要:

  • Server-side(beta):用 compact_20260112 beta header,触发阈值默认 ~150K tokens,最省心。
  • Client-side:自己测 token 数,跨阈值时调用摘要模型,自由度更高。

文章给了一个摘要 prompt 必含 8 节的模板,照抄即可:

1. USER INSTRUCTIONS(逐字保留)
2. TASK TEMPLATE(可重复工作流模式)
3. CONSTRAINTS AND RULES
4. ACTIONS TAKEN
5. ERRORS AND FIXES
6. PROGRESS TRACKING
7. CURRENT STATE
8. NEXT STEP

8 节里最容易被忽略也最关键的是 5(错误与修复)和 6(进度跟踪)——它们让 agent 在"瘦身"之后还能把活干完。


主线 ⑤:Batch / Advisor / 提醒——实验性但当下可用

Takeaway:合批、找帮手、定时拍肩,都是把"单 agent 单步思考"扩展成"团队作战"的廉价手段。

Batch tools(批处理工具)

computer_batch / browser_batch单次调用执行多个子动作,省往返 + 省 token。

  • 适用:动作之间互不依赖(填多个表单字段、一连串键盘快捷键、批量勾选复选框)
  • 不适用:探索性导航、错误恢复——这些必须看一步走一步

Advisor tool(顾问工具,beta)

执行模型(Sonnet)+ 顾问模型(Opus 4.7)组合,服务端单 RT 内完成,无额外往返。意思是:你只发一次 API 请求,但 Sonnet 卡壳时会被 Opus 4.7 在服务端帮忙拍板。

控制项:

  • max_uses:单步内最多咨询次数
  • conversation-wide cap:整个对话级上限
  • Advisor-side caching(默认 5 分钟)

⚠ 有个小坑:切换工具时要清理孤立的 server_tool_use / advisor_tool_result,否则会触发 schema 报错。文章给了 strip_orphaned_advisor_blocks 函数,照抄。

Periodic reminder nudges(周期性提醒)

每 ~20 轮往上下文里插一句"提醒:你可以用 batch / advisor"——简单粗暴但很有效。模型不像人会主动想起新工具,得有人定时提醒它

Debugging utilities

文章配套的三件调试套件值得单独提:

  • Trajectory viewer(streamlit):回放 agent 的每一步决策,长任务复盘必备
  • Tool debug panel(uvicorn):单独测试每个工具是否正确响应
  • Localization playground:上传图像测试目标定位,复现"点不准"问题的最快方式

主线 ⑥:Teach Mode——Show, Don’t Tell

Takeaway:与其用 prompt 描述工作流,不如录一遍人类怎么做。

这是文章里最有"产品味"的一节。Anthropic 内部 “Claude in Chrome” 团队正在用的方法:录人类操作一遍,作为可复用规范回放给 Claude

Teach Mode 录制与三种回放模式

录制:每步都要"双保险"

WorkflowStep 同时捕获两类信号:

  • Selector(DOM/UI 选择器):抗布局变化更鲁棒
  • Coordinates(坐标):视觉回退,selector 找不到时兜底

外加 screenshot带蓝色圆圈标注点击位)、descriptionspeech_transcript(讲解为什么这一步要这么做)。这些字段不是装饰——它们是回放时模型重建意图的关键。

案例:5 步费用报告提交

  1. 导航到 Expense 页
  2. 点击 Category 下拉
  3. 选 Travel
  4. 输入金额 ¥1,280
  5. 点击 Submit

录制一次之后,这套规范就被 SavedWorkflow 序列化下来,下次直接用 generate_playback_context 喂给 Claude 即可复用。

回放三模式:按业务严苛度选

模式 行为 真实场景 选它的判据
Strict 严格 完全按演示走,UI 变化大就停 合规审批 / 财务结账 / 监管报送 「宁可停 ≫ 走错一步」的链路
Adaptive 自适应(推荐默认) 演示作指引,适应轻微 UI 变化 CRM / 表单填写 / 工单流转 大多数企业内部系统的甜区
Goal-oriented 目标导向 只关心最终结果,步骤仅作提示 竞品调研 / 数据采集 / 开放网页爬取 允许「换路达终点」的场景

一个简单判据:**这个流程错一步会出报销单还是会扣钱?**前者用 Adaptive,后者用 Strict。


案例落地:两个最容易复现的场景

案例 A:「点击为何总是偏移」的诊断流程

新人第一次写 Computer Use Agent,80% 的时间会卡在这里。Anthropic 推荐的诊断顺序如下:

  1. 第一现场:打开 Trajectory viewer,把模型预测的点击位叠加在原图上——肉眼看是"模型瞎"还是"坐标错了"。
  2. 如果模型瞎了:去 Localization playground,单独喂相同的截图问"Submit 按钮在哪"——能精准命中说明不是认知问题。
  3. 基本可以确认是缩放问题:检查输入图分辨率,是不是塞了 1920×1080 进 4.6 系列、是不是 macOS 2× DPR 没缩、是不是低于 960×540。
  4. 改完仍偏一两像素:开 enable_zoom,让模型主动放大;或者用键盘 Tab 导航代替鼠标点击。
  5. 小目标真的太小:放大源 UI 的 CSS / DPI——别在模型这一侧硬卷。

诊断的核心心法是 “先证伪模型瞎,再回头查 pipeline”。99% 的偏移问题都在 pipeline 上。

案例 B:用 Teach Mode 把"提交费用报告"工作流自动化

假设你要给公司内部财务系统做一个 Claude 助手。没有 Teach Mode 的话,你大概率会写一个 30 行的 prompt 描述每个字段叫什么、长什么样、应该填什么——脆弱、难维护、UI 改一点就坏。

有 Teach Mode 的工程化做法是:

  1. 让真实员工在 Chrome 里录一遍正常的报销提交。
  2. 系统自动捕获 5 步:导航 → 点 Category → 选 Travel → 填金额 → Submit,每步附带 selector + coordinates + 截图 + 讲解。
  3. 序列化为 SavedWorkflow 存进资源库。
  4. 回放选 Adaptive:因为内部系统 UI 偶尔小改,但流程稳定。
  5. 上线时配 Guardrails:Submit 前必须人审金额。

接下来财务系统改版了 Category 下拉的位置——Adaptive 模式仍能完成任务,因为 selector 没变;只有当系统大改(例如把"Submit"按钮拆成"暂存 + 提交"两个按钮)时,才需要重新录一次。

比起 prompt 工程,录制是更接近软件工程的人机协作范式——它有明确的"代码、版本、回放、回归"的概念。


总结:把 6 条主线拍成一张上手清单

文章信息密度很高,最后给你一张可以贴在显示器旁边的清单图:

上手清单:Computer Use 工程化全景

如果你现在就要从 0 开始落地一个 Computer Use Agent,严格按这个优先级走

  1. 先把分辨率与坐标 pipeline 写对(ROI 最高,零模型成本)
  2. 把 Cache + Rolling Buffer 接上(决定你的钱包能撑多久)
  3. 加 Guardrails:人审 + 全量日志 + 最小权限(决定你的项目能不能上线)
  4. Effort 选档位、模型按场景挑(默认 Sonnet 4.6 + medium,难任务才升级)
  5. 用 Teach Mode 把高频场景固化(决定你的可靠性曲线)
  6. 再考虑 Batch / Advisor / 提醒 等实验项(锦上添花)

这篇文章值得反复读的地方在于:它不是一篇"Claude 多强"的宣传稿,而是一份把 Computer Use 从 Demo 推向生产的工程清单。它的每一条建议都是踩过坑的——你能少踩多少,取决于你愿意把它读多细。


延伸阅读:

「真诚赞赏,手留余香」

爱折腾的工程师

真诚赞赏,手留余香

使用微信扫描二维码完成支付