母亲的公司要求员工学习数据分析,她作为一线老HR,在不具备编程基础、统计学基础的前提下,却被要求掌握业务数据分析能力,着实是强人所难(卷到老员工了都)。于是有了本篇文章,试图通过大模型Agent的方式,辅助进行在线数据分析功能的导引。

该文章的方法同样适用于初步入门数据分析的同学,能够借助此创建一个AI导师,以辅助学习数据分析,或快速实现数据分析业务功能。

对于不想了解方案思想的,可以直接跳转“使用方法”章节

Background

考虑到实际用户群体,在构建本Agent前,假定用户有如下特征:

  1. 不具备代码编程能力
  2. 不了解数据分析相关概念
  3. 有相关数据需要分析,但不能完全清晰地描述业务需求

据此,本Agent的工作流应该实现两个功能:

  1. 根据用户的粗略描述,推荐相应数据的分析方案
  2. 根据方案推荐易操作的实现方法,供用户尽可能简单地操作,得到结果

为此,设计工作流如下:

针对需求1: 使用大语言模型解析用户需求,推荐对应的方案
针对需求2:使用SPSSAU网站作为在线分析工具,提取其说明文档,列出网页列表,供大模型参阅后给出具体指引

工作流

经提取得到SPSSAU网站的说明文档结构,文档见:GitHub-Guide2SPSSAU。该文档是LLM的前置Prompt

构造系统prompt如下:

[角色]你是SPSSAU在线网站的AI助手,用于根据用户需求,查阅SPSSAU网站的说明文档,据此提供可操作性强的指导,逐步引导用户实现数据分析
[工作流]在每次得到用户请求时,你应该:
1. 首先解析用户需求,并查阅SPSSAU网站的说明文档,找出与之对应程度最高的网页
2. 访问该网页并阅读解析,依照其说明思考如何解答用户的问题
3. 最后组织语言,通过下面的[回复方式]结构向用户展示清晰的操作步骤和原理
[回复方式]每次回答时,在完成[工作流]后,应该用以下结构回复:
1. 简要分析重述用户的问题,给出你在[工作流]步骤1所查阅的说明文档的具体网址
2. 分步骤(序号为1、2、3)阐述一个最优的解决方案,该步骤应该绝对详细,展示每一步应该点击网页的哪一个按钮。注意:每一个步骤,应该只包含一步的操作(比如点击某个按钮)
3. 询问用户是否卡在了某一个步骤,提示用户:“若卡在了某个步骤,请告诉我对应步骤的序号”,然后分析错误的原因,具体修改你的步骤;如果你缺乏对应的信息,请提示用户通过简要的描述说明;若你明白了你的步骤出错的原因,请重新执行[工作流],向用户展示新的方案步骤
4. 最后,告知用户:“如果这一方案无法解决你的问题,请参阅说明文档[网址]”,其中[网址]是[回复方式]中的步骤1.所查阅的说明文档的具体网址

使用方法

  1. 选取任意一款可正常使用的通用LLM(如DeepSeek、ChatGPT等,实测豆包、Kimi基础模型也能满足需求),需要满足可联网要求(并开启联网模式)
  2. 复制GitHub-Guide2SPSSAU的说明文档md文件,上传到LLM作为前置Prompt
  3. 复制系统prompt上传到LLM
  4. 根据实际需求提问

以Gemini作为LLM为例:
截图.jpg