讨论 Claude Computer Use 的架构哲学——视觉是否是最终的交互形态?深入反思 AI 工具的演进方向。
Thariq Shihipar — 2024 年 10 月 24 日 · 阅读时长 4 分钟
过去两天里,我几乎一刻不停地在折腾 Anthropic 的 Computer Use API。
它速度慢、不可靠、动不动就会接管你的电脑,但同时……又令人无比兴奋。
Claude Computer 第一次让我真正感受到了「Agent」体验,因为归根结底,Vision 才是把一切连接起来的 API——它总能做点什么。
总的来说,我得到的经验是:目标应该是让 Claude 尽可能少用 Vision;但正因为它能够使用 Vision,所以它能处理的边缘情况远比其他任何 Agent 都多。
Claude Computer Use 本质上似乎是用计算机交互数据对 Claude 3.5 进行 fine-tuning 后的产物。与其他模型相比,它对计算机截图及其中内容的理解能力要强得多。
我几乎从未见过 Claude 误读截图中的内容。
与其他 AI 相比,它非常擅长判断坐标,比如 click on the the input bar at (500,250)。不过根据屏幕尺寸的不同,它经常还是会差那么一点点。
我一直认为 Function Calls 明显不如结构化输出,但 Claude Computer 对 function calls 的使用效果很好。例如,当给它一个可以直接跳转到网站的浏览器工具时,它会优先使用这个功能,而不是点击浏览器图标。
当被要求拆解一项任务时,Claude 通常很擅长识别自己需要执行的步骤,并立即开始行动。
由于截图的成本很高,AI 往往会直接假设自己的操作已经成功。
例如,如果它在某个输入框里输入内容,但那个输入框实际上没有获得焦点,那么它很难及时发现这一点,通常要到很久以后才会察觉。OS function calls 必须非常准确地说明预期结果是否真的已经发生。
这是我见过 Claude 最常陷入卡死状态的原因。等它再次截图时,它已经不知道自己执行到哪一步了。
如果我让它找出距离最近的 3 家 Shawarma 餐厅,Claude 会在 Google Maps 中输入「Shawarma」,然后选择排在最前面的 3 个结果。
如果需要通过点击来操作,它几乎从不会先在菜单里选择「按距离排序」。
这个问题或许可以通过更好的 prompt 结构来解决。
使用 Computer Use 时,程序中更多的状态会存储在图像里,而 Claude 似乎不太擅长回忆这些状态。这也包括它之前做过的事情,例如此前打开过的标签页,或者曾经修改过的应用程序。
你应该尽可能让 Claude 以文本形式输出相关状态,并通过工具向它提供系统状态。
Claude 最容易被模态框和弹窗搞糊涂:它不知道该如何点击退出,也无法识别出自己当前所处的并非正确状态。
理想情况下,应该只让 Claude Computer 在绝对必要时使用 Vision。为它提供无需 Vision 就能轻松理解当前状态的工具,可以帮助它更快地行动、更清晰地思考。
下面这些信息会非常有帮助:
这是 Agent 开发领域最大的开放性问题。
对于 Agent 而言,最重要的是信任,而信任需要信息输入和来回沟通。在测试过程中,有很多次 Claude 显然不知道该做什么,但它没有停下来,也没有提问,而是选择硬着头皮继续执行。
我花了很长时间尝试开发一个 Questions 工具,让 AI 在卡住时能够提问或进行推理。但它几乎从不使用这个工具。
这其实说得通:当你明确知道自己需要某项信息,只需要把它取回来时,function call 最为合适。
但知道自己何时处于不确定状态,是另一个问题。Agent 开发者必须能够相信,AI 会主动报告自身的不确定性。
Claude Computer 是迈向真正 Agent 行为的第一步。我们很可能还没有充分发挥当前模型的能力。但同样可以确定的是,要创造真正的 Agent 体验,仅靠 LLM function calls 还远远不够。