AI Agent 是 2026 年最热门的技术方向——和聊天机器人不同,Agent 能自主规划任务、调用工具、多步执行直到完成目标。微软 2026 年 8 月开源的 18 课 Agent 教程获得了 7.1 万 Star,说明这个领域的需求有多大。本教程带你从零构建第一个 Agent。

Agent 的核心组成

  • 大脑(LLM):大语言模型负责理解、推理和决策。可以是 GPT-4/Claude 或本地 Ollama
  • 工具(Tools):搜索网页、执行代码、读写文件、调用 API 等能力
  • 记忆(Memory):短期记忆(对话历史)+ 长期记忆(向量数据库存储的知识)
  • 规划(Planning):把复杂任务拆解为子任务,按序或并行执行

第一步:环境准备

  1. 安装 Python 3.10+ 和 pip
  2. pip install langchain langchain-openai langchain-community
  3. 设置 OpenAI API Key:export OPENAI_API_KEY=sk-xxx(或用本地 Ollama 替代)
  4. 安装工具依赖: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 开发的核心不是写代码,而是设计工具和提示词。一个设计良好的工具集 + 清晰的系统提示词,比复杂的代码架构更重要。建议从简单的两三个工具开始,逐步增加复杂度。