昨天,anthropic宣布推出升级版 Claude 3.5 Sonnet和新型号Claude 3.5 Haiku。更令人兴奋的是推出了人类首个提供计算机使用功能的前沿 AI 模型,并提供相关API,目前处于公开测试阶段。也就是说现在大模型可以模拟人类操控我们的电脑了!
本篇文章,我将通过 效果、成本两个维度进行测评,并通过官方提供的demo示例解释一下Computer use 背后的主要机制。
PART 1:Computer use (beta)
这是Claude 发布的计算机使用功能官方命名:Computer use (beta),升级后的 Claude 3.5 Sonnet 模型能够与操纵计算机桌面环境的工具进行交互。
其中官方文档也说明了整个工作流的机制并提供了相关demo例子。
在使用计算机方面,我们正在尝试一些全新的事物。我们不是制作特定工具来帮助 Claude 完成单个任务,而是教它通用的计算机技能——允许它使用为人类设计的各种标准工具和软件程序。
本质上还是通过工具调用,只是相对以往简单的API和函数工具,现在让大模型感知了计算机的整体环境,并通过调用相关操作系统工具包进行环境交互。
PART 2:测评Computer use (beta)****
刚刚拉下来跑了一下,Computer use (beta)的效果确实很惊艳,成本方面比预期稍微贵了点。
环境部署
因为目前Computer use 还处于实验阶段,考虑到安全性问题,官方的demo示例是专门为 Linux 系统设计的,暂时不适用于 Windows。根据官方文档,首先拉取并运行Docker容器:
export ANTHROPIC_API_KEY=%your_api_key%
docker run \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-v $HOME/.anthropic:/home/computeruse/.anthropic \
-p 5900:5900 \
-p 8501:8501 \
-p 6080:6080 \
-p 8080:8080 \
-it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
等几分钟,显示以下结果便说明环境部署成功。
官方示例一共提供了4种入口,分别是:
-
包含代理聊天和桌面视图的组合界面: http://localhost:8080
-
仅限 Streamlit 界面:http://localhost:8501
-
直接 VNC 连接:(
vnc://``localhost:5900适用于 VNC 客户端)
分别的界面效果如下:
1.代理聊天和桌面视图的组合界面
2. Streamlit 界面
3. 仅限桌面视图
测评
我们主要通过一个复杂的任务来测试一下它的效果,并且执行完整个任务看一下需要花多少钱。
首先需要它 帮我打开浏览器,并打开hellomiku.com的网页搜索:详细介绍一下claude最新发布的computer use,最后将搜索的结果保存为markdown文件。
这是一个复杂的任务,它不仅需要感知操作系统的环境,还需要感知浏览器以及对应网页本身结构的环境。它一共分为三个子任务:
-
操作系统的环境:打开浏览器
-
浏览器环境:打开hellomiku.com网页
-
网页环境:网页内进行搜索
step1: 输入指令
step2: 打开浏览器
首先理解用户意图,通过截图工具 {'action': 'screenshot'} 进行界面截图,定位浏览器图标位置,获取图标参数信息'coordinate': [804, 736],并调用{'action': 'mouse_move'}将鼠标移到过去,然后调用 {'action': 'left_click'}点击打开浏览器。(其中不同工具的参数和作用会在最后一部分进行详细解释。)
step3: 输入网址
同样重复step2步骤,先截图获取位置参数,然后移动鼠标进行点击。这里还调用了键盘工具进行输入{'action':'type','text':'``hellomiku.com``'}以及{'action':'key','text':'Return'}进行回车执行。
step4: 网页进行搜索
重复步骤3进行执行。{'action': 'type', 'text': '详细介绍一下claude最新发布的computer use'}以及{'action': 'key', 'text': 'Return'}
step5: 下滚查看网页
执行{'action': 'key', 'text': 'Page_Down'}命令进行模拟鼠标往下滚动以查看更多内容。
step6: 总结并导出md文件
使用命令进行保存。{'command': 'create', 'path': '/tmp/claude_computer_use_info.md', 'file_text': '# Claude最新发布的Computer Use功能详细介绍\n..'}
以上便是执行完的所有流程,执行完大概花了3分钟,成本方面这一流程下来烧了24万token,大概是0.79美元,也就是差不多5元多一点,总体来说效果是相当不错的。
**PART 3:**官方示例代码解析
主要工作流:
通过拆解官方的示例代码,官方提供的代码示例主要通过与 Anthropic API 交互的代理采样循环实现,主要用于处理计算机使用工具的调用。它能够:
-
与不同的 Anthropic API 提供商(Anthropic、Bedrock、Vertex)进行交互
-
处理系统提示和消息
-
管理工具调用和结果处理
-
处理图像和文本内容
-
提供一个异步的采样循环来持续处理请求和响应
三大核心工具类**:**
其中Computer use (beta)中发挥关键作用的还有相关的工具包,官方代码示例中主要提供了三个核心工具类,分别的功能和工作方式如下:
|
# 示例调用
await computer_tool(
action="screenshot" # 截图
)
|
|
# 示例调用 await edit_tool( command="view", path="/tmp/test.txt" # 查看文件 ) |
|
# 示例调用 await bash_tool( command="ls -la" # 执行命令 ) |
其中,每一个工具包都使用了统一的 ToolResult 返回格式:
@dataclass
class ToolResult:
output: str | None # 输出内容
error: str | None # 错误信息
base64_image: str | None # 图片数据
system: str | None # 系统消息
调用流程**:**
通过将以上的工具类整合进行创建工具集合,然后执行工具调用。
# 1. 创建工具集合
tools = ToolCollection(
ComputerTool(),
EditTool(),
BashTool()
)
# 2. 执行工具调用
result = await tools.run(
name="computer", # 工具名称
tool_input={ # 工具参数
"action": "screenshot"
}
)
可见已经那么强的Claude,官方还很谦虚的说明Claude目前使用计算机的能力并不完美,并预计这种能力将在未来几个月内迅速提高。
虽然我们预计这种能力将在未来几个月内迅速提高,但 Claude 目前使用计算机的能力并不完美。人们毫不费力执行的一些操作(滚动、拖动、缩放)目前对 Claude 提出了挑战,我们鼓励开发人员从低风险任务开始探索。由于计算机的使用可能会为垃圾邮件、错误信息或欺诈等更常见的威胁提供新的载体,因此我们正在采取积极主动的方式来促进其安全部署。
总的来说,Agent 的诞生和发展正验证了一个不可逆转的趋势——它将成为未来不可或缺的力量。未来Agent 不仅会逐步替代重复繁琐的手动任务,更将重构我们的工作方式。
它带来的高效和智能,正在引领我们迈向一个前所未有的未来,在这个未来,人与科技的协作将达到新的高度,而人类的创造力将得到进一步释放。
相信,Agent 的潜力还远未被发掘,而它的崛起,必将为我们开辟更多可能性。
往期产品实测精彩文章:
1.不懂代码的人也可以用Cursor,5分钟快速完成一个简单的支付页面;