在大型语言模型(LLMs)日益普及之后,AI智能体(AI Agents)成为人工智能领域的下一个风口。正如Andrew Ng所言,AI智能体将融入我们的日常生活,但这将如何影响分析型工作流程?这究竟会终结人工数据分析,还是会增强现有的工作方式?
在本文中,我们尝试解答这一问题,并梳理相关时间线,探讨现在是否是迈向这一方向的最佳时机。

数据分析的过去
数据分析并不像今天这样轻松和高效。实际上,它经历了多个不同的发展阶段。这一过程既受限于当时的技术水平,也受到企业和个人对数据驱动决策日益增长的需求影响。
微软Excel的主导地位
在90年代和21世纪初,我们几乎所有的数据处理都依赖于Microsoft Excel。无论是学校作业还是职场任务,都离不开它。那时,我们需要编写冗长的公式来合并和排序表格列。学习这些技能的资源有限,相关培训课程因此非常受欢迎。
不过,面对大数据集时,Excel的处理速度明显变慢,报告的生成过程也变得繁琐且重复。
SQL、Python、R的崛起
最终,Excel逐渐力不从心,此时SQL登场,并迅速成为数据分析的明星。SQL结构化、可扩展且高效。很多人都记得,第一次使用SQL时,分析工作只需几秒即可完成。
R语言早已有之,但随着Python的崛起,R自身也在不断增强。Python因其易读的语法,让"与数据对话"变得简单。复杂任务现在几分钟就能搞定。企业也注意到了这一趋势,纷纷寻找能够熟练操作SQL、Python和R的人才。这成为了新的行业标准。
BI仪表盘无处不在
2018年后,数据分析领域又迎来一轮转型。Tableau和Power BI等工具让数据分析变得"所见即所得",并能一键生成可视化仪表盘。这些零代码工具迅速流行,企业的岗位描述也随之调整。
Power BI或Tableau的使用经验,成为了招聘的硬性要求!
未来展望:LLMs的加入
随后,LLM横空出世,并引发轰动。人人都在探讨LLMs,努力将其集成到工作流程中。你大概也常看到类似的标题:"LLMs会取代数据分析师吗?"
然而,最初的LLM版本尚无法实现自动化数据分析,直到ChatGPT代码解释器(Code Interpreter)的出现。这一创新让数据分析师们最为担忧,因为它显示出数据分析工作流程有望一键自动化。那么,它是如何实现的呢?让我们来看看。
利用LLMs进行数据探索
举个例子:黑色星期五购物数据项目。这是沃尔玛数据科学岗招聘中经常用于家庭作业的真实案例。
用AI智能体和LLMs进行数据探索

数据项目链接:https://platform.stratascratch.com/data-projects/black-friday-purchases
你可以访问该网址,下载数据集并上传至ChatGPT。使用以下提示结构:
我已附上数据集。
以下是数据集描述:
【从平台复制粘贴说明】
请使用可视化方式进行数据探索。
输出的第一部分:

但输出还没结束,模型会继续补充,让我们看看还有哪些发现。
输出的后续部分:

现在我们得到了数据集的总体摘要和可视化结果。接下来,数据探索的第三部分是文字描述。
输出的第三部分:

最棒的是?这些操作只需几秒钟即可完成。但AI智能体其实比这更智能。接下来,让我们构建一个能够自动化数据探索的AI智能体。
数据分析智能体
智能体相比传统LLM交互更进一步。尽管LLMs非常强大,人们总觉得还缺点什么------也许是人类本能地渴望创造超越自身的智能。用LLM时,我们还需像上文那样给出提示,但数据分析智能体甚至不需要人工干预,全部流程可自动完成。
数据探索与可视化智能体的实现
让我们一起搭建一个智能体。我们将用Langchain和Streamlit来实现。
智能体的搭建
首先,安装所有所需的库。
import streamlit as st
import pandas as pd
warnings.filterwarnings('ignore')
from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from langchain_openai import ChatOpenAI
from langchain.agents.agent_types import AgentType
import io
import warnings
import matplotlib.pyplot as plt
import seaborn as sns
我们的Streamlit智能体,可以通过如下代码上传CSV或Excel文件:
api_key = "api-key-here"
st.set_page_config(page_title="Agentic Data Explorer", layout="wide")
st.title("Chat With Your Data --- Agent + Visual Insights")
uploaded_file = st.file_uploader("Upload your CSV or Excel file", type=["csv", "xlsx"])
if uploaded_file:
# 读取文件
if uploaded_file.name.endswith(".csv"):
df = pd.read_csv(uploaded_file)
elif uploaded_file.name.endswith(".xlsx"):
df = pd.read_excel(uploaded_file)
接下来是数据探索和可视化的代码。可以看到,针对不同类型的数据集,代码中有相应的判断分支。
# --- 基本探索 ---
st.subheader("📌 数据预览")
st.dataframe(df.head())
st.subheader("🔎 基本统计量")
st.dataframe(df.describe())
st.subheader("📋 列信息")
buffer = io.StringIO()
df.info(buf=buffer)
st.text(buffer.getvalue())
# --- 自动可视化 ---
st.subheader("📊 自动可视化(前2列)")
numeric_cols = df.select_dtypes(include=["int64", "float64"]).columns.tolist()
categorical_cols = df.select_dtypes(include=["object", "category"]).columns.tolist()
if numeric_cols:
col = numeric_cols[0]
st.markdown(f"### `{col}`的直方图")
fig, ax = plt.subplots()
sns.histplot(df[col].dropna(), kde=True, ax=ax)
st.pyplot(fig)
if categorical_cols:
# 仅显示出现次数最多的前15个类别
top_cats = df[col].value_counts().head(15)
st.markdown(f"### `{col}`的前15个类别")
fig, ax = plt.subplots()
top_cats.plot(kind='bar', ax=ax)
plt.xticks(rotation=45, ha='right')
st.pyplot(fig)
接下来,设置智能体:
st.divider()
st.subheader("🧠 向你的数据提问(智能体)")
prompt = st.text_input("例如:'哪个类别的平均销售额最高?'")
if prompt:
agent = create_pandas_dataframe_agent(
ChatOpenAI(
temperature=0,
model="gpt-3.5-turbo", # 如果有权限可用"gpt-4"
api_key=api_key
),
df,
verbose=True,
agent_type=AgentType.OPENAI_FUNCTIONS,
**{"allow_dangerous_code": True}
)
with st.spinner("智能体思考中..."):
response = agent.invoke(prompt)
st.success("✅ 回答:")
st.markdown(f"> {response['output']}")
测试智能体
所有内容准备就绪。将代码保存为:
然后进入该脚本文件所在的目录,运行以下命令:
streamlit run agents.py
大功告成!
测试AI智能体
你的智能体已经就绪,开始测试吧!
总结
本文回顾了数据分析自90年代至今的发展历程,从Excel到LLM智能体。我们还通过ChatGPT分析了真实的数据集------这一数据集曾出现在实际的数据科学岗位面试中。
最后,我们借助Streamlit、Langchain及其他Python库,开发出了一个自动化数据探索和可视化的智能体,这正是传统与新型数据分析工作流的结合。并且我们用的正是现实中的数据项目。
无论你选择今天还是明天拥抱它,AI智能体已不再是未来趋势,而是数据分析的下一个阶段。