AI Agent 是 2026 年最热门的技术方向——和聊天机器人不同,Agent 能自主规划任务、调用工具、多步执行直到完成目标。微软 2026 年 8 月开源的 18 课 Agent 教程获得了 7.1 万 Star,说明这个领域的需求有多大。本教程带你从零构建第一个 Agent。
Agent 的核心组成
- 大脑(LLM):大语言模型负责理解、推理和决策。可以是 GPT-4/Claude 或本地 Ollama
- 工具(Tools):搜索网页、执行代码、读写文件、调用 API 等能力
- 记忆(Memory):短期记忆(对话历史)+ 长期记忆(向量数据库存储的知识)
- 规划(Planning):把复杂任务拆解为子任务,按序或并行执行
第一步:环境准备
- 安装 Python 3.10+ 和 pip
- pip install langchain langchain-openai langchain-community
- 设置 OpenAI API Key:export OPENAI_API_KEY=sk-xxx(或用本地 Ollama 替代)
- 安装工具依赖:pip install duckduckgo-search requests beautifulsoup4
第二步:定义工具
Agent 的能力取决于你给它什么工具。用 LangChain 的 @tool 装饰器定义:
from langchain.tools import tool
from duckduckgo_search import DDGS
@tool
def web_search(query: str) -> str:
"""搜索互联网获取最新信息"""
with DDGS() as ddgs:
results = list(ddgs.text(query, max_results=3))
return '\n'.join(f"{r['title']}: {r['body'][:100]}" for r in results)
@tool
def calculate(expression: str) -> str:
"""计算数学表达式"""
try:
result = eval(expression) # 实际使用需做安全过滤
return f"结果: {result}"
except Exception as e:
return f"计算错误: {e}"第三步:创建 Agent
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
# 初始化模型
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
# 工具列表
tools = [web_search, calculate]
# 系统提示词
prompt = ChatPromptTemplate.from_messages([
("system", "你是一个能搜索网页和计算的 AI 助手。根据用户问题,决定使用哪个工具。"),
("user", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
# 创建 Agent
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)第四步:运行 Agent
# Agent 会自主决定使用哪个工具
result = executor.invoke({"input": "2026 年中国 GDP 是多少?除以 14 亿人口人均多少?"})
print(result["output"])Agent 执行过程:1)理解问题需要两步——先查 GDP,再算人均;2)调用 web_search 搜索「2026 年中国 GDP」;3)拿到结果后调用 calculate 计算 GDP/14亿;4)组织答案输出。全程自主决策,不需要你写 if-else 逻辑。
第五步:加入记忆
上面的 Agent 每次对话都是独立的。加入对话历史让它有记忆:
- 短期记忆:LangChain 的 ConversationBufferMemory,保留最近 N 轮对话
- 长期记忆:用 ChromaDB 向量数据库存储历史对话,按相关性检索
- 知识库:上传文档到向量数据库,Agent 可检索文档内容回答问题(RAG)
第六步:部署和进阶
- FastAPI 封装:把 Agent 包成 REST API,供其他应用调用
- Gradio/Streamlit:快速搭建网页对话界面
- 多 Agent 协作:用 LangGraph 实现多个 Agent 分工合作(一个搜索、一个分析、一个写作)
- 接入 MCP 协议:让你的 Agent 兼容 Claude、Cursor 等平台的工具生态
Agent 开发的核心不是写代码,而是设计工具和提示词。一个设计良好的工具集 + 清晰的系统提示词,比复杂的代码架构更重要。建议从简单的两三个工具开始,逐步增加复杂度。