AI Agent开发不买课自学指南:从Token到生产级部署的完整路线
1. 先泼盆冷水:这领域缺的不是"好课",是"标准答案"
最近半年,向我打听 AI Agent 开发课的人肉眼可见变多了。问题几乎千篇一律:想从传统开发转岗做 Agent,搜了一圈课程,要么价格虚高,要么内容停留在跑通一个 Demo 就结束,完全看不出付费后能获得什么生产级能力。实话实说,这个问题我也被问烦了。但烦归烦,它确实戳中了一个行业现状——在 AI Agent 这个方向上,你大概率找不到一门"学了就能上岗"的公认好课。
这不是课程市场不够努力,而是 Agent 开发本身就不是一门能被标准化成"三十节课"的学科。
Agent 开发是典型的拼接型领域。你既要懂大模型 API 的基本行为,比如 token 和上下文的边界,又得具备传统软件工程的底子,比如服务怎么部署、工具调用的出错分支怎么兜底、日志怎么埋点。它横跨了大模型应用、后端工程、产品交互三个层面,任何一个环节掉链子,Agent 就没法用。市面上主流的 LangChain、LangGraph、Coze、Dify 这些编排框架,迭代速度又以月为单位,前几个月的教程下个月就可能失效。在这种快速变化的技术栈面前,培训机构很难做出真正意义上的精品课。
更现实的问题在于"讲师来源"。能写出生产级 Agent 的人,通常在公司里忙得要死,没时间录课;而专职做课的人,又往往缺乏一线维护 Agent 的真实经验。结果就是市面上大量课程的核心内容,本质上只是把官方文档重新念了一遍,加几个玩具项目。你不是付钱买知识,你是付钱买了一份"学习的心理安慰"。
所以我给所有问我的人一个统一回答:在报任何课之前,先自己动手做一个最小 Agent。哪怕只是用 API 搭一个能查天气、能查数据库的问答机器人,你都会立刻理解课程里哪些话是干货,哪些话只是填课时用的注水肉。做过一遍,你对"这是不是一门好课"的判断力,会超过大部分卖课的人。
2. 判断一门课值不值得付费:三个硬指标 + 一份危险信号清单
2.1 硬指标一:有没有一个"从零到可用"的完整项目
这里的"完整"指的不是 notebook 里跑通一段示例代码,也不是导出一张看起来很酷的架构图。必须是一个能在真实业务场景中使用的项目,比如:
- 给运营团队用的客服知识库问答 Agent(能对接真实文档、真实数据库);
- 给研发团队用的代码变更总结 Agent(能从 Git 仓库拉取提交记录并生成发布说明);
- 给自己用的个人助理 Agent(能查日程、收邮件、做摘要)。
判断标准就一条:课程里这个项目,在脱离课程提供的 Demo 环境后,还能不能跑起来、能不能扛住一次异常输入。注意"异常输入"这四个字,这恰恰是 Agent 开发与普通 CRUD 开发最大的分水岭。
普通后端接口面对的是结构明确的请求,而 Agent 的输入是不可控的自然语言。用户说一句模糊的话,模型就可能输出一个错误的结构化参数,工具就会按错参数执行。优秀的课程必须花大量篇幅讲"模型输出不符合预期时怎么办":校验、重试、降级、人工介入。如果一门课从头到尾只讲"怎么把流程跑通",一句不提失败恢复,那它的项目再光鲜也是纸糊的。
我在实际项目中处理过一个典型的异常路径:让 Agent 帮业务同事调用内部订单接口查单号,模型几次都把订单号识别成其他号码。最后不得不加一层规则校验,先对模型提取的订单号做正则匹配,匹配不上就让 Agent 明确说"我没看懂,请重新输入",而不是硬着头皮调接口。这种细节,没有踩过生产环境坑的人根本讲不出来。
2.2 硬指标二:讲不讲"为什么选 A 不选 B"的取舍逻辑
Demo 课只会告诉你"这样配置就能跑",好课则会告诉你"这个场景下为什么选这种架构而不是另一种"。取舍是区分有没有真本事的核心分界线。
举几个 Agent 开发里最常见的取舍问题,你拿去问课程的试听老师,看他能不能答得具体:
- 为什么这里用 LangGraph 的状态图,而不是 LangChain 的 Chain 或简单的 Prompt 循环?
- 为什么工具调用用 Function Calling,而不是让模型直接输出 JSON?
- 多个工具时,是让模型自己选,还是做一层路由层?
- 很多人说 Agent 会自动规划任务,但为什么在真实业务里我们常常把任务拆死,不允许模型自由发挥?
- 什么时候该上多 Agent 协作,什么时候单 Agent 加几个工具反而更稳?
第二和第四点我要展开说说。
Function Calling(工具调用)本质是让模型输出一个符合预定义 Schema 的结构化参数。它比"让模型直接输出 JSON"稳定得多,因为模型经过专门训练,知道在什么条件下输出什么字段,而且输出格式的可校验性更强。但很多人不知道的是,即使加了 Function Calling,模型依然可能幻觉出工具,比如调一个不存在的接口名,或者给一个必填参数编造一个假值。所以工程上过滤的第一步是在代码里硬校验工具名和参数类型,而不是全盘信任模型。
任务拆死这一点,和直觉相反。我见过很多初学 Agent 的人,特别喜欢让模型"自己规划自己干",结果一个十分钟能完成的任务,模型可能规划出十步,其中一半是无效动作,白白烧掉大量 token。真正生产级的 Agent 设计,核心原则是:人负责定边界,模型负责在边界内发挥。例如一个报表分析 Agent,主流程是人提前编排好的:先读数据源、再清洗、再分析、再出图。模型只在"这个字段怎么算"这种粒度上有选择权。这种"有限自主"的设计,才是课程里最值得付费的部分。
2.3 硬指标三:讲师本人是否还在一线维护 Agent 系统
查讲师背景别只看头衔,要看三件事:有没有正在线上运行的项目、有没有写过开源 Agent 项目、以及在技术社区的发言是具体还是空泛。一个还在生产环境维护 Agent 的人,会在课程里不自觉地讲出这样的内容:"这个框架的 auto-scaling 参数默认值就是个坑,我们的服务每周三流量高峰会触发 bug,所以我们后来把它改成了……"这种信息,是背文档背不出来。
危险信号清单如下,凡是命中其中三条以上的课程,直接走人:
| 危险信号 | 说明 |
|---|---|
| 宣称"几天零基础转行" | Agent 开发虽然入门门槛不高,但转岗求职需要的是工程经历,不是速成心理 |
| 课程大纲全是框架名词堆砌 | LangChain、AutoGPT、MetaGPT、Coze 挨个讲一遍,深度约等于产品宣传页 |
| 只提供录播,没有作业批改 | 作业批改才是课程价值的核心,没有互动的课就是播客 |
| 结业发"认证证书" | 目前行业内没有一个有含金量的 Agent 开发证书,证书只是锚定付费心理 |
| 讲师从不展示自己的失败案例 | 只讲成功案例、只放效果截图,绝口不提踩过的坑的课程,藏着掖着 |
| 承诺"包就业、包内推" | 这类话术在其他行业早有定论,放在这里同样不可信 |
这组指标筛下来,其实能过关的课已经不多了。与其在市面上大海捞针,我更建议你把精力放在下一条路线上:自己动手,构建一套属于你自己的学习体系。这比任何课程都可靠,而且现在优秀开源项目这么多,学习素材不缺。
3. 不买课也能走通的 Agent 自学路线:从 token 到部署的全链路
我把自己摸爬滚打后比较认可的一条路线分享出来,按阶段推进,每个阶段都有明确的交付物。整体周期按每天抽两小时算,大概四到六周可以完成从零到有。
3.1 第一阶段(第 1-2 周):把大模型当普通 API 用,彻底搞懂 token 与上下文
第一阶段不要碰任何 Agent 框架,就用你熟悉的语言直接调大模型 API。我这里以 Python 为例,但其实用 Java、Go、Node.js 都行。目标是写一个最简单的多轮对话脚本,然后给它加"输出结构化 JSON"的能力。
先弄明白最基础的概念:token 到底是什么意思。很多教程在将 AI Agent token 当作玄学,其实就是模型处理文本的基本单位。你可以粗略把 1 个 token 理解成四分之三个英文单词,或者大半个汉字。模型计费按 token 算,模型的上下文窗口按 token 算,你的 Agent 设计——比如一次能处理多长的文档、能记住多少轮对话——通通用 token 衡量。不理解 token,后面就没法估算成本和控制输入长度。
写脚本时,重点练三件事:
- 理解角色字段:system(让模型扮演什么角色)、user(用户输入)、assistant(模型回答)三者之间的配合。
- 让模型输出严格 JSON:model 参数上指定 response_format 为 json,同时 prompt 里给清楚字段定义,这比你事后解析自然语言输出稳定一百倍。
- 把函数定义传给模型:先不给模型调用函数的能力,让它在回答里附带"我准备调用某某函数,参数是某某",然后在代码里用正则或者 JSON 解析把这个意图提取出来,手动执行函数,把结果拼回对话里再发给模型。这就是一个手写的"工具调用"雏形。
这个阶段的交付物很简单:一个能多轮对话、能根据你的指令从数据库或文件里查数据、再把结果整理成自然语言的命令行小工具。它足以让你理解基于机器学习的工程的第一个真相:Agent 不是魔法,是一个"模型输出-程序执行-结果回填"的循环。
3.2 第二阶段(第 3 周):借用编排框架,复刻一个最小可用 Agent
第二阶段再上框架。我的建议是先别碰太重的东西,从 LangGraph 或 LlamaIndex 里选一个开始。为什么要用编排层,而不是自己用 while 循环调用 API?因为真实 Agent 需要状态管理、分支切换、消息历史持久化、多节点串联,这些如果全手写,虽然也能做,但工程复杂度会迅速失控。编排框架的价值就是把这些基础设施固化成配置和 API,让你聚焦在业务逻辑上。
这个阶段做"最小可用 Agent",我推荐一个经典组合:做一个"Agent + 检索"的文档问答机器人。
它做三件事:
- 读取指定目录下的 PDF / Markdown 文档,切片后放进向量数据库;
- 用户提问时,先从向量库里检索出最相关的若干片段;
- 把片段拼进 prompt,让模型基于这些片段回答,并强制要求"如果片段里没有相关信息,就说不知道"。
这个项目几乎涵盖 Agent 开发的全部基础模块:文档加载、切片、向量化、检索、组装上下文、生成回答。做完之后,你对 RAG(检索增强生成)的理解会超过百分之八十的教程读者。很多人总想把 RAG 说得神乎其神,其实它的本质就是:别让模型硬编造知识,把答案可能藏在的资料库,先检索出来再让模型读。工程难点不在"这个概念"本身,而在切片大小怎么选、命中内容怎么排序、用户问法跟文档表述不一致时召回率不够怎么办。这些只能靠自己的项目数据去调。
3.3 第三阶段(第 4 周):把 Agent 变成一个可被别人调用的服务
Agent 写在脚本里永远只是玩具,转岗求职时更没人信。第三阶段,你要把第二阶段的问答 Agent 包成一个有 API 的服务。这一步和传统后端开发高度相通,很多转岗者在这里会突然找回家乡的感觉。
- 用 FastAPI 或 Flask 起 HTTP 服务,对外暴露
/chat接口; - 加简单的 API key 鉴权,记录每次请求的 token 消耗和延迟;
- 把对话记录存进 MySQL 或 PostgreSQL,至少让"多轮上下文"能在服务重启后恢复;
- 有条件的话,写一个最简单的 Web 前端页面(React 或 Vue 都行),通过浏览器和 Agent 对话。
这一步的价值是让你看清 Agent 落地的真实形态:它不是科幻里的对话气泡,而是一个后端服务加一个前端页面,核心还是你熟悉的 Web 开发套路。你在传统前端或后端积累的资历,在这里没有白费,只是业务逻辑里多了一个"大模型推理"环节。
部署上我踩过一个很多人都会踩的坑,顺手提醒一下:开发环境里如果有虚拟机、Docker 多个端口混跑,域名配置一团乱,Agent 服务经常出现"本机调得通、别人调不通"的尴尬。我的习惯是学习阶段就用 Nginx 反代一套,机器上起多个服务端口,配置本地域名分别指向不同站点,再统一走 80/443 入口。这也让我意识到,Agent 开发和传统 Web 开发是深度绑定的,你把后者练扎实,前者上手会非常快。
3.4 第四阶段(第 5-6 周):上难度,做一个有工具调用闭环的业务 Agent
第四阶段挑战一个包含真实工具调用的场景,比如"数据库查询 Agent"或"运维告警分析 Agent"。我推荐后者,因为它的反馈更直观。
场景设计:接入一个模拟的告警接口,Agent 被允许调用几个固定工具:查询告警列表、查询服务状态、查询历史故障记录。用户在对话框里说一句"帮我看看 x 服务为什么挂了",Agent 的推理链条应是:调用"查告警"工具得到最近的异常项,调用"查服务状态"工具确认服务进程状态,再调用"查故障记录"工具匹配历史原因,最后汇总成一段可读的分析报告。
在这个过程中,你会自然遇到 Agent 开发的真正难点,那也是面试官最爱问的:
- 工具调用参数幻觉:模型把服务名拼错怎么办?加一层枚举校验,不在白名单内就拒绝执行。
- 任务链中途失败:三个工具调用到第二个挂了,是重试、跳过,还是直接中断回复用户?
- token 成本失控:每多一次工具调用,都会把工具返回内容塞进历史记录,最后上下文越长、费用越贵。你必须在代码里管理哪些信息要留在上下文里,哪些要丢。
这些问题的解法没有标准答案,但每一题都是你简历上"项目难点"的素材,也是你面试时比背概念型选手更有说服力的底气。
3.5 关于 Rust、微调和 RAG 的选择题
看到不少热搜里有"基于 Rust 语言 AI Agent",这里我必须泼一盆冷水:转岗阶段,不要因为 Rust 听起来硬核就选它。Rust 写 Agent 的优势在于执行性能和内存安全,适合做本地运行的高性能 Agent 引擎或边缘设备上的轻量推理管线。但绝大多数业务场景的 Agent 是 IO 密集和 LLM API 密集,瓶颈不在语言而在网络和模型推理速度。你用 Python 写,三周能出活;你用 Rust 写,光生命周期和异步并发就能劝退半路出家的新人。已有 Rust 基础的朋友当然可以玩,但把它作为入门转岗的主线,性价比极低。
微调也不是入门必修课。面向企业私有知识库的 Agent,先做好 RAG 往往就能解决八成问题。微调适合的是"模型的表达习惯、输出格式、领域术语"需要强约束的场景。等你把应用层跑通了,再回来研究微调会更有的放矢。
4. 拆开 AI Agent 主流架构,你面试时才有料可聊
4.1 单 Agent 的标配:ReAct 循环没你想的那么神秘
面试官问"你了解主流 Agent 架构吗",多数时候期待你回答 ReAct 模式。ReAct 全称是 Reasoning + Acting(推理 + 行动),思想很简单:让模型循环执行"思考-行动-观察"三步,直到得出最终答案。类比来说,它让 Agent 不再是你问一句它答一句,而是给它一个任务,它会自己拆解"先做什么、再做什么、用什么工具、看到什么结果",然后一步步执行下去。
工程实现上,它就是一个循环:
- 把用户问题和可用工具的描述塞进 prompt;
- 让模型输出"下一步调哪个工具、传什么参数"(这个过程叫推理);
- 程序执行工具,拿到结果(这个过程叫行动);
- 把结果拼回对话历史,让模型"观察"结果,再决定下一步;
- 直到模型认为任务完成,输出最终答案。
这个循环看起来优雅,但生产环境里你必须给它加保险丝:最大步数限制、单步超时、预算上限。比如你给 Agent 设 max_steps=5,它就不会因为推理跑偏而无限循环烧钱。理解了这层,你就能回答面试里的经典问题"Agent 无限循环怎么办"。
4.2 Planner-Executor 与多 Agent:什么场景真的需要
ReAct 适合单线程任务,但当一个任务本身可以拆成多个可并行子任务时,效率会不够。这就轮到 Planner-Executor(规划-执行)模式登场:一个"规划器"Agent 负责把大任务拆成若干子任务,再派发多个"执行器"Agent 分别完成,最后统一汇总。它本质上是一个微型的项目管理系统,项目经理(规划器)拆活,员工(执行器)干活、汇报。
不过,多 Agent 协作是这个领域被过度炒作的重灾区。真实项目中 90% 的场景不需要多 Agent。因为多 Agent 引入的额外开销极其明显:每个 Agent 都要消耗 token,Agent 之间传递信息会重复消耗 token,通信语言不精确时还会彼此误解、甩锅。我和同行交流时大家的共识是:能用单 Agent 加工具解决,就绝不上多 Agent。只有当子任务确实能并行、并且各任务边界清晰时,多 Agent 才划算。你把"什么时候不该用"讲清楚,面试官反而更认可你。
4.3 Memory(记忆)与工具层,常常是被忽略的工程重头
主流架构里最后两大块是 Memory 和工具层。
Memory 分两层:短期记忆,指当前对话轮次里模型的上下文窗口;长期记忆,指存到向量数据库或外部存储里的历史事实。工程上的难点不是"用什么数据库"——选型大家都会——而是怎么决定哪些东西值得长期记忆、哪些过期信息要清理。比如客服 Agent 记住用户的收货地址是合理的,记住用户昨天抱怨过网络慢则可能是一种负担。记忆策略本质上是一个"信息筛选"问题,模型负责判断,代码负责执行,边界要划清楚。
工具层则是 Agent 和外部世界交互的唯一通道。它的质量直接决定 Agent 的能力边界。工程上要做到以下几件事再考虑上线:
- 统一工具描述 Schema:每个工具的说明、参数、返回结构必须机器可读、模型可理解;
- 权限隔离:给 Agent 的工具调用加上角色和权限校验,避免"能查数据"升级成"能删数据";
- 全局异常捕获:工具返回异常时,不能把原始报错堆栈直接丢给模型,容易诱导模型胡言乱语;要把异常翻译成"该工具暂无数据/超时",让模型有一个明确的观察结果可处理。
4.4 怎么通过读开源项目消化这些架构
看十篇架构文章,不如读一个开源 Agent 项目的核心代码。推荐两类项目:一类是 LangGraph 自带的示例项目,尤其是带多工具调用的那个;另一类是 GitHub 上星标高、且保持活跃更新的生产级 Agent 应用,比如一些开源的个人助理、企业知识库 Agent。读的时候带着三个问题:
- 这个项目的循环在哪里实现,终止条件是什么?
- 工具调用失败的分支长什么样?
- 上下文/记忆是怎么维护的,超出窗口做了什么处理?
把这几个问题的答案从代码里找出来,再对比你现在自建的小项目哪里做得不够,比看一百页架构文档都管用。
5. 转岗的实操打法:没有生产级经历,简历和面试怎么扛
5.1 用"一个能讲三十分钟的项目"代替课程证书
没有大厂生产环境经历,是转岗者最焦虑的地方。但这个焦虑可以通过项目设计弥补。我不建议你做一个所有人都做的"通用客服问答机器人"——那类项目面试官一天看八十份,没有任何记忆点。你要做一个有业务纵深的小项目,能围绕它连续讲三十分钟技术决策。
下面是我比较看好的三个项目方向,难度递增:
| 项目方向 | 核心功能 | 为什么有记忆点 |
|---|---|---|
| 基于 Flask 的简报生成 Agent | 接收一批资料,自动分类、提炼、生成结构化日报 | 体现文本处理编排能力和对输出质量的把控 |
| 基于 Django 的运营数据分析 Agent | 接入报表库,用自然语言查询数据,生成图表和归因结论 | 体现 RAG 之外的工具调用能力和数据安全意识 |
| 本地部署的多 Agent 演示系统 | 用虚拟机+Nginx 跑多个 Agent 服务,供内部团队试用 | 体现实战部署能力,还能顺带展示 Nginx 配置、域名分发等运维基本功 |
以第二个项目为例,你在简历里不写"实现了一个 ChatBI",而应该拆成四行:
- 设计并实现了基于 Django 的自然语言数据查询服务,将用户问题经意图识别后映射到 SQL 查询模板,支持五类常用分析口径;
- 对模型生成的 SQL 做了白名单校验和结果集大小限制,防止运行时产生超限查询;
- 通过缓存和异步任务将查询平均响应时间控制在 3 秒内,并记录 token 消耗用于成本分析;
- 为业务方提供 Web 界面和 API 两种接入方式,内部试用期间稳定运行超过两个月。
你发现没有,这里没有一句话在吹"我用了 LangChain、我了解 Agent",但每一句话讲的都是 Agent 落地的工程细节。
5.2 面试中怎么讲 Agent 项目:把踩坑讲成方案
面试官大概率会问以下问题,你需要准备好对应的"踩坑-分析-方案"三段式回答,而不是只背结论:
面试官:你说说 token 和上下文的关系,你的项目里怎么控制成本?
你答:token 是模型计费和输入长度的基本单位。我的项目里最早把整个对话历史都塞进上下文,结果用户连续问十轮后 prompt 越来越长,不仅慢而且贵。后来改成滑动窗口,只保留最近五轮对话,加上对工具调用结果的摘要压缩,成本降了一半,回答质量也没明显下降。
面试官:模型调工具时参数错了怎么办?
你答:我在工具入口加了一层参数校验,比如查单号必须符合我预设的正则,查日期必须符合格式且不能晚于今天。校验不过就返回一个"参数非法"的明确结果给模型,让它重新提取或让用户确认。这样从源头拦截了大部分幻觉参数。
面试官:Agent 跑偏了,你有没有兜底机制?
你答:有 max_steps 限制和超时保护,达到上限后强制中断并提示用户人工介入。另外每个工具的调用日志都会完整记录输入输出,方便事后复盘是哪一步推理导致跑偏,再针对性调 prompt 或加约束。
这套回答的核心逻辑是:不要堆名词,要讲决策链路。你让面试官看到的不是一个会喊口号的人,而是一个能拆解问题、做工程取舍的人。
5.3 前端入口和横向技能别丢
Agent 产品最终要有人用,而大部分交互界面还是 Web、插件或机器人。你之前在 Vue、React 等前端技术上的积累,尽量不要丢,它们反而是你区别于纯后端转岗者的优势。市面上有一个词叫"AI 应用工程师",这类岗位要求你横跨前后端、大模型 API、部署运维,能一个人把 Agent 从想法推到上线。这个岗位画像中的"前端能力"占比不低。如果你再能顺手做点 IDEA 插件或浏览器插件,给 Agent 加一个"不离开当前工作台"的入口,简历的完整度立刻上一个台阶。
5.4 关于"开发一个 App 上架要多少钱"这类真问题
转岗讨论得久了,不可避免地会碰到"做自己的产品"这个问题。有朋友问开发一个 App 上架大概多少钱——这其实不是一个能一句话回答的题目,和 Agent 开发同理:决定成本的不是平台,是你要做的核心功能有没有被验证过。对转岗者来说,最经济的路径不是上架 App,而是先用 Web 页面或聊天机器人验证需求,成本几乎只有服务器费用和 API 费用。把 Agent 做扎实再谈上架,才是花小钱办大事的思路。
6. 转岗路上的三种典型失败路径,看看你有没有中招
最后分享三种我在这半年里反复见到的失败状态。它们比选错课程更隐蔽,也更容易把转岗拖进死胡同。
收藏家/下载党。特征是把各种 Agent 学习路线、架构图、资料包存得琳琅满目,GitHub 上点 star 的仓库比写的代码还多,每周都在"找资源"而不是"用资源"。这背后是一种很常见的心态:囤积资料能带来"我还在学习"的安全感。解法很简单——打破囤积循环,只留一份学习路线,其他全部卸掉,然后从今天开始写第一段调 API 的代码。学习 Agent 开发的唯一可靠进度条,是你本地跑通的脚本数量。
框架盲流。特征是三个月换一个框架,看到新出的 Agent 框架就兴奋,跟风重写项目。框架换来换去,基础却从没打牢。其实框架只是编排队形的工具,你需要的核心能力是理解"模型输出-工具执行-结果观察"这个闭环,并知道在什么场景用它。用熟了 LangGraph 再看别的框架,大同小异。框架盲流的解法是给自己定一条纪律:未完成一个完整项目之前,不碰新框架,不看框架对比文章。
调参迷信。特征是遇到问题首先怀疑 prompt 没调好,然后把 prompt 改上万种姿势,效果时好时坏。真实情况是,很多 Agent 问题的根因压根不在 prompt:可能是上下文里缺少关键信息,可能是工具描述含糊导致模型无从下手,可能是用户输入本来就歧义大。调参迷信的人,认为一切问题都能通过"给模型说好话"解决;工程思维的人,会先给系统加观测手段,用日志和数据定位问题出在哪一环。建议你从第一天开始就在项目里埋日志,记录每一步的输入输出和 token 消耗,它们会是你排查问题的好帮手。
这三条路径我都走过,尤其是第二条和第三条,几乎浪费过我一个多月的时间。绕开它们的唯一办法,就是回归工程常识:小步快跑,尽快做出能运行的东西,再在运行中迭代。这条原则适用于课程筛选,也适用于 Agent 开发本身。