🤖 AI Agent 保姆级学习路线

从零基础到能落地一个 Agent:12 步手把手,每一步都附权威论文与官方规范、可复制代码、预期结果和自测清单

由 网络精灵 整理 · 2026-08-24 · AI 导航原创教程 · 参考 ReAct / RAG / Toolformer / Reflexion / AutoGen / AgentBench / OWASP LLM Top10 等

📑 目录

  1. 先看懂:Agent 的"思考-行动"循环
  2. 前置:环境准备(10 分钟搞定)
  3. 第 1 步:搞懂 Agent 到底是什么
  4. 第 2 步:建立 Agent 核心思维(规划 + 记忆)
  5. 第 3 步:Prompt 工程(让模型听你话)
  6. 第 4 步:RAG 检索增强(让 Agent 懂你的私有资料)
  7. 第 5 步:工具调用 / Function Calling / MCP
  8. 第 6 步:Agent 设计模式(ReAct / Plan / Reflexion)
  9. 第 7 步:多 Agent 协作
  10. 第 8 步:评估与优化(用数据说话)
  11. 第 9 步:安全、对齐与可靠性
  12. 第 10 步:部署与运维
  13. 第 11 步:实战项目(跑通一个真东西)
  14. 第 12 步:持续学习(不被甩下车)
  15. 附录:权威参考清单 + 资源
12
学习步骤
15
权威论文·规范
ReAct
Agent 基石(2022)
MCP
工具统一协议
OWASP
安全标准 LLM10

先看懂这张图:Agent 的"思考-行动"循环

保姆级第一眼:Agent 不是"一问一答",而是一个不断转圈的循环。把下图刻进脑子,后面 12 步全是在强化这个环里的某一格。

① 目标
② 规划
③ 调工具
④ 看结果
⑤ 再规划
↺ 回到 ②,直到目标达成才结束;中途失败则反思重试
这个环的每一格,后面都会单独成章:②规划 = 第 2 步,③④工具 = 第 5 步,⑤反思 = 第 6 步 Reflexion,长期记忆 = 第 2/4 步。先有全局,再钻细节。

0前置:环境准备(10 分钟搞定)

本教程所有代码用 Python 3.10+,模型以 OpenAI 兼容接口为例(DeepSeek / 硅基流动 / 智谱都兼容同一套调用方式)。

1. 装 Python 与包

# 确认 Python 版本
python --version

# 建个虚拟环境(推荐,避免污染全局)
python -m venv agent-env
# Windows 激活:
agent-env\Scripts\activate
# macOS / Linux 激活:
source agent-env/bin/activate

# 装常用库
pip install openai langchain langchain-community chromadb

2. 配置 API Key(绝不写进代码)

# 把 Key 放进环境变量(每次开终端先 export)
export OPENAI_API_KEY="sk-你的key"
# 用兼容端点(如 DeepSeek)时额外指定 base_url
export OPENAI_BASE_URL="https://api.deepseek.com/v1"
Key 等同密码。不要写进 .py 文件、不要 commit 到 git。生产用 .env + python-dotenv,并把 .env 加入 .gitignore

3. 跑通第一个调用

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_BASE_URL"),  # 兼容端点,可留空用官方
)

resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "用一句话解释什么是 AI Agent"}],
)
print(resp.choices[0].message.content)
预期:打印出一段关于 Agent 的解释文字,说明环境 OK,可以开始 12 步了。

1第 1 步:搞懂 Agent 到底是什么

权威出处:Lilian Weng《LLM Powered Autonomous Agents》(2023, lilianweng.github.io)——业界最被引用的 Agent 架构综述,定义 Agent = 规划 + 记忆 + 工具使用。Park et al.《Generative Agents》(2023, Stanford) 奠定 Agent 社会性研究。

保姆级理解

普通聊天:你问 → 它答 → 结束(单次映射)。
Agent:你给目标 → 它规划 → 调工具 → 看结果 → 再规划 → … → 目标达成(循环)。

记三个词就够了:规划(想下一步)、记忆(记得上下文)、工具(能干实事)

动手:用 5 行代码体验"Agent 感"

# 给模型一个会"自己决定要不要查"的设定,看它如何分步回答
prompt = "北京今天适合穿什么?如果你不知道天气,请说'我需要查天气工具'"
# 直接问 LLM(没接工具)→ 它大概率会说"我需要查天气工具"
# 这就是 Agent 的起点:知道自己"能力边界"

✅ 自测清单

