零基础一天(9小时)学完Agent!¶
学会 Agent 只需要 1 天 * 9 小时!¶
零基础一天(9 小时)学完 agent!写这个教程就是想告诉大家,Agent 其实非常简单!并且能帮助你找到 Agent 相关工作 / 实习!目前有很多个同学看这个教程找到了实习,且本教程在同学群里备受好评,现在开源给大伙!
项目地址
一、拥有你自己的 llm api-key(阅读需约 15 分钟)¶
Python 或 Java 任选一,会基本语法就行。拿到一个 LLM APIKey,能跑通一次 API 调用就算入门了。
-
你可能需要学会使用 python 和 uv 用 rust 编写,类似于 rust 里面的 cargo,速度非常快
-
为什么不用 conda 而是 uv:uv 开源无商用风险,Conda 在超过 200 人的组织有潜在商用授权问题
-
uv 可以像 pip 一样编辑镜像源,mac 和 linux 系统修改
~/.config/uv/uv.toml并写入如下配置,Windows 系统可自行查询配置方式。项目初始化执行uv sync即可。
[[index]]
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
default = true
-
你可能需要 llm api-key,推荐 kimi 或者智谱
-
配置环境变量
OPENAI_API_KEY和OPENAI_BASE_URL,并尝试运行core/llm.py
二、实现 Node / Workflow / Agent(阅读需约 1 小时)¶
-
我们最终的目标是打造一个 Agent,具备联网搜索、运行命令行、文件编辑能力。
-
Agent 底层可以用 Node 来抽象,教程提供了极简实现,可查看
core/node.py,不到 60 行就实现了 Agent 轻框架。如果没有 Python 基础看不懂,可以把代码复制给 AI 帮你解释。 -
Node 的使用方式:新建 3 个 Node 串联,实现 接收输入 -> 上网搜索 -> 大模型生成总结 的功能,你就实现了 workflow,对应代码在
examples/workflow -
新建一个 workflow,实现 接收用户输入 -> 大模型回复,再通过 loop 反复调用这个 workflow,你就实现了 chatbot,对应代码在
examples/chatbot -
给 chatbot 接入 tools(下文会详细讲解),让它能上网搜索、编辑文件、运行命令,你就实现了 agent,对应代码在
examples/chatbot_with_tools
核心公式总结¶
-
workflow = node + node -
chatbot = workflow + loop -
agent = chatbot + tools = workflow + loop + tools
恭喜你已经理解 Agent 的核心了!你可能会疑惑:这么简单的轻框架真的有用吗?为什么不选 LangChain / Dify / Coze / Google ADK / Spring AI?
现实中很少有人用 LangChain 开发出优质产品,且它曾出现过严重安全漏洞 CVE-2025-68664,还存在过度抽象、依赖地狱、Bug 多、定制化不灵活等问题。事实上 claude-code、cursor、kimi-cli、pi-mono、Pocketflow-examples 等优秀 Agent 项目,都是自研轻框架或直接调用 LLM API 开发的,因此非常推荐你自建轻框架。
三、RAG 基础(阅读需约 1 小时)¶
-
RAG(Retrieval-Augmented-Generation)即检索增强生成,核心逻辑就是 “先搜再答”。
-
向量数据库选择 Chroma,而非 Milvus、LanceDB、pgvector 等,原因是 Chroma 部署简单、API 简洁、使用成本低。
-
注意:你需要的是 embedding model api,而非 llm api,Kimi、智谱等平台官网都提供对应的 embedding 模型。
-
恭喜你,你已经学会 RAG 了!
RAG 的本质¶
RAG 概念刚提出时,大家认为它包含「检索 - 增强 - 生成」三个环节,完整链路是:
文档 → 切块 → Embedding 向量化 → 存入向量数据库 → 用户提问时检索相似块 → 塞入 Prompt → LLM 生成回答
但实际落地中,大家最终只用到了检索能力,向量数据库(VectorDB)就能完美完成这个任务。
因此 RAG 是个已经过时的概念,你只需要掌握 VectorDB 即可,或者说 RAG = VectorDB。
四、实现 Tool、MCP、Skill(阅读需约 1 小时)¶
基础定义¶
-
Tool:process call(function call),本质是调用一个函数
-
MCP:remote process call,对应后端的 RPC 概念,调用服务器上的函数
-
Skill:local process call,调用本地的函数
三者本质上都属于 Tool 范畴。
发展历程¶
-
Tool 的起源 早期为了让 chatbot 不止能聊天、还能执行实际任务,诞生了 Tool 概念。实现方式各不相同,最常见的做法是在 prompt 中加入 function 的名称、参数、描述,要求 LLM 输出 JSON 格式,再调用对应函数。
-
MCP 的出现 为了解决 Tool 实现标准不统一的问题,Anthropic 制定了 Tool 标准 MCP(Model Context Protocol),让各类 Tool 可以远程 “即插即用”。只要提供 MCP 服务,就能让 AI 从 “只会聊天” 升级为 “能做事”,因此 2025 年各家公司都在大力推行自己的 MCP 服务。
-
Skill 的诞生 大家逐渐发现 MCP 的弊端:每次调用 LLM 时,都要在 prompt 中额外加入所有 MCP Tool 的信息(名称、参数、描述等),但大部分 MCP 服务实际使用率很低,反而造成性能下降和 Token 浪费。 Anthropic 在博客 Code execution with MCP: Building more efficient agents 中提出了解决方案:渐进式加载 + 多用代码执行,后续发布的 Skill 概念也与此一脉相承,核心就是渐进式加载和优先用代码执行任务。
Tool 设计原则¶
实际开发 Agent 不需要五花八门的 Tool,Linux 下的 bash、edit、find、grep、ls、read、write 就足以完成绝大多数任务,且效果很好。
Vercel 通过移除大部分 Tool,将 text-to-sql 准确率从 80% 提升到了 100%;pi-mono 的作者也提到,read、write、edit、bash 这四个工具就是构建高效 Coding Agent 的全部所需。
实践建议¶
可阅读 tools 目录和 examples/chatbot_with_tools 文件夹里的实现代码。
总结¶
MCP 是远程 Tool,Skill 是本地 Tool;尽量不要自定义 Tool,优先用 Linux bash 解决问题。
五、实现 Context / Memory(阅读需约 1 分钟)¶
-
短期 Context:最近几轮的完整对话内容
-
长期 Context:更早的对话历史,会经过一次总结压缩
-
Memory = 短期 Context + 长期 Context
六、实现 Multi-Agent / Subagent / Agent Teams(阅读需约 1 小时)¶
-
Multi-Agent 最初的设想是 Google 制定的 A2A(agent to agent)协议,让不同的 Agent 互相交互,但这个方案最终失败了。Multi-Agent 逻辑复杂,多数场景下性能还不如简单的 Single Agent,现实中也几乎没有 Agent 使用 A2A 协议交互。
-
但大家也发现了 Multi-Agent 的适用场景:实现上下文隔离、只回传压缩后的结果、避免主上下文被工具细节污染,以此提升 Agent 效果。可参考博客 How we built our multi-agent research system 深入了解。
-
Subagent 概念由此发展而来,甚至出现了自定义 Subagent 的方案。但并不推荐自定义 Subagent,由 master agent 自动生成 subagent 是更简单高效的选择。
Agent Teams¶
Agent Teams 是当前最前沿的发展方向,它摒弃了主从式 Agent 结构,采用并行协作模式,能成倍提升效率,且 Agent 之间不会互相冲突,非常适合项目开发场景,目前行业内都在研究。 可参考资料:
-
Claude 的 agent-teams 方案
-
博客 Building a C compiler with a team of parallel Claudes
-
Cursor 的两篇博客:《扩展长时间运行的自主编码能力》《迈向自动驾驶代码库》
补充:Agent Teams 可以用 Tmux 简单实现,且效果很好。可参考文章 What I learned building an opinionated and minimal coding agent 中关于 tmux 的部分。
七、阅读和理解 pi-mono(阅读需约 4 小时)¶
-
Openclaw 项目的底层就是 pi-mono,它是目前开源领域最优秀的 coding-agent。
-
为什么要学习 coding-agent:经过发展迭代,coding-agent 已经成为了通用 Agent,几乎能完成所有任务,且效果出色。
-
必看博客:What I learned building an opinionated and minimal coding agent
学习方法¶
clone pi-mono 项目后,不要直接肉眼读源码(代码大多是 AI 生成的),建议用 Claude、Cursor 等 AI 工具分析整个项目结构,要求 AI 生成 mermaid 架构图并写入 md 文件,通过 AI 的分析报告来理解项目内部逻辑。
核心模块¶
pi-mono 共有 7 个 package:pi-ai、pi-agent-core、pi-coding-agent、pi-mom、pi-tui、pi-web-ui、pi-pods,只需要重点看 pi-ai、pi-agent-core、pi-coding-agent 三个模块,其余可以忽略。
额外内容:达到面试 / 实习要求¶
学习需约 2 天 × 8 小时
如果你想找 Agent 相关工作 / 实习,或者想更深入理解 Agent,一定要学习这部分内容。PS:已经有很多同学通过这套教程拿到了实习 offer。
1. 面试考点与项目推荐(阅读需约 1 小时)¶
-
Agent 面试只考察项目实践,没有八股文
-
推荐实战项目:实现属于你的 Openclaw,项目名可以命名为 XXXClaw(例如 PoiClaw)。 具体路径:基于 pi-mono 二次开发,对接 pm2 和 IM 接口。clone pi-mono 后,用 Cursor、Claude 等 AI 工具分析项目架构,重点理解 pi-ai、pi-agent-core、pi-coding-agent、pi-mom 模块,最终开发出自己的 coding-agent,并用 pm2 实现常驻运行、接入 IM 工具(预计耗时 2 天 × 8 小时)。
-
面试高频概念(理解流程即可,不要求全部实践):Agent 效果可评估、提示词自动优化、Agentic Sandbox、Agent Teams
-
简历工具推荐:开源免费简历网站 [rxresu.me]\(rxresu\.me\)
-
避坑提醒:不要在简历上写 “智能客服项目(langchain/dify + rag)”,这类项目已经非常过时
-
掌握以上内容,就足以投递 Agent 相关实习岗位
2. Agent 效果可评估与提示词自动优化(阅读需约 15 分钟)¶
-
Agent 效果可评估(难度较高)
-
提示词自动优化的设计思路与上述博客逻辑一致,核心是设计评估指标并持续观测
3. Agent Teams 深入学习(阅读需约 15 分钟)¶
-
Agent Teams 核心概念,参考博客 Building a C compiler with a team of parallel Claudes
-
扩展长时间运行的自主编码能力(难度较高)
-
迈向自动驾驶代码库(难度较高)
4. Sandbox 相关知识(阅读需约 15 分钟)¶
-
掌握 Docker 即可,用 Docker 做 Sandbox 能应对绝大多数场景
-
对延迟要求极高的场景,需要专门的 Agentic 基础设施优化延迟(复杂度高,做基础了解即可)
-
推荐阅读:《为本地代理实现安全沙箱》
5. Harness 相关知识(阅读需约 15 分钟)¶
- Harness 概念来源于 OpenAI 2026 年 2 月 11 日的文章《工程技术:在智能体优先的世界中利用 Codex》。虽然这篇文
(注:部分内容可能由 AI 生成)
AI Agent 工程师成长指南¶
背景与现状¶
6 年经验后端 → 转 AI Agent 是正确方向。现在懂 System Design 又懂 AI 应用落地的工程师(AI Engineer)确实是稀缺物种。后端转 Agent 优势非常大——很多算法工程师写出来的工程代码没法看。Agent 落地到最后,拼的是工程能力、系统稳定性、并发处理、数据流转,这些都是后端的看家本领。
警惕:千万别信网上那些三天速成课。那些教程大部分是拿个 LangChain 的 Demo 跑一下,跑通了 Hello World 就告诉你学会了。真到了生产环境,这种代码上线就是事故。
打破认知误区:Agent 并非简单调 API¶
很多后端兄弟觉得,Agent 不就是调 API 吗?这是初级阶段。现在的 Agent 工程,本质上是在写 概率性代码。以前写后端,输入 A 必然得到 B,这是确定性的。现在写 Agent,输入 A,可能得到 B,也可能得到 C,还可能给你胡说八道。你要做的是用工程手段,把这个概率性的过程约束在一个可控的范围内。
需要恶补的内容¶
(1)Prompt Engineering 进阶学习¶
- 推荐资料:OpenAI 官方 Cookbook(最好教材)、Lilian Weng《LLM Powered Autonomous Agents》(Agent 领域圣经)
- 重点内容:Chain of Thought 思维链、ReAct 推理加行动模式
(2)开源模型与私有化部署¶
2026 年的标准答案是 DeepSeek 系列和 Qwen 3 系列: - DeepSeek 系列:DeepSeek-V3.2 和 R1 版本,推理能力和 Agentic 任务处理能力已能和闭源顶尖模型掰手腕 - Qwen 3 系列:企业内部超一半私有化部署在用 Qwen 3,尤其是 Qwen3-Thinking 版本
(3)RAG 技术深度掌握¶
2026 年的主流是 GraphRAG(结合知识图谱的检索增强生成),需要了解怎么把非结构化文本提取成实体和关系,存到图数据库里。
除了 GraphRAG,还要了解 Adaptive RAG——让 Agent 自己判断是直接回答、查数据库还是查互联网。
框架选择: - Haystack:生产级 RAG 首选,Pipeline 设计清晰,监控和可视化做得好 - LlamaIndex:在复杂索引和 GraphRAG 支持上最强 - 别死磕 LangChain,封装太厚,调试像黑盒
LangGraph 与 Agent 状态机实现¶
Agent 本质上就是一个有状态的循环系统:
Start → 思考 → 决定调用工具 → 执行工具 → 拿到结果 → 再次思考 → End
自学时不要光看,要动手写: 1. 不要用 LangChain,尝试用原生 Python 代码手写一个 ReAct 模式的 Agent 2. 定义一个 While 循环,在循环里维护一个 Messages 列表模拟内存 3. 定义几个 Python 函数作为工具,传给模型的 Function Calling 接口
当你亲手把这个循环跑通,看到模型自己决定调用你的函数,拿到结果后再组织语言回答的时候,你就入门了。
实战项目:打造 P7 水平的 SQL Agent¶
技术组合:RAG 检索表结构说明 + Few-shot 优秀 SQL 示例 + Code Execution Environment 安全执行。
难点: 1. 数据库表结构怎么告诉模型?→ Schema Linking 2. 模型生成的 SQL 要是错的怎么办?→ Self-Correction 3. 怎么防止模型执行删库跑路的操作?→ 权限控制
2026 年还可以加 Multi-Agent:设计 Writer(写 SQL)+ Reviewer(检查语法错误)两个 Agent 互相交互,直到产出正确的 SQL。
工程化能力:Agent 上线关键问题¶
面试官问:Agent 上线了,响应太慢怎么办?幻觉严重怎么办?
从工程角度回答: 1. 流式输出 Streaming:不用等整个答案生成完,一个字一个字往回吐 2. 缓存 Caching:相似问题用语义缓存返回结果 3. 评测 Evaluation(重点中的重点):用更强模型给弱模型打分(LLM-as-a-Judge)、Ragas 框架评测 RAG 系统、Langfuse / Ariane Phoenix——主流 Trace 和评测平台
如果面试时能拿出一套自己设计的自动化评测方案,证明你的 Agent 在准确率上提升了 10%,这比说精通 Python 有用一万倍。
17.7 学习路径与资源汇总¶
| 方向 | 资源 |
|---|---|
| 理论基础 | Lilian Weng 博客、OpenAI Cookbook、Andrej Karpathy 的动态 |
| 框架工具 | LlamaIndex(GraphRAG)、Haystack(生产 Pipeline)、LangGraph(状态机) |
| 模型知识 | Hugging Face、Ollama,重点研究 DeepSeek 和 Qwen 3 系列 |
| 实战练习 | DeepLearning.AI 的课程 |
| 前沿资讯 | Arxiv 论文,关注 Self-Correction、Multi-Agent 协作方向 |