如何利用Agent构建自动化数据采集模型

B站影视 港台电影 2025-08-26 19:07 1

摘要:在电商场景中,面对高频但受限的数据需求,引入AI Agent完成自动化数据获取已逐渐成为高效运营的重要手段。本文旨在分享一个基于AI Agent实现实时、批量、低成本数据抓取的完整实践路径,并探讨其可行性与优化策略。

在电商场景中,面对高频但受限的数据需求,引入AI Agent完成自动化数据获取已逐渐成为高效运营的重要手段。本文旨在分享一个基于AI Agent实现实时、批量、低成本数据抓取的完整实践路径,并探讨其可行性与优化策略。

在日常业务运营过程中,我们时常需要从多个封闭系统中获取报表数据用于分析,但由于账号权限限制或平台收费机制(例如某主流小程序数据分析平台对导出功能设置年费近5万元),企业尤其是中小型企业难以承担持续成本。

但是公司需要获取这个数据来做分析,因此需要一个解决方案。

基于当前的场景做了部分方案的调研:

人工:目前没有人力资源来做这个数据的统计——Pass爬虫:调取接口时发现这个数据返回加密了——PassRPA:没有运维能力来持续更新——PassAgent:一劳永逸,每次丢给他,任劳任怨——Deal,开干

接下来,开始搭建Agent。

首先,模拟在没有Agent帮助的时候,人类是怎么完成这个任务的。如下,在此流程中,全流程10步,可以分为三大节点,页面登录、数据加载、数据下载。

在引入AI能力后,整个工作流是:

现在,AI参与的任务流有了,开始搭建Agent。

遵循当前主流的大模型 Agent 构建范式,LLM(以下简称推理)、Action(以下简称工具)、记忆。下面将分别从这三个要素来讲解怎么搭建这个Agent。

注:本次搭建agent过程中,涉及到部分工作,需要懂代码或者技术人员的支持才能完成(一次性)。

工具:提供了与现实世界交互的能力,例如获取用户的本地数据、调用用户的API、操作用户的电脑等。

按照已有工作流,为了完成任务,至少需要几种能力:

操作网页的能力;对本地文件夹的增删改查能力,注意,删除能力谨慎选择。

当前Agent用的工具是Playwright(网页操控)和Cherry/filesystem(文件编辑)、Shell(控制台)。

MCP广场,有丰富的MCP,大家可以自行选择

https://www.modelscope.cn/mcp?page=1

MCP配置,需要一点技术能力,可以寻求技术大佬的帮助或者按照MCP自带的指引一步步自行配置,非本文重点,不赘述。

记忆:保存任务上下文,减少多次重复请求

当前任务流为单次任务,非连续任务,因此长期记忆可以关闭,保留单次任务内的短期记忆即可。

推理

推理:提供任务理解、问题拆解与上下文判断

模型

最终选择了qwen3-coder-plus(免费且输出相对稳定。推荐的超参:温度:0.7,Top-P:0.8)

平台

选择了Cherry Studio,一个支持多服务商集成的 AI 对话客户端(本地)。

对比Coze等平台来说,从引入模型、搭建MCP、制作智能体流程,需要全部自己动手处理,可以帮助用户更好地了解各模块的逻辑和作用。

使用指南

1.下载并安装到本地:https://www.cherry-ai.com/

2.右上角设置,模型服务,绑定聚合供应商,添加大模型

注:Cherry Studio对接了多个大模型聚合供应商,例如硅基流动、openrouter等平台。类似一个大模型的聚合平台。添加不同供应商的地址和密钥,绑定账户,添加供应商支持的大模型,并使用绑定的账户进行大模型调用的结算。

3.去聚合平台找到大模型的模型唯一ID,添加。

提示词

下面将按照写提示词的流程,并针对里面踩的坑以及解决方案来写。

Step 1:一个专注于数据的Agent

最开始对Agent的定义,是完成Step1-Step10的全流程。实现从打开网页到下载全部数据的全部任务,基于ReAct范式,让他规划计划,然后完成任务。

参考提示词:

#角色#

你是一个自动化机器人助手,你的每一步都是基于大模型的思考,然后使用playwright的MCP服务去执行。

#任务#

每次任务,我会告诉你对应的网址,账号、密码,有可能会告诉你具体对应的页面,你要做的是根据我提出的问题,来帮我做自动化的操作,包括但不限于,获取数据、分析总结、执行操作等。

#举例#

示例1:

问题:帮我在********,这个地址,****模块里面,找到页面访问 数据明细表格,查询8.17号,“我的”页面的访问人数

思考:这个网址是一个基于**平台的数据分析平台,你现在需要这个数据,我将使用playwright打开这个网页,但是需要你扫码登录,请扫码。

