昨天,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 完成单个任务,而是教它通用的计算机技能——允许它使用为人类设计的各种标准工具和软件程序。
官方文档:https://docs.anthropic.com/en/docs/build-with-claude/computer-use
本质上还是通过工具调用,只是相对以往简单的API和函数工具,现在让大模型感知了计算机的整体环境,并通过调用相关操作系统工具包进行环境交互。
PART 2:测评Computer use (beta)
刚刚拉下来跑了一下,Computer use (beta)的效果确实很惊艳,成本方面比预期稍微贵了点。
环境部署
地址:https://github.com/anthropics/anthropic-quickstarts/tree/main/computer-use-demo
因为目前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
• 仅限桌面视图:http://localhost:6080/vnc.html
• 直接 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)中发挥关键作用的还有相关的工具包,官方代码示例中主要提供了三个核心工具类,分别的功能和工作方式如下:
|
1 ComputerTool(计算机交互工具)
|
|
• 主要功能:控制屏幕、键盘和鼠标 • 关键方法: • • • • • • • • • • • • • • # 示例调用await computer_tool( action="screenshot" # 截图) await computer_tool( action="type", text="Hello World" # 键盘输入) await computer_tool( action="mouse_move", coordinate=(100, 200) # 鼠标移动) |
|
2 EditTool(文件编辑工具)
|
|
• 主要功能:查看、创建和编辑文件 • 关键方法: • • • • • • • • • • • • • • • • • • # 示例调用await edit_tool( command="view", path="/tmp/test.txt" # 查看文件) await edit_tool( command="create", path="/tmp/new.txt", file_text="content" # 创建文件) await edit_tool( command="str_replace", path="/tmp/test.txt", old_str="old", new_str="new" # 替换内容) |
|
3 BashTool(命令行工具)
|
|
• 主要功能:执行bash命令 • 关键方法: • • • • • • • • # 示例调用await bash_tool( command="ls -la" # 执行命令) await bash_tool( restart=True # 重启会话) |
其中,每一个工具包都使用了统一的 ToolResult 返回格式:
•
•
•
•
•
•
@dataclassclass 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 的潜力还远未被发掘,而它的崛起,必将为我们开辟更多可能性。
823

被折叠的 条评论
为什么被折叠?



