一文详解 Claude 开源黑科技 MCP | AI 精英周刊 012
Claude 推出一个开放协议,这个意义还是挺重大的。同样它目前也是一个测试版,所以功能并没有太夸张,它的一些案例用其他的 AI 自动化工具也许会实现得更好。但是这是一个开始,开放的协议会带来 AI 和其他应用系统互操作的快速的发展,我们拭目以待。
Hey,你好!
「AI 快讯」全新升级为「AI 精英周刊」。在 AI 时代,信息获取越来越容易,但信息的筛选和甄别却变得成本高昂。「AI 精英周刊」拒绝快餐式内容,坚持深度阅读,不向互联网倒垃圾。我们的目标是为您的 AI 之旅提供真正有价值的内容。
文章由真人撰写,非 AI 生成。
Claude 刚刚开源了一个重磅项目 Model Context Protocol,简称 MCP。这个东西有多牛呢?它可以让 AI 助手彻底地摆脱两眼一抹黑的状态。
以前我们让 AI 来使用我们的数据,要么复制粘贴,要么上传下载。就算可以跟其他的 App 进行互操作,支持的 App 也不多,特别麻烦。现在有了 MCP,AI 就可以直接地访问你的数据了。这些数据包括你的本地文件、Google Drive 的文档、Slack 消息、数据库的记录等等。它甚至还可以像人一样来实时地去操作你的浏览器。
如果说去年的 AI 明星是 ChatGPT,今年就是 Claude 莫属了。今天我就带你玩转 MCP,除了官方的基础案例,我还会分享几个进阶的玩法。咱们在实操的过程当中,把 MCP 摸个透。
MCP 概览
今天首先我们来详细地了解一下什么是 MCP,以及它当中涉及到的一些概念到底是什么意思。然后我们进行案例实操,这就包括一个基础案例,然后再来三个进阶的测试案例。在案例的实操过程当中,我们会碰到更多的概念,我们就会进一步地把它们了解清楚。这样我们就可以对 Claude 的 MCP 有一个完整的认识。
我们先看看关于 MCP 的三个主要网站:
- MCP 官方博客简介 Introducing the Model Context Protocol \ Anthropic
- 这篇文章很短,快速阅读一下就对 MCP 整体有一个了解了。不过不读也没关系,我们接下来就会讲到其中的重点。
- 基本命令都在快速入门里: Quickstart - Model Context Protocol
- 这是 MCP 的操作手册,相当于快速入门。我们所需要的 MCP 的基本命令,在这篇文档里面都有,都很完整。我们就可以把自己的第一个 MCP 给运行起来了。
- MCP 官方服务器列表:modelcontextprotocol/servers: Model Context Protocol Servers
- 在这个项目里面,就是 Claude 官方提供的 MCP 的一些服务器以及社区开发的一些服务器。虽然现在还不多,但是我相信,这个就跟 ChatGPT 的 GPT 是一样,很快就会越来越多了。
MCP 基本概念
MCP 就是 Model Context Protocol 的简称,模型上下文协议。它是一个协议,它是用来把 AI 助手跟你的数据存储系统进行连接起来的一个标准。那你的这些数据存储系统可能就会包括你的数据库、你的 GitHub 的仓库,包括你使用的各种工具,甚至是你的开发环境。
连接的目的就是为了让 AI 能够更好地去访问到你的数据。这样不但能够扩展模型的能力边界,而且在你的数据加持之下,这样的模型生成更相关的响应也就变得更加可靠。这个事情的重点是它的协议进行了开源,那么这样就会很快地把生态能给建设起来。
目前 MCP 它还是一个本地的服务,就是它是运行在你自己的电脑上的。当然不排除将来它会支持远程的服务。MCP 这边主要的两个概念就是一个 MCP Server(MCP 的服务器)和 MCP 的 Client。
整个协议针对开发者来说有三个主要的组成部分:
- 协议规范
- Claude 桌面 APP 当中的本地的 MCP 服务器的支持
- 开源 MCP 的服务器库
这里面提到的数据源就是所谓的资源,包括文件、数据库记录、API 响应等等。
MCP 工作原理
在我们介绍完整个 MCP 的概念之后,我们可以来一个测试题:
Claude 的桌面端 APP 到底是 MCP Server 还是 MCP Client?
我们不着急现在去回答它,我们先看一下 MCP 它是怎么样工作的。
Claude 官方给出了它的基础架构图。我重新画了一下,增加了一些说明。我们待会就用一个简单的例子来帮助大家理解什么是客户端和服务器架构。
我们先来看 Claude 的整体架构怎么运作的。我们首先来看什么是 MCP Host(MCP 主机)。MCP 主机它就是像 Claude 的桌面端、集成的开发环境,或者通过 MCP 这个协议来访问资源的一些 AI 的工具。
Claude 的桌面应用程序它的 APP 就同时负责管理 MCP 服务器以及负责提供 MCP 客户端的功能。而 MCP 的客户端它就会通过 MCP 协议和 MCP 服务器维持一比一的连接,一对一的连接。
MCP 架构详解
从图示上我们就可以看出,MCP Host 通过 MCP 的协议跟 MCP 的 Server 进行连接。这里面有 MCP 的服务器 A、B、C,也就是说它在 Host 里面它实际上是可以跟多个服务器 MCP 服务器进行连接的。
一个 Host 里面每一个 Server,它就会可以访问到你本地的资源,也就是你本地的数据。就是我们刚才提到的,就是包括本地的文件、数据库的记录、图片等等,这些就叫做资源。同样 MCP 的服务器它也可以上互联网获得远程的资源,比如 Google 资料的文档或者 GitHub 你的仓库,这就是远程的资源。
同样在 Host 当中的 MCP Client 客户端可以通过 MCP 协议跟 MCP 的服务器进行双向的通讯。MCP 的服务器又可以从本地资源或者远程资源当中的数据进行存取。
那 MCP Server 是什么概念?按它的定义来说就是通过标准化的模型上下文协议来展示一些特定的功能。其实 MCP 的 Server 我们可以类比为 ChatGPT 的 GPTs,而所谓的 Server 的能力(Capabilities)也就是工具(Tools),我们可以类比为 GPTs 的 Action,也可以理解为 ToolCalling。所以大家你看,这些 AI 厂商大家看起来好像都是殊途同归,最后就看谁走得更好了。
客户端服务器架构举例
如果你是非计算机专业,你可能对客户端服务器架构还有点陌生。我们就用一个简单的例子来说明一下什么是客户端服务器架构。了解的同学可以直接跳过这一段。
我们假设你进入一个饭店吃饭,你是客人,那么你就是客户端。你跟服务员点餐需要按照一定的规矩来,不同的饭店它可能有不同的规矩。比如珍珠奶茶,你不能说是珍珠奶茶,你要说 “QQ NN 好喝到没谱茶”,这个规矩就是协议。
服务员相当于是一个传输协议的网线。你点完了菜,我们就可以说你完成了一次请求。而后厨的大师傅,他就相当于是服务器,他从本地资源里头抓了一把珍珠,然后混到奶茶里边,再通过服务员把这杯奶茶返回给你。
我们就可以说,作为服务器的大厨完成了一次响应。如果服务员最后把奶茶端给你了,我们就可以说你成功地收到了服务器返回的应答,你们就成功地完成了一次交互。
如果服务员拿着你的奶茶跑路了,你半天没等来,大声地问一句"我奶茶呢",这个就叫做超时重试。这就是整个一个简单的客户服务器结构它的通讯和运作过程。
这边我是觉得这个图稍微地改动一点点可能会更准确一点,因为针对 Claude desktop 这个 app 来说,MCP 的 host 它这一个 host 包括了 MCP 客户端的功能,同时它也提供了 MCP 服务器的功能。所以实际上 MCP 的 host 它是包含客户端和服务器这两部分的,这是我认为需要稍微调整一点的地方。
MCP 的意义
以上就是 MCP 的基本概念以及它的工作过程。MCP 本身它是一个协议,当这个协议开源之后,开发者就可以在这个协议的框架之下开发 MCP 的服务器或者开发 MCP 的客户端,这样就可以使得我们 AI 的应用场景会越来越广。
所以我觉得 Claude 推出一个开放协议,这个意义还是挺重大的。同样它目前也是一个测试版,所以功能并没有太夸张,它的一些案例用其他的 AI 自动化工具也许会实现得更好。但是这是一个开始,开放的协议会带来 AI 和其他应用系统互操作的快速的发展,我们拭目以待。
实操案例
接下来我们就来看几个实操案例,一方面可以对 MCP 有更进一步的了解,另外一方面,你去用 MCP server 其实非常简单。那么实操之后,你就可以自己去用适合于你自己的工作场景的 server,来搭建出你自己的 MCP 工作流了。
第一个就是一个基础案例,这是 Claude MCP 官方给出的一个例子。
环境准备
首先是环境准备,需要什么样的先决条件呢?
- macOS 或 Windows
- 已安装最新版本的 Claude Desktop
- uv 0.4.18 或更高版本(使用
uv --version
检查) - Git(使用
git --version
检查) - SQLite(使用
sqlite3 --version
检查)
UV 是什么呢?
UV 它就是一个 Python 的包以及项目管理工具(Project Manager)。MCP 的 server 有两种,一种就是使用 TypeScript 语言的,这种 server 我们一般是用 NPX 去运行它。一类 server 就是 Python 写的,这种 server 我们就是用 UVX 也就是 UV 或者 PIP 来运行。 Claude 官方推荐的就是用 UV。
SQLite 数据库测试
Claude 官方这个例子是从 SQLite 数据库里面对数据进行查询和分析。所以我们就需要准备测试数据,SQLite 是一个本地的数据库,简单好用,功能全,所以了解一下它还是很有意义的。
那我们准备测试数据就可以让 Claude 给我们生成一个测试数据。这边我就是让 Claude 给我生成了 20 个在线 AI 课程的一个数据表, PROMPT 如下:
参考以下语句,帮我生成一个 products 表,模拟20个在线AI课程作为数据,至少包含以下两门课程: AI 实战派,200 元,AI 自动化,180元:
sqlite3 ~/test.db <<EOF
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL
);
INSERT INTO products (name, price) VALUES
('Widget', 19.99),
('Gadget', 29.99),
('Gizmo', 39.99),
('Smart Watch', 199.99),
('Wireless Earbuds', 89.99),
('Portable Charger', 24.99),
('Bluetooth Speaker', 79.99),
('Phone Stand', 15.99),
('Laptop Sleeve', 34.99),
('Mini Drone', 299.99),
('LED Desk Lamp', 45.99),
('Keyboard', 129.99),
('Mouse Pad', 12.99),
('USB Hub', 49.99),
('Webcam', 69.99),
('Screen Protector', 9.99),
('Travel Adapter', 27.99),
('Gaming Headset', 159.99),
('Fitness Tracker', 119.99),
('Portable SSD', 179.99);
EOF
Claude 生成之后的语句如下:
# Create a new SQLite database
sqlite3 ~/test.db <<EOF
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL
);
INSERT INTO products (name, price) VALUES
('AI 实战派', 200.00),
('AI 自动化', 180.00),
('机器学习基础入门', 159.99),
('深度学习实践指南', 249.99),
('Python AI编程精讲', 189.99),
('计算机视觉专项课程', 299.99),
('自然语言处理入门到精通', 279.99),
('AI模型部署实战', 199.99),
('数据分析与可视化', 169.99),
('AI算法优化技巧', 229.99),
('强化学习基础教程', 259.99),
('AI项目管理实战', 189.99),
('AI应用场景分析', 149.99),
('机器学习模型调优', 239.99),
('AI产品设计思维', 179.99),
('深度学习框架精讲', 289.99),
('AI企业级应用开发', 299.99),
('AI安全与伦理', 159.99),
('AI性能优化实战', 219.99),
('AI系统架构设计', 269.99);
EOF
直接在 Terminal 中运行上面的命令,就可以创建所需要的数据库了。数据库会创建在你的用户目录下。你也可以把目录换成任何你有权限的目录,比如“/Volumes/DataDisk/WorkingMedia/DEMOData/test.db”
配置 Claude Desktop
接下来我们要配置 Claude Desktop 了。
配置文件是 claude-desktop-config.json。在你第一次使用的时候,它是没有这个配置文件的。当然不管它有没有都没关系,我们直接运行命令编辑这个文件,创建一个这个文件。
cursor ~/Library/Application\ Support/Claude/claude_desktop_config.json
你可以用任何的文本编辑器来打开这个文件。那这边我用的是 Cursor,你可以用任何你熟悉的编辑器,VIM 或者 TextEdit 都可以。
如何在终端中使用 Cursor:
- 打开 Cursor IDE
- 按 CMD+Shift+P(Mac)或 Ctrl+Shift+P(Windows/Linux)
- 输入并选择 "Shell Command: Install 'cursor' command"
- 安装完成后,使用
cursor .
打开文件夹或使用cursor filename
打开文件
这时候就是个空文件,我们只要把下面的这个配置文件给它拷贝进去就行了。
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "/Users/YOUR_USERNAME/test.db"]
}
}
}
那这个配置文件都什么意思呢?
首先就会告诉你,这下面是 MCP Server,这个 MCP Server 的名字叫 sqlite。然后我要运行什么样的命令呢?就是运行 UVX。那这个 UVX 命令的参数是什么呢?第一个参数就是 mcp-server-sqlite,这就是这个 MCP Server 的名称。
然后后面跟的参数是你的数据库的路径 DB Path。我们需要修改的就是这个数据库的路径,用我们刚才创建的数据库的真实路径来替换掉,例如“/Volumes/DataDisk/WorkingMedia/DEMOData/test.db”。然后保存。
这样配置文件就完成了。我们只要把 Claude Desktop 的 App 重新重启一下就可以。Claude 的 App 重启之后,我们就会看到在命令窗口的右下角,有一个小榔头的图标,它就是你的 MCP 的工具的列表。点击实际上我们就可以看到你现在有哪些 MCP 的工具了。因为现在我只安装了一个 SQLite 的 Server,所以这些所有的工具都是来自于 SQLite 的。
测试 MCP 功能
我们这边就先进行最简单的一个问题,问他你能连接到 SQLite 的数据库并告诉我有哪些产品可用以及它们的价格吗?首先就会要求权限,那么我们点击允许。很好,他已经查出了我的 Product 数据库里面的内容,就是各种 AI 课程的内容,模拟数据。当然我的 AI 自动化这不是模拟数据,这是实际的有的课程。
从 Claude 的回答当中,我们就可以看到它整个执行 MCP 的过程。首先第一步就是从数据库中当中去看有多少个表,然后发现有 Product 表之后,它来确定这个表的结构是什么,你都有哪些字段。然后再生成一个 SQL 语句去查询这个表当中所有的产品信息,查询这个表当中的所有的记录并且按价格来排序。之后根据它拿到的数据进行总结,给了你一个结果。这就是它一个标准的执行过程。
我们再来看两个进阶的问题吧。你能分析价格分布并提出任何定价优化的建议吗?这些问题其实对 Claude 来说已经是小菜一碟了。它既然能拿到这个数据,所以做这些事情都没有丝毫的问题。居然还把查询写错了,重新来了一把,给出了一些定价优化建议等等,捆绑销售、创建课程包。我现在还真有一个课程包,不错。
我们来看一下它在做什么。首先它这种写法,will result from read query from SQLite,read query 就是 tools,就是工具,就是 SQLite 这个服务器提供的工具。所以它首先调用了 read query 这个工具给你来点统计运算。然后还是调用 read query 的工具来做这个价格分布区间的查询。最后调用了一个 append insight,这是另外一个工具了。这个工具还是挺有用的,根据你的数据库的数据分析,它会给你给出一些重要的见解。这点确实还是很有用的。
那接下来我们再试最后一个。你能帮我设计并创建一个用于存储客户订单的新的表格吗?这就不光是查询了,我还要写入。很好,不但会创建,还知道创建完之后验证一下有没有成功。这就是创建表格的语句。这个语句没有问题。这个也是创建成功。然后进行了查询,查询表结构,证明创建成功了。
那接下来还可以向表插入数据啊或者等等吧。总之你可以通过 Claude 的 MCP 来对你的数据库进行自然语言的操作。你完全不需要去学 SQL 语句了。
MCP 工作流程总结
那它的整个工作流程我们可以来简单总结一下。那首先在 Claude Desktop 一启动的时候,它就会进行去发现你配置了哪些服务器,实际上就是通过那个 JSON 配置文件来的。然后它就会连接到你配置的那些 MCP 服务器。这是它启动的时候干的事情。
那当你需要 Claude 来帮你处理数据的时候,它就首先会去判断哪一个 MCP 的服务器是可以来完成这个任务的。然后就会去查询这个服务器的能力,你这个服务器有没有能力来完成。这就是它的请求。所以这边就是一个 negotiation 的过程,就是一个协商的过程。然后成功之后就会去从你的本地的 SQLite 这个数据库里面去获取数据了。也就是说从你的本地的 MCP server 里面可以去获取数据了。
那当然 MCP 有很多安全性的考量,这就是我们看到的不停地来问你权限。那至少让大家可以安心的就是首先它是本地的,然后把这个数据暴露到 Internet 网上,然后都是需要用户来确认的。所以这就是 Claude 在它的文档当中所说的,它是一个可控安全的一个环境。
进阶测试案例
接下来我们演示几个进阶的测试案例。这些测试案例就来自于 MCP 的官方 servers 里面列举的这些。
那目前官方提供的 server 一共提供了 16 个服务器。这就包括 Brave Search,它可以用 Brave API 进行网络搜索。然后 Everything 是一个演示展示一下 MCP 的功能。Fetch 就是获取网页的功能,可以把网页内容拿过来转换成 Markdown。然后文件系统,它可以操作本地的文件系统,读写文件啊,目录管理等等。还有跟谷歌 Drive 的集成。然后跟 Git 和 GitHub,这就是你的开发仓库的版本控制的管理。还有 GitLab,这些都是类似。同样跟谷歌地图。然后还有本地的知识图谱。还有 PostgreSQL,这也是个数据库,相比 SQLite 来说,它就是一个大型的数据库了,跟 MySQL 是类似的级别的。
然后还有一个 Puppeteer,这也是一个非常有用的工具。它有很多很大的功能,可以去打开页面啊,点击页面啊,甚至给你的页面截图等等。然后 Sentry 一般都是 app 的问题报告。Slack 通讯工具。SQLite 这个我们已经测试过了。然后 time 时间和时区转换。
这就是我目前整理的官方的 server 的一个列表。以后有新的更新,我们也会挑选有用的 server 来 update 一下。
文件系统操作测试
我们首先测试的就是这个文件系统。那同样它这边已经给出了一个现成的配置,我们只要把它拷贝粘贴到咱们那个 JSON 的配置文件里面去就可以了。注意 JSON 文件如果有多个服务器的话,那前面这些最后结尾是有一个逗号的。
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Volumes/DataDisk/WorkingMedia/DEMOData"]
}
那通过文件系统的这个配置参数,我们刚好可以来看一下 MCP 它的配置文件一个大概的结构。
MCP 配置结构解析
命令部分
"command": "npx"
- 使用 Node.js 的 npx 工具来执行包
参数部分 ("args"
)
-y
: 自动确认所有提示,跳过确认步骤@modelcontextprotocol/server-filesystem
: 指定要运行的 MCP 文件系统服务器包,其中 @modelcontextprotocol 是 Claude 官方的命名空间。/Users/YOUR_USERNAME/Desktop
: 指定允许访问的目录路径
每个命名空间都需要在 npm 注册并遵循相应的命名规范。
然后保存。同样我们需要把 Claude 关闭,然后重启一下。重新启动 Claude 之后,我们就可以看到这边变成 15 个了,原来是 6 个。那就多了很多本地文件系统的工具。
那么下面我们就来测试几个本地文件系统的功能。主要就是测试文件的读取以及分析。这是我的本地文件目录。这里面主要有两个 CSV 文件,一个是有 2000 行记录的 BTC 的数据,另外一个是 600 万行记录的 BTC 数据。2000 行的这个是 191KB 的大小,600 万行的这个是 348MB。
我们来看一下对文件系统的读取。首先我们让它列举一下我本地系统都有多少 CSV 文件。找到了三个 CSV 文件,文件都没有问题。然后它还主动地去查看文件的信息。2000 行的这个 BTC 大约 190KB,600 万行这个大约 348MB。
我们首先让它根据 2000 行的数据文件来做一个简单的分析。请根据 2000 行的这个 BTC 汇集一个简单的分析图表。它切掉了 10 万个字符,它只取 10 万个字符。咱们就不去纠结它的字数问题了。这边测试是它读取数据,数据没有问题。
我们再让它试一下那个 600 万行的 CSV。那它很有可能也是只拿了 10 万个字符过来。它一直在读取这个文件。出错了。好,没有办法直接读取全部的内容。它改用 SQL 来做了。AI 就是聪明,改用 SQL 来做。
我们来看一下它调用工具的过程。首先读文件的时候它是出错了,抛出错误。服务员端着奶茶跑路了。然后它尝试去调用了 SQLite 的工具。我看它在干什么。创建了一个表,BTC 的表。表格的结构它应该是按照 CSV 文件来的。然后创建了表。我们现在把这个表清空。再然后,把 CSV 文件导入到这个表里面去。这个做法还是很聪明的。但是它这边出现语法错误了。那很自然,下面的查询语句就不会出现结果。
我们看可以让它把这一部分修改掉。不支持直接的 CSV 文件导入,它搞不定导入。它搞不定就用模拟数据。
咱们就先不跟它去折腾分析图表的事情了。至少它对本地文件系统的操作是没有问题的。
Fetch 功能测试
接下来我们测试下一项。我们先把 Claude 退出。
每次修改配置文件,它都需要重新启动 Claude 客户端。
下一个就是 Fetch,这也是个很有用的功能。可以把网页的内容获取回来,然后还转换成 Markdown 格式。同样我们按照它的配置要求进行配置。
这边建议你安装 Node.js,这会让它运行得更有效。如果没有装过,就用这个命令进行安装就可以。
- 运行
brew install node
安装 Node.js 和 NPM - 输入
node -v
检查 Node.js 版本 brew upgrade node
升级 Node.js
同样我们需要去配置 Claude 的这个 app。
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
我们把这个拷贝过来,再到我们的配置文件里头,把它粘贴到我们的配置文件里。因为我们的配置文件里头已经有两个 server 了,所以我们在需要新的配置的时候,我们不需要前面那个 mcpServers 的这部分。我们只需要这个服务器的部分就行了。
我们再重启 Claude。增加了一个 Fetch。我们接下来让它获取一个 URL 的内容进行简要总结。这个 URL 就是我的一篇博文。请获取 URL 为的内容进行简要总结。没有问题,notebook.lm。所以获取网页内容是没有任何问题,丝滑地就完成了。
Puppeteer 功能测试
然后我们再试一下这个可以当作自动化工具来用的 Puppeteer。它提供浏览器的自动化功能。它可用的工具很多:
可用工具
- puppeteer_navigate: 页面导航
url
(网址)
- puppeteer_screenshot: 页面截图
name
(截图名称)selector
(元素选择器,可选)width
(宽度)height
(高度)
- puppeteer_click: 点击元素
selector
(元素选择器)
- puppeteer_hover: 悬停元素
selector
(元素选择器)
- puppeteer_fill: 填充表单
selector
(元素选择器)value
(填充值)
- puppeteer_select: 选择下拉框
selector
(元素选择器)value
(选择值)
- puppeteer_evaluate: 执行 JavaScript
script
(脚本代码)
同样我们按照说明进行配置。其实我们看到的配置内容都很简单,基本上它的配置都是同样的模式。我们把这部分拷贝过来,然后继续粘贴到我们的配置文件里。不要忘了逗号。保存,格式化一下。
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
配置文件完成,我们再把 Claude 启动起来。等了有一阵以后,这边就加载成功了,21 个了已经。我们到这边新增加的 Puppeteer 的。我们可以尝试一下 Puppeteer 了。
我们先尝试第一步,直接让它打开我的 AI 精英学院的首页。直接调用了我的 Chrome 浏览器打开了我的首页。但是是在一个小的 frame 里面。它是在一个 frame 里面打开的我的主页。没有问题,打开的都没有问题。已经可以开始操作其他的 app。
我们看它这边干啥了。首先使用的 Puppeteer 的 Navigate 打开了我的网页。然后截取了一张网页截图。它倒挺主动。
我们先把这个关掉。然后我们直接再测试一下,一次给它三个任务。我们可以重新开一个新的会话。一次给它三个任务:
- 打开 AI 精英学院 首页: https://www.axtonliu.ai/
- 点击按钮: 点击查看热销套装详情,Selector is:
#block-1711332632189_5 > div > div > div > a
- 截图保存到本地,文件名是 “测试截图“
我们先看一下,直接让它点击这个按钮的名称,看看它能不能点。我们先测试一下,告诉它按钮的名称,看它能不能点到。
首次测试任务
只提供按钮名称:
- 打开 AI 精英学院 首页: https://www.axtonliu.ai/
- 点击按钮: “点击查看热销套装详情”
- 截图保存到本地,文件名是 “测试截图“
导航到网页。直接用名字,它没有成功。点了一个按钮。但是点的不是热销套装的按钮。打开了我的 AI 实战派的按钮。然后它会认为成功了。
不错,点了一个按钮。虽然没点对。这是因为它自己找到了一个按钮的标识,然后就点了一下。虽然按钮没有点对,但是这个结果已经很不错了。
接下来尝试就给它一个明确的 selector,看它会不会做得更好。我们先把这个页面关掉。这时候我就给它一个详细的命令。这个按钮就给它了 selector,这是这个按钮的 selector。看看这次行不行。
很好,再继续。这下就点对了。因为给了它正确的 selector,所以它的按钮就点的正确了。又点了一次。再来截图。中文来一遍,英文来一遍。双语完成任务。已经很不错了。
Responses