2第 2 步:建立 Agent 核心思维(规划 + 记忆)

权威出处:Yao et al.《ReAct》(2022, ICLR 2023)——推理与行动交错。Wei et al.《Chain-of-Thought》(2022, NeurIPS)。Yao et al.《Tree of Thoughts》(2023, NeurIPS)——推理建模成树,支持回溯。Packer et al.《MemGPT》(2023)——操作系统式记忆管理。

保姆级实操:手动拆解一个任务

拿"帮我总结本周团队群消息并写一封周报邮件"练手,把它拆成 Agent 能执行的步骤:

  1. 读取企业微信「团队群」最近 7 天消息
  2. 抽取关键结论与待办
  3. 调邮件工具,起草周报
  4. 发给你确认(人工审批)
  5. 确认后真正发送
这就是"规划"。记忆分两层:短期(本次对话上下文)、长期(把历史周报存进向量库,下周的 Agent 可参考)。

✅ 自测清单

3第 3 步:Prompt 工程(让模型听你话)

权威出处:Wei et al.《Chain-of-Thought》(2022)。Kojima et al.《Large Language Models are Zero-Shot Reasoners》(2022)——仅 "Let's think step by step" 即激活推理。Wang et al.《Self-Consistency》(2022, ICLR 2023)——多次采样取多数投票。OpenAI / Anthropic 官方 Prompt 指南(platform.openai.com/docs、docs.anthropic.com)。

保姆级实操:让模型稳定输出 JSON

from openai import OpenAI
import os, json
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"), base_url=os.getenv("OPENAI_BASE_URL"))

sys = """你是任务拆解器。用户输入一句话目标,你输出 JSON:
{"steps": ["步骤1","步骤2",...], "need_tool": true/false}
只输出 JSON,不要解释。"""

user = "查北京天气并邮件发给我"
resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role":"system","content":sys},{"role":"user","content":user}],
    response_format={"type":"json_object"},  # 强制 JSON 输出
)
data = json.loads(resp.choices[0].message.content)
print(data)
预期输出形如 {"steps":["查北京天气","起草邮件","发送"],"need_tool":true}。这就是 Agent 后续做"要不要调工具"判断的数据来源。
模型偶尔会"多嘴"输出解释。用 response_format=json_object 或 function calling 约束,比靠 prompt 说"只输出 JSON"更稳。

✅ 自测清单

4第 4 步:RAG 检索增强(让 Agent 懂你的私有资料)

权威出处:Lewis et al.《Retrieval-Augmented Generation》(2020, NeurIPS)——RAG 原论文。Karpukhin et al.《Dense Passage Retrieval / DPR》(2020, EMNLP)。评测框架 RAGAS(arXiv 2023)。

保姆级实操:10 行搭最小 RAG

from langchain_community.vectorstores import Chroma
from langchain.text_splitter import RecursiveCharacterTextSplitter

# 1) 切片:把文档切成 300 字左右的小块
text = open("产品手册.txt", encoding="utf-8").read()
chunks = RecursiveCharacterTextSplitter(chunk_size=300, chunk_overlap=30).split_text(text)

# 2) 向量化并入库
# 中文推荐本地 BGE(首次自动下载,离线可用,无需任何 Key/联网)
from langchain_community.embeddings import HuggingFaceEmbeddings
embed = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5")
# 若改用 OpenAI embedding(需 OPENAI_API_KEY,与它用的是哪个 base_url 无关):
# from langchain_community.embeddings import OpenAIEmbeddings
# embed = OpenAIEmbeddings()
vec = Chroma.from_texts(chunks, embed, persist_directory="./db")

# 3) 检索:问一个问题,取最相关的 3 块
hits = vec.similarity_search("如何重置密码?", k=3)
context = "\n---\n".join(h["page_content"] for h in hits)

# 4) 拼进 prompt 让 LLM 回答(此处省略 chat 调用,同第3步)
print("喂给模型的资料:\n", context)
预期:打印出产品手册里和"重置密码"最相关的 3 段原文。把这段当作上下文喂给 LLM,它就能基于"你的资料"而非"它的训练记忆"回答,避免编造。
RAG 上限由检索质量决定,不是 LLM。切片太大/太小、embedding 模型选错,都会掉准确率。中文优先用 BGE / m3e 类 embedding。

✅ 自测清单

5第 5 步:工具调用 / Function Calling / MCP

