AI能像人一样操控电脑了!熬夜实测Claude新版本,只能说太牛逼!!

文摘   2024-10-23 13:42   中国香港  




昨天,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) # 鼠标移动)
  1. 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" # 替换内容)
  1. 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 的潜力还远未被发掘,而它的崛起,必将为我们开辟更多可能性。


关注公众号,用极客视角洞察未来!


往期产品实测精彩文章:

1.不懂代码的人也可以用Cursor,5分钟快速完成一个简单的支付页面

2.NotebookLM+AI播客到底是什么神仙组合?


GeekSavvy
GeekSavvy是一个新世代AI极客社区,主要覆盖AI极客、创业者和投资人。我们会用Geek视角👉见识行业趋势、洞察AI产品和预见未来科技风向标🚀!
 最新文章