跳到主要内容Python + Agent 入门实战:从零搭建可复用 AI 智能体 | 极客日志PythonAI
Python + Agent 入门实战:从零搭建可复用 AI 智能体
基于 Python 和 LangChain 框架搭建可复用 AI 智能体。涵盖环境配置、工具模块编写及核心逻辑整合,实现自动化处理 Excel 数据、生成报表等功能。适合希望从 0 到 1 掌握 Agent 开发流程的开发者参考。
imJackJia1 浏览 Python + Agent 入门实战:从零搭建可复用 AI 智能体
随着大模型能力的下沉,AI Agent 的开发门槛正在降低。借助 Python 生态和开源框架,开发者可以构建具备自主决策能力的智能体。

一、先理清:Python+Agent,到底强在哪里?
很多新手容易混淆'Python 脚本'和'Python+Agent'的区别。普通 Python 脚本是'写死的指令执行',而 Python+Agent 则是'智能的任务闭环'。核心优势在于自主决策、自动执行、可复用、可扩展。
1.1 核心区别:Python 脚本 vs Python+Agent
| 对比维度 | 普通 Python 脚本 | Python+Agent 智能体 | 核心优势体现 |
|---|
| 执行逻辑 | 按固定步骤执行,一步错全流程崩 | 自主拆解任务、动态调整步骤,容错性强 | 无需手动修改代码,适配不同场景 |
| 交互方式 | 被动执行,需手动触发,无法多轮交互 | 主动理解需求,支持多轮对话,记住上下文 | 像'助手'一样沟通,无需懂代码也能使用 |
| 功能扩展 | 新增功能需修改全部代码,复用性差 | 通过工具注册、插件扩展,无需改动核心逻辑 | 一次搭建,多场景复用(如办公、数据分析) |
| 技术依赖 | 仅依赖 Python 基础语法,无 AI 能力 | 结合大模型+Python 生态,具备智能决策能力 | 依托开源框架,零基础也能快速上手 |
1.2 热门入门场景
新手不用追求复杂场景,优先选择'代码量少、落地快、能直接用'的方向。这 3 个场景是目前最适合入门的,也是企业刚需:
- 自动化办公 Agent:自动处理 Excel、生成报表、批量发送消息(Python 基础 + 简单 Agent 框架,1 天就能落地);
- 本地知识库 Agent:上传文档(PDF、Word),用自然语言查询内容,无需手动检索(结合 RAG 技术,新手易上手);
- 代码辅助 Agent:自动检查 Python 代码错误、优化代码、生成注释(贴合开发者自身需求,边学边用)。
1.3 新手入门核心技术栈
不用堆砌复杂技术,这 4 个工具/框架就够了,全程 Python 编写,零基础也能快速掌握,按优先级排序:
- 核心语言:Python 3.10+(稳定、生态完善,新手优先选 3.11 版本);
- 大模型:OpenAI GPT-3.5/4(新手用 GPT-3.5,免费额度足够,推理速度快);
- Agent 框架:LangChain(最主流、资料最多,新手友好,无需从零造轮子);
- 辅助工具:Chroma(轻量级向量数据库,用于存储 Agent 记忆,配置简单)。
建议初学者先聚焦 LangChain 与 Python 的组合,避免过早分散精力在 AutoGen 或 CrewAI 等复杂框架上。本文实战案例仅用这 4 个核心工具,代码简洁,可直接复制运行。
二、环境搭建:10 分钟搞定 Python+Agent 开发环境
环境搭建是新手最容易卡壳的地方,这里一步一步拆解,确保每个人都能搞定,无需复杂操作。
2.1 第一步:安装 Python
- 下载地址:Python 官方下载页,选择 Python 3.11.x 版本(Windows 选 64-bit Installer,Mac 选 macOS 64-bit Installer);
- 安装时勾选'Add Python to PATH'(关键!避免后续配置环境变量),点击'Install Now',全程下一步即可;
- 验证是否安装成功:打开终端(Windows 按 Win+R,输入 cmd;Mac 按 Command+空格,输入 terminal),输入以下命令:
python --version
pip --version
2.2 第二步:创建虚拟环境
虚拟环境能隔离不同项目的依赖,避免出现'安装 A 包导致 B 包报错'的问题,新手一定要养成这个习惯,步骤如下:
python -m venv agent-env
agent-env\Scripts\activate
source agent-env/bin/activate
激活成功后,终端前面会出现 (agent-env),如下所示:(agent-env) C:\Users\XXX>。
2.3 第三步:安装核心依赖包
激活虚拟环境后,复制以下命令,一次性安装所有需要的依赖(LangChain、OpenAI、Chroma 等),无需手动逐个安装:
pip install langchain openai chromadb python-dotenv pandas openpyxl
说明:pandas 和 openpyxl 用于后续自动化办公 Agent 处理 Excel,提前安装,避免后续报错。
2.4 第四步:配置 OpenAI API Key
Agent 需要调用大模型才能实现智能决策,这里用 OpenAI 的 API,新手有免费额度,足够入门使用:
- 注册/登录 OpenAI 账号:前往 OpenAI 官网,注册账号(需绑定手机号,国内可使用境外手机号接收验证码);
- 创建 API Key:登录后,点击右上角头像→View API Keys→Create new secret key,复制生成的 API Key(注意:只显示一次,复制后保存好,不要泄露);
- 配置 API Key:在项目根目录下创建一个名为
.env 的文件(无文件名,后缀为 env),打开文件,写入以下内容(替换为你的 API Key):
OPENAI_API_KEY=your_api_key_here
三、实战环节:Python+LangChain,搭建第一个 AI 智能体
本次实战目标:搭建一个自动化 Excel 处理 Agent,功能包括:读取 Excel 文件、分析数据、生成可视化报表、保存结果,全程无需手动操作,新手跟着敲代码就能实现,代码注释详细,每一步都有说明。
3.1 实战架构设计
在写代码前,先理清 Agent 的工作流程,避免盲目编码。本次搭建的 Excel 处理 Agent,核心分为 5 个模块,形成'接收需求→规划任务→执行操作→记忆结果→反馈输出'的闭环。
核心说明:本次实战不涉及复杂的多 Agent 协作,聚焦'单 Agent+Python 工具',重点让新手掌握'Agent 如何调用 Python 工具',为后续进阶打下基础。
3.2 项目结构
项目结构简洁,共 4 个文件,新手可直接在桌面创建文件夹(命名为 excel-agent),然后创建以下文件:
excel-agent/
├── .env
├── tools.py
├── agent_core.py
└── main.py
└── test.xlsx
测试用 Excel 文件:新手可创建一个 test.xlsx,包含'姓名、年龄、成绩'三列,填入 10-20 条测试数据,用于后续 Agent 读取和分析。
3.3 分模块编写代码
3.3.1 工具模块:tools.py
定义 4 个核心 Python 工具,供 Agent 自主调用,代码注释详细,新手无需修改,直接复制即可:
from langchain.tools import tool
import pandas as pd
import matplotlib.pyplot as plt
import os
@tool
def read_excel(file_path: str) -> str:
"""
读取 Excel 文件内容,返回数据的基本信息(行数、列数、字段名、前 5 行数据)
Args:
file_path: Excel 文件路径(如 ./test.xlsx)
Returns:
数据基本信息,便于 Agent 分析数据
"""
if not os.path.exists(file_path):
return f"❌ 错误:文件{file_path}不存在,请检查路径是否正确"
df = pd.read_excel(file_path)
info = f"""✅ 成功读取 Excel 文件:{file_path}
- 数据总行数:{len(df)}
- 数据总列数:{len(df.columns)}
- 字段名称:{list(df.columns)}
- 前 5 行数据:
{df.head().to_string()}"""
print(info)
return info
@tool
def analyze_excel_data(file_path: str) -> str:
"""
分析 Excel 数据的核心信息,包括均值、中位数、异常值等(针对数值型字段)
Args:
file_path: Excel 文件路径(如 ./test.xlsx)
Returns:
数据详细分析结果
"""
if not os.path.exists(file_path):
return f"❌ 错误:文件{file_path}不存在,请检查路径是否正确"
df = pd.read_excel(file_path)
numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns
if len(numeric_cols) == 0:
return "❌ 错误:Excel 文件中无数值型字段,无法进行数据分析"
analysis = f"📊 Excel 数据详细分析结果(仅数值型字段):\n"
for col in numeric_cols:
analysis += f"- {col}:\n"
analysis += f" 均值:{df[col].mean():.2f}\n"
analysis += f" 中位数:{df[col].median():.2f}\n"
analysis += f" 最小值:{df[col].min()}\n"
analysis += f" 最大值:{df[col].max()}\n"
mean = df[col].mean()
std = df[col].std()
outliers = df[(df[col] < mean - 2 * std) | (df[col] > mean + 2 * std)]
analysis += f" 异常值数量:{len(outliers)}\n\n"
print(analysis)
return analysis
@tool
def generate_excel_report(file_path: str, save_path: str = "./report.png") -> str:
"""
生成 Excel 数据的可视化报表(柱状图),保存到指定路径
Args:
file_path: Excel 文件路径(如 ./test.xlsx)
save_path: 报表保存路径(默认 ./report.png)
Returns:
报表生成结果
"""
if not os.path.exists(file_path):
return f"❌ 错误:文件{file_path}不存在,请检查路径是否正确"
df = pd.read_excel(file_path)
numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns
if len(numeric_cols) == 0:
return "❌ 错误:Excel 文件中无数值型字段,无法生成报表"
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(10, 6))
plt.bar(df.index, df[numeric_cols[0]], color='#1f77b4', alpha=0.8)
plt.title(f'{numeric_cols[0]} 数据分布', fontsize=14)
plt.xlabel('索引', fontsize=12)
plt.ylabel(numeric_cols[0], fontsize=12)
plt.grid(axis='y', alpha=0.3)
plt.savefig(save_path, dpi=300, bbox_inches='tight')
plt.close()
result = f"✅ 可视化报表已生成,保存路径:{os.path.abspath(save_path)}"
print(result)
return result
@tool
def save_analysis_result(content: str, save_path: str = "./analysis_result.txt") -> str:
"""
将数据分析结果保存到文本文件中
Args:
content: 要保存的分析结果内容
save_path: 保存路径(默认 ./analysis_result.txt)
Returns:
保存结果
"""
with open(save_path, 'w', encoding='utf-8') as f:
f.write(content)
result = f"✅ 分析结果已保存,保存路径:{os.path.abspath(save_path)}"
print(result)
return result
excel_tools = [read_excel, analyze_excel_data, generate_excel_report, save_analysis_result]
3.3.2 Agent 核心逻辑:agent_core.py(调度中心)
整合 Python 工具、大模型和记忆模块,创建 Agent,实现自主规划任务、调用工具,代码如下:
from langchain.agents import AgentExecutor, create_openai_tools_agent
from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain.memory import VectorStoreRetrieverMemory
from langchain.vectorstores import Chroma
from langchain.embeddings.openai import OpenAIEmbeddings
from tools import excel_tools
from dotenv import load_dotenv
import os
load_dotenv()
llm = ChatOpenAI(
model="gpt-3.5-turbo",
temperature=0.4,
api_key=os.getenv("OPENAI_API_KEY")
)
embeddings = OpenAIEmbeddings()
vector_store = Chroma(
embedding_function=embeddings,
persist_directory="./agent_memory",
collection_name="excel_agent_memory"
)
vector_store.persist()
retriever = vector_store.as_retriever(search_kwargs={"k": 2})
memory = VectorStoreRetrieverMemory(
retriever=retriever,
memory_key="chat_history",
input_key="input",
output_key="output"
)
prompt = ChatPromptTemplate.from_messages([
("system", """你是一个专业的 Excel 处理 AI 智能体,基于 Python 实现,负责帮助用户自动处理 Excel 相关任务。
工作规则:
1. 你的核心工具是 python 的 pandas、matplotlib 库,所有 Excel 操作都通过调用提供的工具完成;
2. 接收用户指令后,先拆解任务步骤(例如:读取 Excel→分析数据→生成报表→保存结果),再逐步调用工具;
3. 调用工具前,必须检查参数是否正确(如文件路径是否合理),若参数缺失,及时询问用户;
4. 每次执行完一个工具,查看返回结果,确认无错误后,再执行下一个步骤;
5. 利用记忆模块,记住之前处理过的文件路径、分析结果,避免重复操作;
6. 最终将所有结果整理成清晰的文字,反馈给用户,包括文件保存路径、核心分析结论。"""),
MessagesPlaceholder(variable_name="chat_history"),
("user", "{input}"),
MessagesPlaceholder(variable_name="agent_scratchpad")
])
agent = create_openai_tools_agent(
llm=llm,
tools=excel_tools,
prompt=prompt
)
agent_executor = AgentExecutor(
agent=agent,
tools=excel_tools,
memory=memory,
verbose=True,
handle_parsing_errors=True
)
def run_excel_agent(user_input: str):
try:
print(f"\n📋 用户指令:{user_input}")
print("🚀 Agent 开始执行任务...\n")
result = agent_executor.invoke({"input": user_input})
print(f"\n✅ 任务执行完成!")
print(f"📄 最终结果:{result['output']}")
return result
except Exception as e:
error_msg = f"❌ 任务执行失败:{str(e)}"
print(error_msg)
return {"output": error_msg}
3.3.3 入口文件:main.py(运行 Agent,新手直接运行)
简单的入口函数,运行后输入指令,即可让 Agent 自动处理 Excel 任务,代码如下:
from agent_core import run_excel_agent
if __name__ == "__main__":
print("🎉 Python+Excel 处理 Agent 已启动!")
print("💡 新手测试指令推荐:读取当前目录下的 test.xlsx 文件,分析数据,生成报表,然后保存分析结果")
print("❌ 输入'退出'即可结束程序\n")
while True:
user_input = input("你:")
if user_input == "退出":
print("👋 程序已结束,再见!")
break
run_excel_agent(user_input)
3.4 运行测试(新手必看,验证成果)
所有代码编写完成后,按以下步骤运行,验证 Agent 是否能正常工作:
- 在项目根目录(
excel-agent)中,创建 test.xlsx 文件,填入测试数据(例如:姓名、年龄、成绩三列,10 条数据);
- 打开终端,激活虚拟环境(参考 2.2 步骤,终端显示
(agent-env));
- 进入项目根目录,输入命令:
python main.py;
- 当出现'你:'时,输入测试指令:
读取当前目录下的 test.xlsx 文件,分析数据,生成报表,然后保存分析结果
3.5 成果验证(新手必做)
运行成功后,打开项目根目录,会看到 3 个新增文件:
agent_memory/:Chroma 记忆模块存储的文件,记录 Agent 的操作历史;
report.png:生成的可视化报表(柱状图);
analysis_result.txt:保存的数据分析结果。
打开这 3 个文件,确认内容正确,就说明你的第一个 Python+Agent 智能体搭建成功了!
四、2026 年 Python+Agent 新手进阶路线
搭建完第一个 Agent 后,可按以下路线进阶,逐步提升能力,贴合技术趋势,避免盲目学习:
- 基础阶段(1-2 周):熟练掌握本文的 Excel 处理 Agent,能独立修改工具(如增加 Excel 筛选、排序功能),理解 Agent 的核心流程;
- 进阶阶段(2-4 周):学习 RAG 检索增强技术,搭建本地知识库 Agent(上传 PDF、Word,实现智能查询),掌握多工具组合使用;
- 提升阶段(1-2 个月):学习多 Agent 协作(用 LangChain+AutoGen 搭建多 Agent 团队),实现更复杂的任务(如办公自动化全流程);
- 实战阶段(长期):结合自身需求,开发实用 Agent(如代码辅助 Agent、客服 Agent),尝试部署到服务器,实现 24 小时自动运行。
结尾
AI Agent 的核心竞争力,不再是'会用框架',而是'能用 Python 落地解决实际问题'。对于新手来说,无需畏惧复杂的技术概念,从一个简单的场景入手,逐步积累经验,就能快速掌握 Python+Agent 的核心能力。
本文的代码可直接复制运行,新手可根据自身需求修改工具(如替换为处理 Word、PDF 的工具),实现个性化落地。如果在搭建过程中遇到问题,欢迎在评论区留言交流!
相关免费在线工具
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online