权威出处:OpenAI《Function calling》官方文档(platform.openai.com/docs)。Anthropic《Tool Use》(docs.anthropic.com)。MCP(Model Context Protocol):Anthropic 2024-11 发布,规范站 modelcontextprotocol.io——把工具以统一协议暴露给任意 Agent。

保姆级实操:注册一个"查天气"工具

tools = [{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "查询某城市当前天气",
    "parameters": {
      "type": "object",
      "properties": {"city": {"type":"string","description":"城市名,如 北京"}},
      "required": ["city"]
    }
  }
}]

# 让模型决定要不要调工具
resp = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role":"user","content":"北京今天天气怎么样?"}],
    tools=tools,
)
msg = resp.choices[0].message
if msg.tool_calls:
    print("模型要调工具:", msg.tool_calls[0].function.name, msg.tool_calls[0].function.arguments)
    # 这里你真实执行 get_weather(city),再把结果填回对话,让模型继续
预期:模型返回 tool_calls,指明要调 get_weather 并带参数 {"city":"北京"}。你的程序执行后把结果回填,模型据此生成最终回答——这就是 Agent "动手"的最小闭环。
危险工具(发邮件/删除/转账)必须加人工确认;参数要严格按 JSON Schema 校验,别让模型传错类型。

MCP 进阶(与你站企微实战同一套路)

企业微信、GitHub、Slack 等做成 MCP Server 后,dsh / Claude / Codex 等任意支持 MCP 的 Agent 都能零适配调用,工具名形如 mcp__wecom__send_message。详见 企业微信 × dsh 实战

✅ 自测清单

6第 6 步:Agent 设计模式(ReAct / Plan / Reflexion)

权威出处:Yao et al.《ReAct》(2022)。Wang et al.《Plan-and-Solve》(2023, EMNLP)。Shinn et al.《Reflexion》(2023, NeurIPS)——用"语言"做自我反思纠错,无需微调。

三种模式对比(权威)

模式提出适用风险
ReActYao 2022探索型、工具密集易空转,需 max_steps
Plan-and-SolveWang 2023多步明确任务计划僵化难应变
ReflexionShinn 2023需高质量产出多一轮调用增成本

保姆级实操:给 Agent 加"反思"一步

# 伪代码:生成答案后,让模型自我检查
draft = llm("写一段产品介绍:" + topic)
review = llm(f"检查下面这段文字有无事实错误/语气问题,给出修改建议:\n{draft}")
final = llm(f"根据修改建议重写:\n{draft}\n建议:{review}")
# 这就是 Reflexion 的极简版:生成 → 反思 → 修订
预期:final 比 draft 更少错误、更贴合要求。生产级可用 LangGraph / AutoGen 把这些步骤编排成图。

✅ 自测清单

7第 7 步:多 Agent 协作

权威出处:Microsoft《AutoGen》(2023, github.com/microsoft/autogen)。Qian et al.《ChatDev》(2024, ACL)——"虚拟软件公司"角色链。Li et al.《CAMEL》(2023)——角色扮演协作奠基。

保姆级角色设计

角色职责
Planner 主管拆解任务、分发、汇总
Researcher查资料 / RAG 检索
Writer起草内容
Critic审查、提修改意见
Executor调工具执行
角色边界必须正交(别让 Writer 和 Critic 职责重叠);必须设总步数 / 总 token 上限,否则成本爆炸。dsh 的 Subagent 编排即"主管-执行"模式实现。

✅ 自测清单

8第 8 步:评估与优化(用数据说话)

权威出处:Liu et al.《AgentBench》(2023, ICLR 2024)——首个系统性 Agent 基准。Zheng et al.《LLM-as-a-Judge / MT-Bench》(2023)——用强 LLM 当裁判。RAGAS(arXiv 2023)——RAG 评测。

保姆级实操:建 20 题评测集

# 评测集示例(questions.json)
[
  {"q":"查北京天气并邮件发我","expect_tool":"get_weather"},
  {"q":"我们的退款政策是什么","expect_src":"退款政策.txt"},
  {"q":"随便写首诗","expect_tool":null}
]
# 跑 Agent,对比实际输出与 expect,统计:
# 任务完成率 / 工具准确率 / 幻觉率 / 平均步数 / 成本
预期:得到一张分数表。优化一个点(如改 prompt)后重跑,看分数是否上升——用数据驱动,不靠感觉。

✅ 自测清单

9第 9 步:安全、对齐与可靠性