用户交互:线下扫码

问题:登录成功。请继续执行

思考:当前已经登录成功,现在使用playwright打开**模块里面,找到页面访问 数据明细表格,使用筛选条件时间为:8.17-8.17,查询8.17号,“我的”页面的访问人数为10000.

回复:8.17号,“我的”页面的访问人数为10000.

示例2:

问题:继续,基于任务一当前数据表格,标筛选为全选的所有数据,并导出表格形式给我。

思考:

1.当前已经登录成功,并找到对应数据;

2.使用筛选条件2025/08/17-2025/08/17;

3.要求指标全部勾选,当前仅勾选了3个指标,因此需要将全部12个指标全部勾选。

4.勾选指标,完成后执行筛选,列表出来的即为用户要求的所有数据,现在开始下载数据;

5.点击下载数据,发现提示需要付费,客户应该是不希望付费,因此我们选择通过页面数据来获取数据并组装成表格形式。

6.我们看到当前页面展示了10行数据,每行12列数据,但是我不确定这是否是全部数据;

7.底部有翻页动作,证明当前页面展示的非全部数据,需要通过下一页找到所有数据,直到最后一页;

8.另外通过左右滑动屏幕,发现当前展示的非全部列数,因此,在每一页,需要通过滑动到最右边,来获取一行的所有数据。

输出:按照步骤依次执行,最终输出表格为:

*********

#要求#

1.如果遇到阻碍,请将阻碍抛出来,并让用户协助解决;

2.问题解决后,继续执行下一步操作。

3.所有的操作基于模型的思考。

4.所有的答案基于获得的内容,不能胡编乱造。

接下来是几轮的用户和AI的交互:

在第一轮的任务中,Prompt有个问题

AI路径过长,且没有很好的拆解用户的任务,执行不可控、幻觉频发。

-由于token的限制,多任务可能完不成(例如上面的例子,任务做到一半欠费了)

-任务越多,幻觉会越严重,到后面,模型回答已经开始胡说八道(修改生成的数据)

解决方案:将上述流程抽象为三个子Agent模型,各司其职:

登录处理Agent:处理认证流程;数据筛选Agent:执行筛选操作;下载处理Agent:执行分页采集与本地存储

但是,基于第一次尝试,Agent处理过于复杂(打开网页、输入筛选条件、勾选指标,完成这两项任务,大概用了12美刀的token,直接给账户干欠费了)

且实际过程中,这两个任务并不消耗过多的精力。

因此这次搭建的新的Agent将聚焦在重复工作,即数据下载模块。通过人工把所有的前提条件都准备好了,包括登录、筛选条件、指标勾选等。

下面将仅对下载处理Agent做配置。

Step 2:通用Agent

上述Agent还有个问题:Prompt任务限定死板,只能执行固定任务。

当前更希望Agent有更泛化的能力,根据每次单独任务,完成更多的事情。

基于这个目标,参考Agent提示词(此时将Agent抽象成了一个通用的Agent,而不是单一完成数据存储的Agent):

你的目标是遵循用户指令完成用户任务,通过使用提供的playwright/Shell/fileSystem/Python3/Node等工具并将任务分解为更小的步骤来实现最终目标。

Environment

-OS: Mac Os

-Browser: Chrome

-Node: v23.11.1

-python3: 3.12.8

-Work Folder: /User/Data/xxx

Skills

-你可以使用playwright来操纵浏览器

-你可以使用Shell工具来操作终端exec_command

-你可以执行Python代码

-你可以生成Node代码,并通过exec_command来执行

-你可以使用file工具来读写文件

## important

-安全的工作区是Work Folder:*******

-请你每一步都必须选择一个工具使用,直到结束时才可以不使用工具!

-每次必须选择一个工具使用tool_calls-每次都必须选择一个工具使用tool_calls-每次必须选择一个工具使用tool_calls

-如果tool_calls的arguments为空,那么请传入”arguments”: “{}”

请你选择一个工具执行:

好的,一个可以调用工具的通用的Agent搭建好了。

现在使用Agent的思路也调整一下,基于第一次尝试中遇到的各种问题(任务中断、中途更换模型等),现在先让Agent自己规划出一个SOP流程,以便于可以让其他大模型或者Agent也能使用。

好的,到此为止,通用的Agent能力符合预期,现在测试一下输出的4份文件,开启新的对话,重新开始执行任务,看看结果是否符合预期。

Step 3:Agent测试

前置处理:打开对应网页,并找到目标页面,将筛选条件输入和设置完成。

Step 4:反复测试

在Step3 任务完成后,在已经完成的任务(同一个对话框)后面追加任务,完成另一天的数据加载。

来源:人人都是产品经理一点号

相关推荐