Anthropic近期发布了针对Claude Computer Use功能的开发者最佳实践指南,内容详实且极具参考价值。这份指南全面覆盖了从截图预处理、模型选择到安全防护与长对话管理的各个环节,为构建生产级AI自动化系统提供了核心指导。该指南主要面向最新的Claude 4.6系列和Opus 4.7模型,其中关于预先缩放截图、调整指令编排顺序等建议,能显著提升系统稳定性并有效控制成本。
分辨率与缩放:确保精准点击的基石
对于Computer Use这类功能而言,点击准确率是成功的基础。一旦坐标定位出现偏差,后续所有自动化流程都可能失败。而最有效的优化措施,往往是最直接的:在将截图发送给API之前,先进行手动缩放处理。
这主要基于API的两项硬性限制。对于Claude 4.6系列,API要求截图长边不超过1568像素,总像素数不超过115万。而性能更强的Opus 4.7模型,限制则放宽至长边2576像素,总像素375万。任何超出限制的图像都会被API在后台自动压缩。
问题恰恰出在这个“自动压缩”环节。试想,模型看到的是被压缩后尺寸变小的图像,并基于此计算出点击坐标。但你的客户端程序却试图用这个坐标在原始高分辨率屏幕上执行点击。坐标空间与模型感知的图像完全不匹配,点击不准便成为必然。
那么,具体该如何操作呢?
- 通用推荐分辨率:1280×720。这个分辨率大约占用了4.6模型80%的像素预算,在训练数据中也很常见,兼容性最佳。
- Opus 4.7推荐:可以尝试1080p,能在Token消耗与视觉细节之间取得更好的平衡。
- 最大化适配方案:根据屏幕原生宽高比,计算出既能满足API限制、又不会导致图像变形的最佳分辨率。
反之,以下是一些需要避免的“坑”:
- 使用原生未缩放分辨率:除非你的屏幕分辨率本身就低于API上限,否则这是导致点击不准的首要原因。
- 过低分辨率(如低于960×540):细节丢失严重,模型可能无法识别较小的UI元素。
- macOS用户需注意:系统截图常带有2倍设备像素比,一个1440p的屏幕,实际截图可能是2880p,远超API上限。
- 4.6系列慎用1920×1080及以上分辨率:极易超限。Opus 4.7虽然上限较高,能容纳1080p甚至1440p,但直接发送原生4K不缩放的截图依然是高风险操作。
最后,坐标转换至关重要。既然是你主动缩放了截图,那么模型返回的坐标是基于你发送时的图像尺寸。在执行点击前,必须按照相同的缩放比例,将坐标还原到真实屏幕的坐标空间中。
消息数组内容排序:顺序影响模型理解
在构建发送给模型的消息内容数组时,一个容易被忽视但至关重要的细节是:应将文字指令置于截图之前。
推荐的顺序是,先告知模型“点击提交按钮”,再提供屏幕截图。而不是先给图,再给指令。从人类理解任务的逻辑来看,先明确目标,再观察环境,显然更为自然。模型也表现出对这种“指令优先”编排方式的偏好。
模型选择策略:根据任务需求精准匹配
根据Anthropic的内部测试,不同模型在Computer Use任务上各有所长:
- Sonnet 4.6:在机械点击的精度上表现最为稳定,空间定位准确,近距离失误少,对图片压缩的容忍度也更高。对于大多数标准、重复性的执行类任务,它在准确率、推理能力和成本之间取得了最佳平衡,是默认的稳妥选择。
- Opus 4.7:其推理能力更强,且点击精度已与Sonnet 4.6持平。加之它拥有更大的分辨率预算(3.75MP vs 1.15MP),所需压缩幅度更小,能保留更多界面细节。如果你的任务既需要复杂的逻辑判断,又要求精准的操作,Opus 4.7是目前的最优解。
- Haiku 4.5:这是为极致速度而生的选择,延迟极低,非常适合对响应时间要求极高的实时交互场景。
对于更复杂的工作流,可以采用“指挥官模式”:用一个推理能力强的模型(如Opus)作为“大脑”,负责整体规划和关键决策;然后让Sonnet或Haiku这类“执行者”去完成具体的点击、输入等操作。这种分工协作模式能更高效地利用不同模型的优势。
小目标处理技巧:应对微小界面元素
对于大型按钮、输入框或标准菜单项,Claude通常能稳定命中。但当面对复选框、系统托盘图标、下拉箭头、微小的开关按钮时,准确率可能会下降。
原因显而易见:一个在4K屏幕(3840×2160)上原本有16像素的复选框,被压缩到720p后,可能只剩下约5个像素,模型确实难以精准定位。
解决方案包括:
- 启用Zoom功能:Claude 4.6和4.7支持先放大、再点击。只需在工具配置中添加
"enable_zoom": true即可。 - 放大目标本身:如果UI可控,尝试降低系统DPI、放大浏览器缩放比例或调整应用界面比例。增大点击目标的物理尺寸,对提升准确率效果显著。
- 用键盘导航替代鼠标:对于极小的元素,使用Tab键导航或特定快捷键,往往比让模型去点击更为可靠。
- 考虑源分辨率:如果你使用的是4K甚至更高分辨率的显示器,压缩到720p确实会丢失大量细节。若使用4.6模型,可尝试降低DPI或仅截取屏幕相关区域;若使用Opus 4.7,更高的分辨率预算允许你发送更清晰的图片。
思考力度调优:寻找性价比最佳点
Claude支持自适应思考,通过thinking参数可以设置力度,从低到高有low、medium、high、xhigh(仅Opus 4.7)和max。
对于Opus 4.7,OSWorld基准测试显示:
- high档的准确率已非常接近max档,但输出的Token数仅为后者的一半左右,性价比极高。
- low档的得分与Opus 4.6的high/max档相近,但Token用量仅为十分之一。
- max档能获得最高分,但Token成本也显著增加。
因此,对于Opus 4.7的推荐是:将high档作为复杂多步交互的默认设置;在吞吐量要求高或成本敏感的场景使用low档;简单的快速任务可以尝试Sonnet 4.6;而对于极其复杂的一次性任务,再考虑使用max档。
对于Claude 4.6系列,测试表明medium档的任务成功率已接近峰值,再增加思考力度,收益会递减。
- 推荐默认设为medium。
- 值得注意的是,low档虽然思考较少,但比完全关闭思考要好,因为它能减少出错和重试,实际的总Token消耗可能反而更低。
- 不推荐在Computer Use任务中使用max档,测试中相比high档并未显示出准确率提升,只会徒增成本。
提示注入防御:为Agent操作构建三层安全锁
让AI Agent直接操作你的电脑,安全无疑是重中之重。Anthropic为此设计了一套三层防御体系:
第一层是训练免疫。模型在训练阶段就接触了大量包含恶意注入内容的网页和应用界面,通过强化学习,它已学会识别并拒绝执行那些隐藏的、试图操控它的指令。
第二层是实时分类器。每次请求时,系统会并行扫描所有进入Claude上下文的内容,检测文本中的隐藏指令、图片中嵌入的指令,甚至是试图欺骗Agent的伪造UI元素。关键在于,当你使用官方的computer_20251124工具类型时,此分类器会自动运行,与模型推理并行,不增加额外延迟和成本。但如果你自行实现工具调用,未使用此官方类型,那么这层保护便会失效。
第三层是人类兜底。在执行那些不可逆的操作之前——例如提交表单、完成支付、发送消息、修改数据——让Agent暂停,等待用户确认。可以说,最有效、最根本的防御,正是这个“人在回路”的机制。
长对话上下文管理:避免截图撑爆上下文窗口
Computer Use任务往往是长时间的交互,每次截图都会消耗1000到1800个Token。即便是200K的上下文窗口,不到100张截图就满了,1M的窗口同样压力巨大。有效管理上下文是保证长期稳定运行的关键。
第一层:缓存断点。API支持最多设置4个缓存断点。一个实用的做法是:1个断点放在系统提示词和工具定义等固定内容上,另外3个放在最新的工具调用结果上,并且每轮对话都更新这些标记。这样,API便无需每次都重新处理整个冗长的对话历史。
第二层:滚动缓冲。只保留最近N张截图的完整数据,更早的截图则用文字占位符[Image omitted]替换。这里有个关键细节:要批量替换,而非逐张清理。例如默认保留最近3张,每累积25张做一次清理。如果逐张替换,对话前缀每一轮都在变化,会导致缓存失效。批量替换能让前缀在多轮对话中保持字节一致,从而维持较高的缓存命中率。
第三层:LLM压缩。当滚动缓冲也无法应对时,最后的办法是让模型自行总结对话历史,然后丢弃原始内容。压缩时有一个核心原则:必须逐字保留用户的所有原始指令。那些“必须”、“不要”、“始终”等约束性词语是任务的核心,一旦丢失,Agent就可能偏离轨道。
此外,服务端也提供了自动压缩的beta功能。在API请求中添加context_management参数和相应标识,当输入Token达到阈值时,服务端会自动触发压缩。客户端只需在收到压缩响应后,将本地的消息数组截断到相同位置,以保持缓存对齐即可。
教学模式:从“文字描述”到“动作示范”
传统做法是用文字详细描述任务步骤,但这不仅编写费力,模型理解也容易产生偏差。指南提出了一种新思路:无需费力告诉Claude该怎么做,直接“示范”给它看。
在录制阶段,用户手动执行一遍任务,系统会录制每一步操作(点击坐标、输入内容、页面导航),并为每一步配上截图,截图上用蓝色圆圈清晰标注出点击位置。
在回放阶段,Claude会收到这一整套操作示范。它不会机械地按照录制的坐标去重放,而是理解“要做什么”。如果当前环境的UI布局发生了变化——按钮换了位置、菜单重新排列——Claude能够根据示范的意图,在现有界面中找到对应的元素来执行。
这种模式有三种风格:
- 严格模式:完全按录制的步骤执行,UI变化过大则停止并报告。适合合规要求极高的场景。
- 自适应模式:以示范为参考,但允许灵活调整以应对轻微的布局变化。这是推荐的默认模式。
- 目标导向模式:只关注最终结果,录制步骤仅作为背景参考。适合那些UI经常变动,但核心目标不变的任务。
顾问模式:让合适的模型处理合适的任务
Computer Use的大部分操作是机械性的点击、输入、滚动,用Sonnet来处理成本低、速度快。但过程中总会遇到需要深度思考的“战略决策点”:这个按钮到底该不该点?弹出的信息不对怎么办?流程走错了该如何回退?
“顾问模式”的做法是:让Sonnet自行处理常规操作,一旦遇到这些需要复杂判断的节点,便暂停并调用Opus 4.7来担任“顾问”。Opus做出决策后,再将控制权交还给Sonnet继续执行。这样就在低成本和高智能之间找到了一个平衡点。
无效优化方法:已验证效果不佳的策略
指南也明确列出了一些经过内部测试但未见一致提升的方法,帮助开发者避开无效尝试:
- 将截图切分成多个小区域(瓦片)分别发送。
- 在截图上叠加坐标网格来辅助模型定位。
- 更换不同的图像缩放算法(如PIL的LANCZOS、sips等),结果并无差异。
故障诊断速查表
指南提供了一个系统化的诊断框架,当遇到问题时可以快速对照排查:
| 症状 | 可能原因 | 解决方法 |
|---|---|---|
| 点击系统性单向偏移 | display尺寸与实际发送图像不匹配;截图超API限制被静默压缩;消息数组图片在前 | 确保display尺寸与缩放后截图一致;预缩至1280×720;文字先于图片 |
| 大致正确但偏离目标 | 目标极小;源图4K+压缩过度;强制非原生比例 | 开enable_zoom;降低DPI或裁剪区域;保持宽高比 |
| 完全点错元素 | 指令歧义;视觉相似元素;单步过于复杂 | 增加位置上下文;拆分为小步骤;补充页面布局描述 |
| 整体准确率差 | 截图超上限;4K+高分辨率源;分辨率过低 | 预缩放;Opus 4.7减少压缩;尝试1280×720基线 |
还有一个特殊场景需要注意:某些下拉菜单可能调用的是系统级UI,浏览器的视口根本无法捕获它。此时模型看似点击失败,其实是“看不见”目标。遇到这种情况,应考虑让模型改用JavaScript执行、键盘导航或直接操作DOM,而非执着于鼠标点击。
快速参考代码
指南贴心地提供了可直接使用的Python代码模板,涵盖了几个关键函数:
- compute_max_api_fit():基于屏幕原生宽高比,计算最优的API适配分辨率。
- prepare_screenshot():完成截图缩放并转换为base64编码。
- scale_coordinates():将API返回的坐标,按比例还原为屏幕真实坐标。
此外,还有一个完整的API调用示例,展示了从截图捕获、预缩放、消息构造(牢记文字在前)、工具配置到坐标还原执行的端到端流程。
总结
纵观这份指南,其核心工程逻辑可归纳为一条清晰的优化路径:通过预缩放截图消除坐标错位这一根本问题 → 调整消息顺序(文字先于截图)以优化模型理解 → 根据场景选择合适的模型(Sonnet执行/Opus推理)→ 对小目标启用zoom或改用键盘操作 → 将思考力度设置为medium或high以获得最佳性价比 → 部署三层防御体系保障安全 → 运用三层漏斗策略管理长上下文 → 用录制教学替代复杂的文字描述以降低开发成本 → 在需要时启用顾问模式节省Token开销。
其中,“预缩放截图”被证明是投入产出比最高的单点优化。而“教学模式”的提出,则代表了一种从传统的“提示词工程”向更直观的“示范学习”演进的新范式,为构建更可靠、更易教的AI Agent开辟了新思路。
官网地址
- 官网地址:https://claude.com/blog/best-practices-for-computer-and-browser-use-with-claude
