前几天刷推特看到好多大佬在聊 AI Agent,什么 AutoGPT、LangChain、CrewAI…看得我一脸懵逼 😵💫。作为一只菜菜的前端,我决定硬着头皮冲一冲,记录一下我的入坑过程~
🤔 首先,啥是 Agent?
简单说,Agent 就是一个能自己思考 + 自己行动的 AI 程序。我们平时用的 ChatGPT 是「你问一句它答一句」,但 Agent 不一样,你给它一个目标,它会自己拆解任务、调用工具、循环执行,直到把事情搞定!
💡 形象一点:普通 LLM 是
问答题选手,Agent 是项目经理—— 它会自己列 plan、分步骤、找工具、最后交付结果。🧩 Agent 的核心三要素
看了几天论文和开源代码,我总结 Agent 主要由三块组成:
- LLM 大脑:负责推理和决策,比如 Claude、GPT-4o。
- 工具集 (Tools):搜索引擎、代码执行器、文件读写…让 Agent 能干实事。
- 记忆 (Memory):短期记忆(上下文) + 长期记忆(向量数据库),让 Agent 不会「金鱼脑」。
🛠️ 动手:用 Python 搭一个最简 Agent
废话不多说,直接上代码!我用的环境是 Python 3.11 + OpenAI SDK,超级简单 👇
# 一个超级 mini 的 Agent 实现 ✨
from openai import OpenAI
client = OpenAI(api_key="sk-xxx")
# 1. 定义工具:让 Agent 能查天气
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
},
"required": ["city"]
}
}
}]
# 2. 让模型决定要不要用工具
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user",
"content": "杭州今天天气怎么样?"}],
tools=tools
)
# 3. 模型会返回 tool_calls,我们执行它!
print(response.choices[0].message)
跑起来之后我惊了 🤯 —— 模型真的自己判断出要调用 get_weather,并且参数传了 杭州!这就是 Agent 的雏形啊!
💥 踩坑记录(血泪史)
- 坑1:一开始 API key 直接硬编码在代码里,推到 GitHub 差点被扫号 😭。现在都用
.env+python-dotenv了。 - 坑2:Tool 的 description 写得含糊,模型经常选错工具。教训:描述越精确,Agent 越聪明。
- 坑3:忘记处理
tool_calls为空的分支,程序直接 NPE…调试了两小时 🥲。
🌟 小飞感悟:Agent 开发70% 是 prompt 工程,30% 才是写代码。把工具描述、系统 prompt 写清楚,比堆复杂逻辑重要 100 倍!
🚀 下一步计划
这个 demo 还超级简陋,接下来打算:
- ✅ 加入 ReAct 循环(Thought → Action → Observation)
- ✅ 用 ChromaDB 做长期记忆
- ✅ 接入多模态工具(看图、读 PDF)
- ✅ 部署成一个微信机器人给同学们玩 🎉
好啦,今天的分享就到这里~ 代码已经传到我的 GitHub 了(链接在文末),欢迎 star⭐ 和提 issue!我们下篇文章见 👋