权威出处:OWASP Top 10 for LLM Applications(owasp.org)——LLM01 提示注入、LLM02 敏感信息泄露、LLM06 过度代理(权限过大)。Ganguli et al.《Red Teaming Language Models》(2022, Anthropic)。Anthropic MCP 安全模型(modelcontextprotocol.io):授权 / 范围 / 审计。

保姆级安全清单

风险标准对策
提示注入LLM01输入隔离、工具描述不信任用户文本
权限过大LLM06最小权限 + 关键动作人工确认
数据泄露LLM02输出过滤、脱敏、Key 走环境变量
永远不把管理员权限给 Agent;Secret 走环境变量不进代码库;生产必须有审计日志。红队测试:尝试用提示注入让 Agent 泄露 System Prompt 或越权。

✅ 自测清单

10第 10 步:部署与运维

权威实践:来自 LangChain / Anthropic 生产指南。无状态 API 化、异步流式、可观测性(LangSmith / Langfuse)、成本控制。

保姆级实操:FastAPI 封装 + Docker

# app.py
from fastapi import FastAPI
from openai import OpenAI
import os
app = FastAPI()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"), base_url=os.getenv("OPENAI_BASE_URL"))

@app.post("/agent")
def run_agent(goal: str):
    # 这里放你的 Agent 循环逻辑(规划→工具→反思)
    resp = client.chat.completions.create(model="deepseek-chat", messages=[{"role":"user","content":goal}])
    return {"result": resp.choices[0].message.content}

# 启动:uvicorn app:app --host 0.0.0.0 --port 8000
# Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn","app:app","--host","0.0.0.0","--port","8000"]
# requirements.txt(Dockerfile 里 pip install -r 需要它)
fastapi
uvicorn[standard]
openai
预期:docker build -t myagent . && docker run -p 8000:8000 myagent 后,POST /agent 即可调用。会话状态用 thread_id 存 Redis,服务本身无状态便于扩缩。
Agent 响应慢,用 SSE/WebSocket 流式返回中间步骤;设 per-request token 与 step 上限防死循环烧钱;上线前必须有熔断降级。

✅ 自测清单

11第 11 步:实战项目(跑通一个真东西)

权威案例:Cognition《Devin》(2024) 首个 AI 软件工程师;OpenAI/Anthropic《Operator / Computer-Use》让 Agent 操作真实 GUI。你站已落地的 企业微信 × dsh 实战 是办公 Agent 标准范式。

保姆级 MVP 选题(从易到难)

  1. 个人日报助手:读群消息→生成日报→发你确认
  2. 智能客服:RAG + 工具调用,回答产品问题,必要时转人工
  3. 内容生成器:选题→查资料→写稿→自检
先做 MVP 跑通核心链路,再逐步加功能。真实用户的问题比测试集刁钻 10 倍,务必留兜底。

✅ 自测清单

12第 12 步:持续学习(不被甩下车)

权威信息源:arXiv cs.AI/cs.CL(订阅 "agent");modelcontextprotocol.io(MCP 更新);owasp.org(LLM Top 10 修订);lilianweng.github.io(Agent/RAG 综述);你站 /news/ 持续追踪 Agent 开放动态。

保姆级节奏

✅ 自测清单

附录:权威参考清单 + 资源

A. 奠基论文

论文作者 / 年贡献
Retrieval-Augmented Generation (RAG)Lewis et al., 2020RAG 原论文
ReActYao et al., 2022推理+行动交错
Chain-of-ThoughtWei et al., 2022思维链
Tree of ThoughtsYao et al., 2023树状推理+回溯
ReflexionShinn et al., 2023语言自我反思
Generative AgentsPark et al., 2023社会性智能体
AgentBenchLiu et al., 2023Agent 基准
LLM-as-a-JudgeZheng et al., 2023LLM 当裁判

B. 官方规范与文档(可核验站点)

资源域名
MCP 规范modelcontextprotocol.io
OpenAI 文档(Function Calling / Prompt)platform.openai.com/docs
Anthropic 文档(Tool Use / Prompt)docs.anthropic.com
LangChain / LangGraphdocs.langchain.com
AutoGengithub.com/microsoft/autogen
Agent 综述(Lilian Weng)lilianweng.github.io
LLM 安全标准owasp.org(LLM Top 10)

C. 站内互链教程

一句话收尾:Agent 不神秘,就是"LLM + 规划 + 记忆 + 工具"的循环。按这 12 步一层层打通,你就能从"会聊天"走到"能干活"。先跑通第 3、4、5 步的最小闭环,再回头补安全与部署。