
最近在社区里看到不少准备 Agent 方向的读者提问Agent 开发到底该怎么入门教程很多但要么只讲概念要么贴一段代码就结束缺少一条可以照着走的完整路线。尤其是准备面试的同学往往能背出 ReAct、Function Calling、RAG、多 Agent 这些词却很难讲清楚自己实际做过什么。Agent 开发是典型的实践型方向只看不动手很难形成真正的工程能力。这篇教程整理了一条从入门到进阶的 Agent 实战项目路线一共 15 个项目从手写最小 Agent 循环、Function Calling 工具调用到 RAG 知识库、长期记忆、多 Agent 协作再到 LangGraph 编排、Dify 低代码平台、企业级服务化落地。每个项目都会说明场景、核心知识点、技术栈和实现思路方便照着做也方便当作面试项目去深挖。1. Agent 到底是什么和普通 LLM 应用有什么区别1.1 从“问答机器人”到“能办事的助手”大语言模型LLM本身解决的是“文本生成”问题给它一段输入它返回一段输出。ChatBot 就是这种模式的典型应用本质上是一问一答缺少对真实世界的感知和操作能力。Agent 则是在 LLM 基础上增加“行动能力”的智能体。它不仅能理解用户的问题还能把问题拆解成多个步骤主动调用外部工具获取信息根据返回结果继续推理直到完成整个任务。举个例子普通问答机器人只能告诉你“北京今天的天气可能要查天气网站”而一个天气 Agent 会真的调用天气 API拿到数据后再告诉你“北京今天晴26 摄氏度”。所以业界经常用一个比喻LLM 是大脑Agent 是给大脑装上了手、脚和工具。大脑负责思考工具负责执行Agent 负责把两者串起来形成一个完整的“感知—决策—行动—反馈”闭环。1.2 Agent 的四个核心能力规划、工具、记忆、执行要理解 Agent 开发先要理解它的四个核心能力这也是几乎所有 Agent 项目的底层骨架。第一是规划Planning。模型接到任务后要把复杂任务拆成若干子步骤。例如“帮我整理一份行业调研报告”Agent 需要拆解成“搜索行业背景、收集头部公司信息、整理数据、生成报告”等步骤。第二是工具Tools。模型本身不能执行外部操作但可以通过 Function Calling 或 MCP 等方式调用函数、API、数据库、命令行工具。第三是记忆Memory。短期记忆指当前对话的上下文长期记忆则把历史信息存入向量库或数据库让 Agent 在多次对话中记住用户偏好和项目进展。第四是执行Execution。Agent 调用工具后要把工具返回的结果回填给模型让模型判断结果是否满足需求再决定继续操作还是结束任务。这四个能力不是割裂的任何一个成熟的 Agent 项目都要在架构设计上同时考虑它们。初学者最大的误区是把 Agent 等同于“调 API 套 Prompt”忽略了工具调用和任务状态的编排导致做出来的东西只能演示不能真正解决业务问题。1.3 学 Agent 开发需要哪些基础对于零基础转 Agent 开发的同学不需要担心门槛太高。最核心的几项基础能力是Python 基础语法、HTTP API 调用方式、Prompt 工程基础以及一点数据库和向量数据库概念。这些内容通常一两个月就能掌握。需要注意的是Agent 开发并不要求你从零训练模型也不强制要求深厚的深度学习背景。市面上大部分 Agent 项目都是基于现成的 LLM API 完成核心工作量在“任务拆解、工具设计、数据回流、异常处理”这几个层面。换句话说你的核心竞争力不是“懂模型怎么训练”而是“会用模型解决真实问题”。2. Agent 开发环境准备与框架选型2.1 基础运行环境正式开始做项目前先准备好一套干净可复现的开发环境。以下环境为常见示例具体版本请根据你实际项目情况调整重点演示的是配置思路。操作系统Windows / macOS / Linux 均可建议本地开发用 macOS 或 Linux生产部署用 Linux 服务器。Python建议使用 3.10 及以上版本很多 Agent 框架和类型注解特性依赖新版本。依赖管理建议创建虚拟环境避免多个项目之间的包冲突。IDEVS Code 或 PyCharm 均可推荐 VS Code配合 Python 插件即可满足调试需求。版本管理Git 仓库从第一个项目就开始建提交历史本身就是学习记录。创建虚拟环境并安装基础依赖的命令如下mkdir agent-projects cd agent-projects python -m venv venv source venv/bin/activate # Windows 下使用 venv\Scripts\activate pip install openai python-dotenv2.2 模型 API 怎么选国内可用的 LLM API 选择非常多例如 DeepSeek、通义千问、Kimi、智谱 GLM、豆包等大部分都兼容 OpenAI 的接口格式。这意味着你只需要改 base_url 和 model 名称代码几乎不需要大改。本文示例以 OpenAI 兼容接口为基准以 DeepSeek 为例演示具体模型名称和服务商地址请以官网文档为准。建议在项目根目录创建.env文件保存 API Key不要硬编码在代码里# .env 示例请勿提交到 Git API_KEY你的API密钥 BASE_URLhttps://api.deepseek.com MODEL_NAMEdeepseek-chat用python-dotenv加载环境变量代码里统一读取这样不同项目切换模型服务商时只需要改配置文件。2.3 主流 Agent 框架怎么选现在社区里提到的 Agent 框架非常多这也是很多初学者容易困惑的地方到底该学哪个下面整理了一个选型参考表。框架定位适合场景上手难度LangChain通用 LLM 应用开发框架快速组合 Prompt、模型、工具、向量库中等LangGraph图状态编排框架复杂多步骤、可分支可恢复的工作流中等偏上AutoGen多 Agent 对话协作框架多角色讨论、辩论、协作研究中等Dify开源 LLM 应用开发平台可视化工作流编排、知识库管理、快速上线低Coze在线 AI Bot 开发平台无代码/低代码快速发布机器人低我的建议是不要把框架当作学习起点。框架只是工具Agent 的核心原理是“模型 工具 循环”。如果你一上来就学 LangChain很容易被各种抽象类和组件绕晕遇到报错也不知道根因。更合理的学习路径是先手写一个最小 Agent 循环理解每一行代码在做什么然后再引入框架提升开发效率。这也是接下来第三部分要带大家做的事情。3. 先动手从零搭建一个最小 Agent3.1 Agent 运行的基本流程在写代码之前先把 Agent 的执行流程想清楚。一个最简单的 Agent 循环通常包含以下步骤用户输入任务。系统 Prompt 描述 Agent 的角色、可用工具和输出格式。LLM 根据任务决定是直接回答还是调用某个工具。如果调用工具解析出工具名称和参数执行对应函数。把工具返回结果拼接到对话中继续交给 LLM 推理。LLM 满意后输出最终回答循环结束。这个模式就是经典的 ReActReason Act思想模型先思考再行动观察结果后继续思考直到完成任务。理解了这个循环你就能看懂所有 Agent 框架内部到底在做什么。3.2 手写一个 ReAct 循环示例下面给出一个极简可运行的 ReAct 循环骨架不依赖任何 Agent 框架只有 OpenAI 兼容接口和 Python 标准库。这个示例的核心在于让你看清“思考—行动—观察”的完整闭环。# agent_skeleton.py # 最简 Agent 循环骨架用于理解 ReAct 模式 from openai import OpenAI client OpenAI( api_key你的API_KEY, base_urlhttps://api.deepseek.com, ) # 定义工具表 TOOLS { get_weather: lambda city: f{city}晴26℃, } SYSTEM_PROMPT 你是一个智能助手。当需要查询天气时你必须调用 get_weather 工具。 输出格式严格遵循以下两行 Action: 工具名 Action Input: 参数 如果不需要工具直接输出最终答案。 def call_llm(messages): resp client.chat.completions.create( modeldeepseek-chat, messagesmessages, ) return resp.choices[0].message.content def run_agent(user_input, max_steps5): messages [ {role: system, content: SYSTEM_PROMPT}, {role: user, content: user_input}, ] for step in range(max_steps): text call_llm(messages) print(f[Step {step}] LLM 输出{text}) if Action: not in text: return text action_line [line for line in text.splitlines() if line.startswith(Action:)] input_line [line for line in text.splitlines() if line.startswith(Action Input:)] if not action_line or not input_line: return f解析失败{text} action_name action_line[0].split(:, 1)[1].strip() action_input input_line[0].split(:, 1)[1].strip() if action_name not in TOOLS: return f未知工具{action_name} result TOOLS[action_name](action_input) messages.append({role: assistant, content: text}) messages.append({role: user, content: f工具返回结果{result}}) return 达到最大步数任务未完成 if __name__ __main__: print(run_agent(北京今天天气怎么样))这个示例故意写得非常朴素没有使用 Agent 框架原因是要让大家理解底层逻辑。实际项目中你会把“调用 LLM”“解析输出”“执行工具”三个环节拆分得更清晰并加入异常处理和日志记录但整体骨架不会变。3.3 升级使用 Function Calling 规范工具调用手写 ReAct 的缺点在于模型输出格式容易不稳定解析出错率较高。更成熟的做法是使用 Function Calling让模型在 API 层就输出结构化的工具调用参数。# function_calling_demo.py import json from openai import OpenAI client OpenAI( api_key你的API_KEY, base_urlhttps://api.deepseek.com, ) tools [ { type: function, function: { name: get_weather, description: 查询指定城市的实时天气, parameters: { type: object, properties: { city: {type: string, description: 城市名例如北京} }, required: [city], }, }, } ] def get_weather(city: str) - str: # 真实项目中替换为天气 API 请求 return f{city}晴26℃ messages [{role: user, content: 北京今天天气怎么样}] resp client.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstools, tool_choiceauto, ) msg resp.choices[0].message print(模型回复对象, msg.model_dump()) if msg.tool_calls: tool_call msg.tool_calls[0] args json.loads(tool_call.function.arguments) city args[city] weather_result get_weather(city) messages.append(msg) messages.append({ role: tool, tool_call_id: tool_call.id, content: weather_result, }) final_resp client.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstools, ) print(最终回答, final_resp.choices[0].message.content)通过tools参数我们把函数的名称、描述、参数结构告诉模型。模型在需要时会返回tool_calls字段里面包括工具名和 JSON 格式的参数代码再用json.loads解析后执行。使用 Function Calling 之后工具调用的稳定性会大幅提升这也是目前大多数生产级 Agent 项目采用的标准方式。4. 15 个 Agent 实战项目清单从入门到进阶下面进入本文的核心部分。我将 15 个项目按难度分成三个阶段每个项目都给出场景、核心知识点、技术栈和实现思路。先看总览表阶段项目编号项目名称核心知识点入门01智能问答助手Prompt 设计、上下文管理入门02天气查询 AgentFunction Calling、API 调用入门03个人知识库问答RAG、Embedding、向量数据库入门04邮件分类与摘要 Agent批量处理、结构化输出入门05代码审查 Agent文件读取、代码分析进阶06SQL 数据分析 Agent数据库工具、安全校验进阶07日程管理 Agent多工具协同、时间解析进阶08带长期记忆的对话 Agent记忆持久化、向量检索进阶09联网搜索调研 Agent搜索 API、报告生成进阶10多 Agent 协作系统规划者/执行者、消息传递高级11LangGraph 工作流编排状态图、条件分支高级12Dify 低代码 Agent 应用可视化编排、知识库高级13AutoGen 多 Agent 讨论多角色协作、辩论机制高级14行业研报生成 AgentRAG 多 Agent 结构化数据高级15企业级 Agent 服务化平台后端服务、任务队列、监控4.1 入门阶段先把单 Agent 和单工具做扎实项目 01智能问答助手这是所有 Agent 项目的起点目标是做一个能记住上下文的智能问答助手。实现时不需要复杂框架只需要调用 LLM API并处理好 messages 数组的拼接逻辑。核心知识点是系统 Prompt 设计如何设定助手角色、回答风格、回答边界。实现思路是你需要自己实现一个会话管理类把用户每次输入和模型输出按顺序存入 messages当上下文超过模型窗口时采用截断或摘要策略。这个项目虽然简单却是后续所有 Agent 项目的地基能帮助你理解对话状态管理的本质。项目 02天气查询 Agent在项目 01 的基础上引入第一个工具调用。通过 Function Calling 定义一个 get_weather 函数让模型识别用户问题中的城市并自动提取参数。真实落地时你可以在函数内部调用和风天气、OpenWeatherMap 等公开天气 API。核心知识点是工具描述怎么写、参数校验怎么做、工具执行异常如何处理。这个项目的完成标准是用户问“北京明天冷吗”Agent 能正确解析城市和日期调用 API 返回结构化天气数据再组织成自然语言回答。做完这个项目你就掌握了 Agent 最核心的“工具调用”能力。项目 03个人知识库问答RAGRAG检索增强生成是目前企业落地最广的 Agent 形态。项目思路是收集一批文档例如公司制度、产品说明、课程资料切分成段落通过 Embedding 模型转成向量存入向量数据库。用户提问时先检索最相关的文档片段再把这些片段作为上下文交给 LLM 生成答案。技术栈建议使用 OpenAI 兼容的 Embedding 接口、Chroma 或 Milvus 等向量库也可以直接使用 Dify 自带的知识库功能。这个项目的关键不在于调用接口而在于切片粒度、检索策略、重排序等工程细节面试时非常值得深聊。项目 04邮件分类与摘要 Agent这是一个典型的办公自动化场景。输入是大量邮件文本Agent 需要完成三件事判断邮件类型咨询、投诉、合作、垃圾邮件、生成摘要、提取关键信息联系人、时间、待办事项。核心知识点是结构化输出让模型以 JSON 格式返回结果然后再用 Pydantic 做数据校验。实现时可以构建一个批处理脚本逐条读取邮件并调用 LLM把结果输出为 CSV 或写入数据库。这个项目虽小但覆盖面很全能锻炼你处理真实文本数据的能力。项目 05代码审查 Agent适合有编程基础的开发者。项目目标是让 Agent 读取指定 Git 仓库的代码文件检查常见问题空指针风险、未捕获异常、硬编码密钥、代码规范等。实现思路是先用 Python 脚本遍历仓库文件过滤掉依赖目录和生成文件然后按文件或按函数切片交给 LLM 审查最后汇总成审查报告。核心知识点是长文本处理代码文件可能超过模型上下文窗口需要先做代码结构分析再按需加载。这个项目在面试中很有说服力因为它直接体现了 Agent 在研发场景中的实际价值。4.2 进阶阶段工具编排 记忆 多 Agent项目 06SQL 数据分析 Agent让 Agent 直接对接数据库用自然语言生成 SQL 并执行查询。这个项目能让你同时掌握工具调用和数据库安全两方面的能力。实现时Agent 需要具备两个工具一个用于读取数据库表结构信息另一个用于执行只读 SQL 查询。关键注意点有三个第一连接数据库必须使用最小权限账号只授予 SELECT 权限第二Agent 生成的 SQL 必须先做语法校验和关键词拦截防止危险语句第三执行结果要限制返回行数避免一次拉取过多数据。这个项目完成后你可以在面试中重点讲“如何让大模型安全地操作数据库”。项目 07日程管理 Agent这是一个多工具协同的典型项目。Agent 需要同时管理“读取当前时间”“查询日历”“创建日程”“发送提醒”等多个工具。用户说“帮我约周五下午三点和产品经理开会”Agent 要先解析时间表述再查日历确认冲突最后创建日程并返回结果。核心知识点是时间解析和工具选择策略模型必须根据用户意图选择正确工具而不是把所有工具都执行一遍。实现时建议用 FastAPI 写一个本地日历服务的模拟接口Agent 通过 HTTP 调用它这样更接近生产环境。项目 08带长期记忆的对话 Agent项目 01 只解决了短期上下文这个项目要解决长期记忆。具体场景是用户隔了一周再次打开应用Agent 还能记得用户上次提到的项目名称和偏好。实现思路是维护一个记忆存储层对话过程中由模型抽取关键信息用户偏好、待办事项、重要事实写入向量数据库或 Redis下次对话时先检索相关记忆再拼接进上下文。核心知识点是记忆写入时机、记忆检索策略、记忆更新与删除。这个项目能直接回答面试中经常出现的“Agent 记忆怎么设计”问题。项目 09联网搜索调研 Agent让 Agent 接入搜索 API完成“调研—总结—出报告”的完整闭环。用户输入一个课题Agent 拆解出多个搜索关键词依次调用搜索接口获取结果对重要网页抓取正文并摘要最后整合成一份带标题和小节的调研报告。核心知识点是任务拆解和结果聚合难点在于模型容易在搜索过程中丢失中间结论所以要用结构化数据结构存储每个步骤的结果。建议引入简单的“状态管理器”记录已完成和待完成的搜索任务。这个项目非常适合作为作品集展示。项目 10多 Agent 协作系统从单 Agent 进入多 Agent 阶段。最常见的设计是“规划者 执行者”模式规划者 Agent 负责拆解任务、分配步骤执行者 Agent 负责调用具体工具完成子任务最后再由规划者汇总结果。实现时可以直接用 Python 自己写一个简单的消息队列也可以引入 AutoGen 或 LangGraph 的团队模式。核心知识点是 Agent 间通信协议、任务状态同步、失败重试机制。这个项目能很好地展示你对 Agent 架构的理解深度面试时建议画出系统交互图来讲。4.3 高级阶段框架化、平台化、生产化项目 11LangGraph 工作流编排当 Agent 的任务分支越来越多手写循环会变得难以维护这时就需要引入编排框架。LangGraph 的核心思想是把 Agent 流程定义成一张状态图节点是“调用模型”“执行工具”“人工审核”等操作边表示状态流转条件。例如一个客服 Agent 可以设计成意图识别节点 → 判断是否需要人工 → 需要则进入人工节点不需要则走自动回复节点。核心知识点是节点设计、条件边、状态持久化、断点恢复。使用 LangGraph 时要注意版本迭代速度较快API 以官方文档为准。项目 12Dify 低代码 Agent 应用Dify 是目前国内使用率很高的开源 LLM 应用平台支持可视化工作流编排、知识库接入、Agent 节点、工具节点和对话管理。你可以把之前做的知识库问答、天气查询等功能在 Dify 里重新搭建一遍对比手写代码和平台方案的区别。核心知识点是工作流节点之间如何传参、知识库检索参数如何调优、发布的 API 如何鉴权。这个项目能让你具备“快速给业务方交付一个 Agent 应用”的能力这在企业里非常实用。做完后再思考哪些功能需要回到代码层定制就能形成对低代码平台的客观认知。项目 13AutoGen 多 Agent 讨论系统AutoGen 是微软开源的多 Agent 对话框架适合做“多角色讨论”类场景。例如设计一个“产品评审小组”产品经理 Agent、技术 Agent、用户代表 Agent 针对同一个需求进行多轮讨论最后输出会议结论。核心知识点是对话终止条件、Agent 角色设定、多轮对话中的信息一致性。实现时要注意控制讨论轮数否则模型会陷入无意义的循环。这个项目面试时很有话题性可以结合“多 Agent 和单 Agent 各自的适用场景”来展开回答。项目 14行业研报生成 Agent这是一个综合型项目适合作为简历上的主打项目。场景是给定一个行业关键词Agent 自动生成一份结构化研报包含行业概况、市场规模、头部企业分析、风险提示等章节。技术栈建议组合 RAG、多 Agent、结构化输出数据采集 Agent 负责搜索和抓取分析 Agent 负责整理数据写作 Agent 负责生成报告最后通过校验模块检查报告格式和引用来源。核心难点是如何保证数据真实性和报告结构稳定性建议给每个章节定义输出模板并让校验 Agent 对最终报告做二次审核。这个项目能同时展示你的系统设计能力和工程落地能力。项目 15企业级 Agent 服务化平台最后一个项目是把前面的能力做成一个可对外服务的系统。建议技术栈为 FastAPI 或 Spring Boot 提供 HTTP 接口、Celery 或消息队列处理异步任务、Redis 做缓存和会话存储、PostgreSQL 存储业务数据、Dify 或自研 Agent 核心作为执行引擎。你需要实现用户鉴权、请求限流、任务状态查询、日志追踪、成本统计等基础能力。这个项目的价值在于让面试官相信你不只是会写 Demo而是能考虑到生产环境中的稳定性、安全性和可观测性。如果时间有限至少要把“用户请求 → 任务入队 → Agent 执行 → 结果回调”这条链路完整跑通。5. Agent 开发高频报错与排查思路做 Agent 项目时有几个报错几乎是每个人都会遇到的。这里整理成表格方便快速定位。问题现象常见原因解决思路Agent terminated due to error工具函数抛异常没有被捕获或模型输出无法解析打印中间步骤给工具函数加异常处理检查工具描述是否清晰The agent execution provider did not respond in time模型 API 请求超时常见于网络波动或请求体过大设置请求超时参数增加重试机制压缩上下文长度Agent execution terminated due to error多步执行链路中某一步失败导致框架终止查看完整 trace 日志定位失败节点加入 fallback 兜底逻辑模型不调用工具直接给出错误答案工具描述不清晰或模型本身不支持 Function Calling检查模型是否支持工具调用优化工具描述中的触发条件工具返回结果过大导致 token 超限工具返回了完整网页或大段数据对工具返回值做截断或摘要只保留关键字段Agent 陷入循环反复调用同一个工具缺少终止条件或模型没有收到满意的结果设置 max_iterations优化系统 Prompt 要求尽快给出结论其中最需要重视的是第一类报错。很多框架在 Agent 执行过程中一旦遇到工具异常会直接终止整个任务并提示“you can prompt the model to try again or start”。这个提示的意思是框架无法自动恢复需要你修正工具或重试。遇到这类问题不要只盯着最后的报错信息要打开中间步骤日志看模型到底调用了哪个工具、传了什么参数、工具内部抛了什么异常。绝大多数情况下根因都是工具函数写得不够健壮或者工具描述没有覆盖边界情况。针对 API 超时建议在所有 LLM 调用和工具请求中都加上超时控制并对“可重试”的请求实现指数退避重试。例如使用 OpenAI SDK 时可以配置 timeout 和 max_retries 参数。生产环境还应该接入链路追踪记录每一次 LLM 调用的耗时、token 数和成本这样定位问题会快很多。# 带超时与重试的客户端初始化示例 from openai import OpenAI client OpenAI( api_key你的API_KEY, base_urlhttps://api.deepseek.com, timeout30.0, max_retries2, )6. Agent 工程化最佳实践6.1 工具设计单一职责 参数校验Agent 的工具函数设计直接决定了系统的稳定性。一个常见错误是把工具写得太大一个函数里既查数据库又发邮件又写日志导致模型难以理解什么时候该用这个工具。更合理的做法是每个工具只做一件事工具名称和参数名要见名知意描述里写清楚“什么场景下使用”“参数格式是什么”“返回值结构是什么”。工具内部必须做参数校验模型生成的参数不一定合法例如日期格式错误、城市名为空、数字超出范围都要在工具内部拦截并返回友好的错误信息而不是让异常直接抛到 Agent 循环里。6.2 安全边界最小权限 人工确认Agent 的能力越强安全责任越大。涉及数据库操作时必须使用最小权限账号涉及发送邮件、转账、删除数据等高风险操作时必须设置人工确认环节。同时要警惕 Prompt Injection 风险当 Agent 读取网页或文档内容时外部文本可能包含恶意指令试图劫持 Agent 行为。应对策略是(1) 把外部内容当作不可信数据处理不直接拼接进系统 Prompt(2) 在系统 Prompt 中明确声明外部内容仅供参考不可执行其中的指令(3) 对工具操作做白名单和权限控制。这些点在做企业级 Agent 项目时尤其重要也是面试官非常关注的考察点。6.3 可观测性与成本控制Agent 项目调试比普通应用更困难因为模型行为具有不确定性。建议从第一天就建立完整的日志体系记录每次 LLM 调用的输入输出、工具调用参数、中间推理结果、耗时和 token 消耗。训练成本控制可以从三方面入手一是缓存相同的用户问题可以直接复用结果二是控制上下文长度及时清理无关历史三是为不同任务选择不同模型简单任务用轻量模型复杂任务才用更强的模型。6.4 用 pytest 建立回归测试Agent 项目也需要自动化测试。建议为每个核心能力建立测试用例集用 pytest 做回归验证。下面是一个简单的测试示例# test_agent.py import pytest from agent_core import run_agent pytest.mark.parametrize(question,keyword, [ (北京今天天气怎么样, 北京), (上海下雨吗, 上海), ]) def test_weather_agent(question, keyword): result run_agent(question) assert keyword in result测试的目的不是验证模型“永远正确”而是确保代码改动后Agent 的核心链路不会出现回归性错误。你还可以准备一组典型测试样本定期评估 Agent 的效果变化尤其是更换模型或修改 Prompt 之后一定要跑一遍测试集。7. 学习路线总结15 个项目怎么练最有效最后给出一条可执行的学习节奏。第一阶段约 1 到 2 周完成项目 01 到 05重点是熟悉 API 调用、Function Calling 和 RAG先把单 Agent 的工具调用能力练扎实。第二阶段约 2 到 3 周完成项目 06 到 10重点掌握记忆、工具编排和多 Agent 协作同时开始积累面试中可以讲的系统设计思路。第三阶段约 3 到 4 周完成项目 11 到 15重点是把 Agent 能力服务化并用 LangGraph、Dify、AutoGen 等框架提升开发效率。面试时不要只报项目名字要能把每个项目的“问题背景—方案设计—技术难点—最终效果”讲完整。面试官通常更关心这几个问题任务怎么拆解的工具调用失败如何恢复上下文超长怎么处理如何评估 Agent 效果如何控制成本和安全风险这些答案都需要你在真实项目里踩过坑才能回答得具体。Agent 开发仍然是一个非常新的领域框架和模型迭代速度很快但底层的“规划—工具—记忆—执行”框架不会过时。把这 15 个项目按顺序练下来你收获的不只是代码而是一套独立设计 Agent 系统的能力。如果这份项目清单对你有帮助建议先收藏然后从项目 01 开始动手写第一行代码。毕竟 Agent 这件事看十篇教程不如亲手跑通一个循环。