一篇搞定 AI Agent 入门。读完这篇,Token、RAG、CoT、MCP、ReAct 这些黑话再也不会绕晕你。
📋 目录
- [LLM 基础:AI 的"大脑"](#LLM 基础:AI 的"大脑" "#%E4%B8%80-llm-%E5%9F%BA%E7%A1%80ai-%E7%9A%84%E5%A4%A7%E8%84%91")
- [Prompt 工程:跟 AI 对话的艺术](#Prompt 工程:跟 AI 对话的艺术 "#%E4%BA%8C-prompt-%E5%B7%A5%E7%A8%8B%E8%B7%9F-ai-%E5%AF%B9%E8%AF%9D%E7%9A%84%E8%89%BA%E6%9C%AF")
- [Agent 核心:从问答到自主行动](#Agent 核心:从问答到自主行动 "#%E4%B8%89-agent-%E6%A0%B8%E5%BF%83%E4%BB%8E%E9%97%AE%E7%AD%94%E5%88%B0%E8%87%AA%E4%B8%BB%E8%A1%8C%E5%8A%A8")
- [记忆与检索:让 AI 有"记性"](#记忆与检索:让 AI 有"记性" "#%E5%9B%9B-%E8%AE%B0%E5%BF%86%E4%B8%8E%E6%A3%80%E7%B4%A2%E8%AE%A9-ai-%E6%9C%89%E8%AE%B0%E6%80%A7")
- [多 Agent 与协议:团队协作](#多 Agent 与协议:团队协作 "#%E4%BA%94-%E5%A4%9A-agent-%E4%B8%8E%E5%8D%8F%E8%AE%AE%E5%9B%A2%E9%98%9F%E5%8D%8F%E4%BD%9C")
- [Claude Code 生态速览](#Claude Code 生态速览 "#%E5%85%AD-claude-code-%E7%94%9F%E6%80%81%E9%80%9F%E8%A7%88")
- 生产落地:从能用到好用
- 安全与成本:不能忽视的红线
- 工程化思维:三层架构升级
- 总结与学习路径
一、LLM 基础:AI 的"大脑" 🧠
1. LLM(大语言模型)
GPT、Claude、Gemini 这类"给文字、回文字"的模型。核心认知:LLM 本身是纯函数:
lua
input prompt → output text
它不会自己上网、不会记住上次对话------这些都要外接系统来做。
2. Token:AI 的"货币单位" 💰
LLM 看到的不是"字",是 token(次字单位):
- 中文 1 个字 ≈ 1.5~2 token
- 英文 1 个 word ≈ 1.3 token
LLM 计费和上下文窗口都以 token 计算。"100 万 token context"≈ 75 万中文字。
💡 省钱提示:写 Prompt 时能用英文缩写就别写长中文,token 少了响应更快、账单更薄。
3. Context Window(上下文视窗)
LLM 一次能"看"多少 token。2026 前沿水平:
- Claude Sonnet 5 / Opus 5:1M
- GPT-5.6:1.05M
- Gemini 3.5 Flash:1M(Pro 系列上看 2M)
- xAI Grok 4.5:500K
但注意 :不是越大越好。超过某个长度后 LLM 会 "Lost in the Middle(在中间遗漏)"。
💡 实践建议:把最重要的指令放在 Prompt 开头和结尾,中间放辅助材料。
二、Prompt 工程:跟 AI 对话的艺术 🎨
4. Prompt 的基本结构
- System Prompt:角色设定("你是一位资深后端工程师......")
- User Prompt:这次的具体问题
5. Zero-shot / One-shot / Few-shot
这三个词的区别只在于你给几个范例:
| 类型 | 范例数 | 适用场景 |
|---|---|---|
| Zero-shot | 0 个 | 直接问,不给例子 |
| One-shot | 1 个 input→output 范例 | 简单格式引导 |
| Few-shot | 2-5 个范例 | 格式要求严的任务,准确度提升明显 |
markdown
# Few-shot 示例
把以下中文翻译成英文:
中文:你好 → 英文:Hello
中文:谢谢 → 英文:Thank you
中文:再见 → 英文:
6. Chain-of-Thought(CoT,思维链)
让 LLM "先想再答"------先输出推理过程,再给结论。
两种形式:
- Few-shot CoT:在 Prompt 里放带推理步骤的范例,让 LLM 模仿
- Zero-shot CoT :在 Prompt 结尾加一句 "Let's think step by step" 触发推理
⚠️ 代价:CoT 会增加输出 token 数,意味着更慢更贵,但准确度通常值得。
三、Agent 核心:从问答到自主行动 🤖
7. Agent(代理人)
以 LLM 为核心、能在循环中自主运行的系统。核心三要素:
| 要素 | 作用 |
|---|---|
| LLM | 推理 / 规划 / 决策 |
| Actions | 做事的手段(调用工具、写代码、查数据库等) |
| Loop | 心跳循环------感知 → 决策 → 行动 → 观察 → 重复 |
关键区别:
- 纯 LLM = 你问我答,单次交互
- Agent = 三要素 + 持续循环,直到目标达成或预算耗尽
📌 ReAct 是其中一种 Agent pattern,不是 Agent 的定义。CodeAct、computer-use、planning agent 都是 Agent。
8. Tool Use / Function Calling
让 LLM 调用你定义好的外部函数。LLM 回的不是文字而是 JSON:
json
{
"function": "search_weather",
"args": {
"city": "北京"
}
}
你的程序执行函数,把结果丢回 LLM,它再基于结果继续。
🔌 把 LLM 想成大脑,Tool Use 就是它的手脚和感官。
注意:Anthropic 叫 "Tool Use",OpenAI 叫 "Function Calling",API schema 略有不同,写跨厂商 SDK 时要对应好。
9. ReAct(Reasoning + Acting)
最经典的 Agent 模式:
erlang
Thought(思考)→ Action(调用工具)→ Observation(观察结果)→ Thought ...
一直 loop 到能给出最终答案。多数 Agent 框架内部都实作这个。
10. Structured Output(结构化输出)
强制 LLM 按固定 schema(如 JSON)输出,而不是自由文字。各家 API 都有 response_format 参数支持。Agent 框架几乎全靠这个跟 LLM 沟通。
11. Self-Refine(基础版反思)
Agent 自我评估上一轮输出、修改下一轮的做法:
Actor 出答案 → Critic 找问题 → Actor 看 feedback 再答
不需要持久记忆层,本质上是 ReAct 的 sibling pattern。Cursor / Cline 等工具每天都在跑这种变体。
四、记忆与检索:让 AI 有"记性" 🧠💾
12. Memory(记忆)------两种分类轴
"Memory" 常被混用,其实有 2 种正交分类:
时效轴:
- Short-term:当前对话上下文
- Long-term:跨 Session 持久保存
内容轴(CoALA 框架):
| 类型 | 含义 | 例子 |
|---|---|---|
| Working | 暂存信息 | 当前任务步骤 |
| Episodic | 过去经历 | 用户上次说了什么偏好 |
| Semantic | 事实知识 | 公司产品的技术参数 |
| Procedural | 怎么做 | 调用某 API 的标准流程 |
💡 Long-term memory 里可以同时包含 episodic + semantic + procedural。
13. RAG(检索增强生成)
解决 LLM 不知道你的私有 / 变动 / 过期资料。
两阶段架构:
阶段 1:Ingest(建库)
javascript
document → chunk(切块)→ embed(向量化)→ 存入 Vector DB
阶段 2:Query(查询)
css
question → embed → semantic search → top-K chunks → 塞进 Prompt → LLM 回答
14. Embedding(嵌入)
把文字 / 图片转成 N 维向量,让"意思接近"的东西距离更近。默认指 dense embedding (稠密向量)。另外还有 sparse embedding(BM25 / SPLADE 等,按字面 token 匹配)。
15. Vector DB(向量数据库)
存储 + 高效查询 embedding 的存储层。核心能力 = ANN(近似最近邻搜索),比暴力全扫快几百倍。
代表:Pinecone、Chroma、Qdrant、Weaviate、pgvector。
16. Chunking(切块)
把长文件切成适合 embedding 的小段(通常 200-1000 token)。切法直接影响 RAG 质量------切太碎丢脉络、切太长相关度模糊。
17. Hybrid Search(混合搜索)
语义搜索 + 关键字搜索(BM25)一起用 ,再 merge 排序。这是生产级 RAG 的默认标配,多半比单一方法准。
18. Reranking(重新排序)
第一轮检索捞出 top-50,再用更贵但更准的模型(cross-encoder)重排成 top-5 给 LLM。代表:Cohere Rerank、bge-reranker。
19. Contextual Retrieval
Anthropic 2024 提出的方法------给每个 chunk 加上"整份文件的脉络摘要"一起 embed,避免"这段文字拿出来不知道在讲什么"的问题。
20. Fine-tuning(模型微调)
拿自己的资料再训练模型,把知识"烧进"权重里。
| 方案 | 本质 | 适合 | 不适合 |
|---|---|---|---|
| RAG | 推理时塞资料进上下文,不改权重 | 最新事实、私有文档、频繁变动知识 | 极度复杂的格式要求 |
| Fine-tune | 再训练模型,知识烧进权重 | 稳定学会某种格式/风格/领域用语 | 塞"最新事实"(会过期且难更新) |
💡 黄金法则:Agent 场景先死磕 Prompt + RAG,真的不够才考虑 Fine-tuning。
21. Reflexion(完整版反思)
跟 Self-Refine 不同:Reflexion 需要 持久 episodic memory store 。Agent 跑完一次任务后,会把反思总结写进记忆,下一次任务开始时再检索进 Prompt。跨 trial 累积教训才是 Reflexion 的本质。
五、多 Agent 与协议:团队协作 👥
22. Multi-Agent(多 Agent)
多个 Agent 互相协作完成任务。常见 pattern:
- Supervisor + Worker:一个规划分派,其他执行
- Swarm(群集):平等 Agent 群,无固定主管
- Debate(辩论):多个 Agent 各持立场,最后共识
Handoff:一个 Agent 把任务交给另一个 Agent,涉及上下文传递和失败处理。
23. A2A(Agent-to-Agent Protocol)
Google 发起、Linux Foundation 治理的 Agent 间通信标准。2026 已达 v1.0,是 MCP(agent↔tool)的姊妹标准 ,用于 agent ↔ agent 通信。
六、Claude Code 生态速览 🛠️
24. MCP(Model Context Protocol)
Anthropic 2024 推出的开放协议,2025 年底捐给 Linux Foundation。把它想成 "LLM 的 USB 接口"。
标准化了 3 种原语:
| 原语 | 作用 |
|---|---|
| Tools | LLM 可调用的函数 |
| Resources | LLM 可读取的数据 |
| Prompts | 可复用的 Prompt 模板 |
架构:Server/Client 模式。Server 通过 stdio(本地)或 Streamable HTTP(远端)暴露。
25. Skills / SKILL.md
Claude Code 的"行为包"。一个 Skill = 一个文件夹,里面有 SKILL.md + 可选参考文件。
关键机制 :Claude Code 每次处理消息前,会扫描所有 Skill 的 frontmatter description------如果匹配当前情境,就自动载入。所以 description 写得好不好直接决定 skill 会不会被触发 。实务上以 "Use when ..." 开头最有效。
26. 其他实用概念
- CLAUDE.md:放在项目根目录,Claude Code 每次启动都读,写项目级规则
- Slash Command :以
/开头的指令,可自定义存到.claude/commands/<name>.md - Hooks :在特定事件前后执行脚本(如工具调用前拦截
rm -rf) - Subagent:Spawn 出来跑特定任务的子 Agent,有自己的上下文窗口
七、生产落地:从能用到好用 📈
27. Eval(评估框架)
针对 Agent 跑一组 test case,量化准确度 / 延迟 / 成本。没有 Eval 的 Agent 等于没有测试的代码。
常用工具:promptfoo、LangSmith、Langfuse。
28. Observability(可观测性)
把 Agent 内部每一步(哪个 LLM call、哪个 tool、什么结果)都记下来。出 bug 时能 replay。
29. Prompt Caching
LLM 把 prompt 前缀 cache 起来,下次同前缀只算 cache hit 的便宜价(Anthropic 90% off、OpenAI 50% off)。Long context + 重复 query 的场景可以省很多钱。
30. Computer Use(屏幕级 Agent)
通过 截图 → 视觉理解 → 算坐标 → 模拟键鼠 操作真实桌面应用。不靠 API,像人类一样看屏幕。
代表:Anthropic Claude Computer Use、OpenAI Codex desktop。
31. Browser Use(网页级 Agent)
操作网页,主要用 DOM-aware navigation(直接 query CSS selector)+ 必要时视觉 fallback。
代表开源:browser-use(★ 105k+)。
八、安全与成本:不能忽视的红线 ☠️
32. Prompt Injection(提示注入)
把恶意指令藏在 LLM 会读到的内容里(网页、文档、工具返回),诱导它无视原任务。
根因:LLM 分不清"系统指令"和"数据里夹带的指令"。
防御:最小权限、隔离不可信内容、高风险动作人审。
33. Lethal Trifecta(致命三角)
Simon Willison 提出:当 Agent 同时具备以下三种能力时,就可能被 prompt injection 操控去偷数据外传:
- 访问私密数据
- 接触不可信内容
- 对外通讯
防御:打断至少一环(常见:切断对外通讯或隔离不可信输入)。
34. Guardrails
防 LLM 做坏事的规则层------挡掉 prompt injection、PII 外流、有害输出等。
九、工程化思维:三层架构升级 🏗️
当你从"调 Prompt"走向"建产品",需要理解三层工程分工:
Layer 1:Prompt Engineering
工程字符串------怎么写 Prompt 让模型输出更好。
Layer 2:Context Engineering
工程信息------每次 LLM call 时,窗口里装什么信息(RAG 结果、记忆、工具定义、对话历史)。Karpathy 称之为"把刚好对下一步有用的信息填进窗口的精细艺术"。
Layer 3:Harness Engineering
工程执行与控制层------Agent loop、工具注册、上下文管理、权限、安全、重试、熔断......所有不是模型权重、也不是 Prompt 本身的代码。
Simon Willison:Coding Agent = LLM + Harness
延伸概念:
- Loop Engineering:设计 / 调校 Agent 的迭代循环本身------目标、工具、context 管理、终止条件、错误处理
- Graph Engineering:把 Agent 执行流程设计成显式的图(node = 步骤,edge = 转移条件),状态可 checkpoint、可 replay
十、总结与学习路径 🗺️
核心概念速查表
| 概念 | 一句话理解 |
|---|---|
| LLM | 纯文字函数,input → output |
| Token | AI 的计费单位,中文约 1.5-2 token/字 |
| Context Window | AI 一次能看多少字,注意"中间迷失" |
| Few-shot | 给例子,AI 学得快 |
| CoT | 让 AI 先想再答,准确度↑ token↑ |
| Agent | LLM + 工具 + 循环,能自主干活 |
| Tool Use | AI 调用外部函数的协议 |
| ReAct | 想→做→看→再想的经典循环 |
| RAG | 给 AI 配个外接知识库 |
| Embedding | 把意思变成向量 |
| Vector DB | 存向量、搜相似意思的数据库 |
| MCP | LLM 的 USB 接口,统一连接外部工具 |
| Harness | 模型外的执行与控制层 |
建议动手路径
css
第 1 步:先用 Claude Code / Cursor 写几个 Skill,感受 Tool Use
↓
第 2 步:用 LangChain 搭一个 ReAct Agent,跑通循环
↓
第 3 步:给 Agent 接上 RAG Pipeline,体会 Context Engineering
↓
第 4 步:加上 Eval 和 Observability,这才算"能上线"的 Agent
↓
第 5 步:尝试 Multi-Agent 协作,理解 A2A 和 MCP 协议
💬 写在最后 :AI Agent 领域发展极快,2026 年的今天,我们已经从"调 Prompt"进化到了"设计完整的 Harness 工程"。但万变不离其宗:理解 LLM 的本质(纯函数、有窗口、会幻觉),是设计任何 Agent 系统的出发点。
如果这篇文章对你有帮助,欢迎 点赞 ⭐️ 收藏 并在评论区交流你在学习 Agent 过程中遇到的困惑!