跳到主要内容Python+Agent 入门实战:搭建可复用 AI 智能体 | 极客日志PythonAI算法
Python+Agent 入门实战:搭建可复用 AI 智能体
Python Agent 技术结合大模型与 Python 生态实现自主任务执行。从零搭建环境,配置 OpenAI API,利用 LangChain 框架开发自动化 Excel 处理智能体。涵盖工具模块编写、核心逻辑调度及记忆存储机制,提供可直接运行的代码示例与测试验证步骤,帮助开发者快速掌握 Agent 构建流程并拓展至 RAG 或多 Agent 协作场景。
赛博行者43 浏览 Python+Agent 入门实战:搭建可复用 AI 智能体
前言
随着技术发展,AI Agent 不再是大厂专属。借助 Python 生态和开源框架,开发者也能从 0 到 1 搭建属于自己的 AI 智能体。普通 Python 脚本是'写死的指令执行',而 Python+Agent 是'智能的任务闭环',核心优势在于自主决策、自动执行、可复用及可扩展。
一、先理清: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 记忆,配置简单)。
二、环境搭建:10 分钟搞定 Python+Agent 开发环境
2.1 第一步:安装 Python
- 下载地址:Python 官方下载页,选择 Python 3.11.x 版本;
- 安装时勾选'Add Python to PATH',点击'Install Now';
- 验证是否安装成功:打开终端输入
python --version,输出 Python 3.11.x 即为成功。
2.2 第二步:创建虚拟环境
虚拟环境能隔离不同项目的依赖,避免冲突。
python -m venv agent-env
agent-env\Scripts\activate
agent-env/bin/activate
source
2.3 第三步:安装核心依赖包
激活虚拟环境后,复制以下命令一次性安装所有需要的依赖:
pip install langchain openai chromadb python-dotenv pandas openpyxl
说明:pandas 和 openpyxl 用于后续自动化办公 Agent 处理 Excel,提前安装,避免后续报错。
2.4 第四步:配置 OpenAI API Key
- 注册/登录 OpenAI 账号:前往 OpenAI 官网;
- 创建 API Key:登录后,点击右上角头像→View API Keys→Create new secret key,复制生成的 API Key;
- 配置 API Key:在项目根目录下创建一个名为
.env 的文件,写入以下内容(替换为你的 API Key):
OPENAI_API_KEY=your_api_key_here
三、实战环节:Python+LangChain,搭建第一个 AI 智能体
本次实战目标:搭建一个自动化 Excel 处理 Agent,功能包括:读取 Excel 文件、分析数据、生成可视化报表、保存结果。
3.1 实战架构设计
核心分为 5 个模块,形成'接收需求→规划任务→执行操作→记忆结果→反馈输出'的闭环。
- 用户输入指令:Agent 接收指令,解析意图。
- 规划模块:拆解任务(读取 Excel→分析数据→生成报表→保存结果)。
- 工具模块:调用 Python 工具执行子任务。
- 记忆模块:存储数据信息、操作记录(Chroma)。
- 反馈结果给用户:任务完成。
3.2 项目结构
项目结构简洁,共 4 个文件,新手可直接在桌面创建文件夹(命名为 excel-agent),然后创建以下文件:
excel-agent/
├── .env
├── tools.py
├── agent_core.py
├── main.py
└── test.xlsx
测试用 Excel 文件:创建一个 test.xlsx,包含'姓名、年龄、成绩'三列,填入 10-20 条测试数据。
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 文件内容,返回数据的基本信息"""
if not os.path.exists(file_path):
return f"❌ 错误:文件{file_path}不存在"
df = pd.read_excel(file_path)
info = f"✅ 成功读取文件:{file_path}\n- 行数:{len(df)} 列数:{len(df.columns)}\n- 字段:{list(df.columns)}\n- 前 5 行:\n{df.head().to_string()}"
print(info)
return info
@tool
def analyze_excel_data(file_path: str) -> str:
"""分析数值型字段的核心统计信息"""
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 not numeric_cols.empty:
analysis = "📊 数据分析结果:\n"
for col in numeric_cols:
analysis += f"- {col}:均值{df[col].mean():.2f},中位数{df[col].median():.2f},最值[{df[col].min()}-{df[col].max()}]\n"
print(analysis)
return analysis
return "❌ 无数值型字段,无法分析"
@tool
def generate_excel_report(file_path: str, save_path: str = "./report.png") -> str:
"""生成柱状图报表并保存"""
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 not numeric_cols.empty:
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.savefig(save_path, dpi=300, bbox_inches='tight')
plt.close()
return f"✅ 报表已保存:{os.path.abspath(save_path)}"
return "❌ 无数值型字段,无法生成报表"
@tool
def save_analysis_result(content: str, save_path: str = "./analysis_result.txt") -> str:
"""将分析结果保存到文本文件"""
with open(save_path, 'w', encoding='utf-8') as f:
f.write(content)
return f"✅ 结果已保存:{os.path.abspath(save_path)}"
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. 接收用户指令后,先拆解任务步骤,再逐步调用工具;
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 自动处理 Excel 任务。
from agent_core import run_excel_agent
if __name__ == "__main__":
print("🎉 Excel 处理 Agent 已启动!")
print("💡 测试指令:读取 test.xlsx,分析数据,生成报表并保存结果")
print("❌ 输入'退出'结束程序\n")
while True:
user_input = input("你:")
if user_input == "退出":
print("👋 程序结束!")
break
run_excel_agent(user_input)
3.4 运行测试
- 在项目根目录中,创建 test.xlsx 文件,填入测试数据;
- 打开终端,激活虚拟环境;
- 进入项目根目录,输入命令:
python main.py;
- 当出现'你:'时,输入测试指令:
读取当前目录下的 test.xlsx 文件,分析数据,生成报表,然后保存分析结果。
3.5 成果验证
运行成功后,打开项目根目录,会看到 3 个新增文件:
agent_memory/:Chroma 记忆模块存储的文件;
report.png:生成的可视化报表;
analysis_result.txt:保存的数据分析结果。
四、2026 年 Python+Agent 新手进阶路线
- 基础阶段(1-2 周):熟练掌握本文的 Excel 处理 Agent,能独立修改工具,理解 Agent 的核心流程;
- 进阶阶段(2-4 周):学习 RAG 检索增强技术,搭建本地知识库 Agent,掌握多工具组合使用;
- 提升阶段(1-2 个月):学习多 Agent 协作(用 LangChain+AutoGen 搭建多 Agent 团队),实现更复杂的任务;
- 实战阶段(长期):结合自身需求,开发实用 Agent,尝试部署到服务器,实现 24 小时自动运行。
结语
AI Agent 的核心竞争力,在于能用 Python 落地解决实际问题。对于新手来说,无需畏惧复杂的技术概念,从一个简单的场景入手,逐步积累经验,就能快速掌握 Python+Agent 的核心能力。本文的代码可直接复制运行,新手可根据自身需求修改工具,实现个性化落地。
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- Gemini 图片去水印
基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online