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

0 评论 1821 浏览 12 收藏 19 分钟

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

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

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

思考

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

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

接下来,开始搭建Agent。

Agent构建核心要素

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

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

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

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

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

Action(工具)

工具:提供了与现实世界交互的能力,例如获取用户的本地数据、调用用户的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模型,各司其职:

  1. 登录处理Agent:处理认证流程;
  2. 数据筛选Agent:执行筛选操作;
  3. 下载处理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 任务完成后,在已经完成的任务(同一个对话框)后面追加任务,完成另一天的数据加载。

在后续的任务中,模型反复报错,包括但不限于:

  • 其中包括参数返回为空;
  • 未唤起工具下载成文件;
  • 执行到一半结束,再次执行仅做文字回复,未执行下载动作;
  • 陷入死循环一直点下一页、替换或者复制历史下载成功的数据等。

在这里,教大家几个查看报错的办法。

1)查看调用链的输出,即可看到是哪里报错;

2)查看模型的思考过程,比如这个地方,一直重复,且没有下一个任务节点的调用,大概率是失败了。

在每一次报错后,只能反复的调提示词,以下是修改的过程中,较为经典的场景。

3)将之前的任务拆解为更清晰的todolist

4)删减任务

5)单任务独立

6)强调

Step 5:形成SOP

最后,在反复的提示词修改与测试下,搭建了完善的SOP流程和稳定的提示词。

Offline指用户脱离Agent的操作。

基于这个流程,几乎完成率能达到95%。

总结

所有的Agent都是模拟人的操作,因此,在搭建Agent之前,用户需要自己理清这个任务的流程节点,然后思考,Agent能够替代哪一部分,如何替代,这样才能完成一个Agent的搭建。

同时,Agentic Workflows,由于其灵活性、适应性和自我纠正等特性,会更加适应不断变化的情况和意外困难,高精度的完成重复性的任务。但是同样,搭建Agent本身的复杂性,会使本身简单的工作复杂化(比如上述登录、筛选指标),且其高度的自主性,会引入一些不可预测的结果

因此,需要Agent解决什么问题,是否需要搭建Agent来完成任务,是需要用户自己思考清楚的。

附:一些To B的商业场景(电商)

随着智能体技术的不断完善,AI Agent 在电商等To B场景中也具备广泛的应用潜力:

  • 图像生成标准化处理:辅助商家完成商品图自动修片、打水印、规格统一等工作;
  • 数据报告自动化生成:按日/周自动拉取销售、流量、转化等核心指标并生成图表报告;
  • 营销方案编写:结合商品特征和历史数据以及平台销售数据,生成定制化营销方案(满减、满赠、优惠券等);
  • 商家定价策略辅助:参考竞品价格变动与季节波动,辅助制定合理上新价格;
  • 采购计划智能辅助:基于历史库存消耗预测趋势,向B端买手推荐最优补货周期与品类搭配建议。

本文由 @诸葛铁铁 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!