你可以在 4 个月内从零基础成为一名可被录用的 AI 工程师。这是具体的学习路径。

@free_ai_guides
英语2天前 · 2026年7月07日
109K
709
147
14
1.5K

TL;DR

本综合指南提供了一份为期 4 个月的 AI 工程师成长路线图,侧重于实际构建技能而非深奥的理论。它详细规划了每月学习目标,涵盖 Python、API 集成以及高级 LLM 技术。

AI 工程是当下科技行业中薪资最高、增长最快的岗位之一。而进入这个领域的门槛,现在比以往任何时候都要低。

大多数指南都搞错了方向。它们扔给你一堆理论,让你精通线性代数和神经网络数学,结果你在第二周就放弃了。

或者它们用 80 个链接把你淹没,毫无条理,也没有结论,让你花在决定学什么上的时间比实际学习的时间还多。

AI Guides - inline image

我通读了那些流行的学习路线图,测试了它们推荐的工具,然后构建了一个我会亲手交给正在转行、且有正事要做的朋友的版本。

不需要数学学位。不需要四年计划。

四个月的专注学习,每项技能一个清晰的选择,你可以直接复制的真实提示词,以及那些悄无声息地扼杀大多数转行尝试的错误。

我先说说为什么我认为时机很重要,然后给出完整的路径。

为什么大门敞开了(而且我能证明)

你可能听说过 AI 会抢走工作。

但有一个部分很少被提及:AI 正在以几乎比市场上任何其他领域都快得多的速度,创造出一个特定的、高薪的岗位类别,而通常的准入门槛正在消失。

AI Guides - inline image

普华永道 2026 年全球 AI 就业晴雨表分析了横跨六大洲超过十亿个招聘广告。对于任何考虑转行的人来说,有三个发现值得关注。

首先,需要 AI 技能的岗位增长速度大约是整体市场的八倍。AI 技能岗位增长了 69%,而整体就业市场只增长了 9%。

这不是一个可以忽略的误差。这是一个正在与周围一切拉开差距的类别。

其次,薪资溢价是真实存在的,并且还在上升。拥有 AI 技能的工人比没有这些技能的可比岗位享有 62% 的薪资溢价,高于前一年的 57%。

公司愿意为那些真正能用这些工具进行构建的人支付更多,而不是更少。

AI Guides - inline image

第三,也是改变转行者算盘的一点:学位要求在下降,而且下降最快的正是这些岗位。

普华永道发现,从 2019 年到 2024 年,要求学位的 AI 增强型岗位比例从 66% 下降到 59%。

对于 AI 能自动化部分工作的岗位,这一比例下降得更多,从 53% 降至 44%。在受 AI 影响的工作中,雇主比任何其他领域都更快地放弃了学历筛选。

还有一个数字值得深思。在美国,最受 AI 影响的初级岗位自 2019 年以来增长了 35%。

同期,其他初级岗位下降了 10%。AI 阶梯的最底层正在变宽,而其他初级岗位市场却在萎缩。

现在,我要给出一个诚实的反面观点,因为我不是来向你兜售幻想的。

普华永道还发现,受 AI 影响的初级岗位越来越多地要求过去只有高级人员才具备的技能:判断力、沟通能力、以及对结果负责而不是对任务负责的能力。

门槛并非全面降低。它只是转移了。不再是“你有没有学历”,而是“你是否真的能让这个东西工作,并解释它为什么能工作”。

如果你是一个没有工作经验的应届毕业生,你可以把这看作是坏消息。但如果你是从另一个行业转行过来,那就把它看作好消息,因为你已经拥有了他们现在正在寻找的东西。

你交付过东西。你与利益相关者打过交道。你在压力下承担过责任。

一个 22 岁拥有计算机科学学位的毕业生通常没有这些经历。如果你把你现有的判断力与本指南中的技术技能结合起来,你并不会落后于那些应届毕业生。

在雇主最看重的方面,你领先于他们。

这就是转行者的优势,几乎没有路线图会告诉你这一点。在整整四个月里,把它记在心里。这正是为什么这个计划对你来说是切实可行的。

快速说一下钱的问题,因为在你投入四个月之前,你需要知道真实的数字。

我会在最后给出完整的明细和来源,但简而言之:截至 2026 年中,Glassdoor 数据显示美国 AI 工程师的平均薪资约为 143,500 美元,典型范围大致在 115,000 美元到 181,000 美元之间。

高级岗位的薪资要高得多。负责招聘生产级 AI 岗位人才的猎头报告称,中级基础薪资集中在 155,000 美元到 200,000 美元之间。

这些不是从炒作帖子里扒出来的炒作数字。它们是当前的数据,我会告诉你每个数字的来源。

AI 工程师实际做什么(60 秒版本)

在开始计划之前,我们先消除最大的恐惧来源,因为它比任何技术障碍都更能阻止人。

当大多数人听到“AI 工程师”时,他们脑海中浮现的是一个人在实验室里从头训练一个巨型模型,周围环绕着 GPU 和他们永远无法理解的数学。

那是另一份工作。它叫做研究科学家或 ML 研究员,这类岗位相对较少,而且通常确实需要高等学位。

AI Guides - inline image

那个增长速度比市场快八倍的 AI 工程师岗位,完全是另一回事。

你是在现有模型的基础上构建产品和功能。你使用 Claude、GPT 或一个开源模型,然后让它在一个真实的应用程序中执行一个特定的、可靠的任务。

在实践中,这意味着你要连接模型 API,设计提示词和提供给模型的上下文,从中获取结构化数据,将模型连接到工具和数据库,让它检索正确的信息,处理所有可能出错的情况,然后部署它,让真实用户可以使用。

它介于软件工程、产品工作和应用 AI 之间。你是一个构建者,而不是一个研究者。

这是我用来判断的一句话测试。如果你能让一个 LLM 在一个应用程序中可靠地执行特定任务,并且你理解得足够多,能在它出问题时修复它,那么你就是一名 AI 工程师。就这么简单。

本指南中的所有内容,都是为了让你能够达到这个标准。

你不需要知道 Transformer 内部是如何工作的。你不需要微积分。你不需要能够推导反向传播。

你需要成为一个有能力的构建者,懂得如何在现实世界中与这些模型协作。

这是一项可以学会的技能,而四个月的专注学习足以让你掌握它。

在开始第一个月之前请阅读:扼杀转行尝试的 4 个错误

我特意把这部分放在路线图前面。

大多数指南把错误放在最后,但导致转行失败的错误发生在第二周,而不是第三个月。如果你只记得本指南的一个部分,请记住这个部分。

我见过人们,包括早期的我自己,犯过每一个这些错误。它们与智力无关。

它们关乎策略。修正策略,四个月的计划才能真正奏效。

错误 1:从理论和数学开始。

你感到兴奋,想把事情做对,于是你去找一门机器学习课程,从线性代数、梯度下降和神经网络背后的数学开始。

三周后,你看了很多讲座,但什么都构建不出来,感觉自己像个冒牌货。于是你放弃了。

解决方法:跳过它。对于你目标中的工作,你不需要推导数学公式。

你需要构建。

当你真正在项目中遇到它们时,你会学到你实际需要的概念,并且因为它们与你构建的东西相关联,你会记得更牢。

理论优先是聪明人放弃这个领域最常见的原因。不要从这里开始。

错误 2:看教程而不是动手构建。

这个错误很隐蔽,因为它感觉像是在进步。你看了一个四小时的 Python 课程,跟着点头,感觉自己学到了东西。其实你没有。

你只是看着别人学到了东西。当你打开一个空白文件时,什么都想不起来。

AI Guides - inline image

解决方法:30 分钟法则。每花一小时观看或阅读,至少要花 30 分钟在没有教程的情况下动手构建。

自己把例子打出来。把它们弄坏。修改它们。遇到错误并修复它们。错误才是真正的学习。

一个构建得很糟糕但坚持了四个月的人,每次都胜过完美地看了四个月教程的人。

雇主看你 GitHub 十秒钟就能看出区别。

错误 3:学习工具而不是技能。

你听说 LangChain 很火,于是你深入钻研 LangChain。

六个月后,这个领域已经变了,大家都在用别的东西了,你的 LangChain 知识感觉白费了。于是你去追逐新工具。

然后那个新工具也变了。你总是落后,因为你优化错了层面。

解决方法:学习工具背后的技能。编写能产生可靠输出的提示词的技能,不会因为框架更新而过时。

从模型中获取结构化数据的技能,或者评估你的系统是否真正有效的技能,或者判断一个任务何时需要 Agent 而不是单次调用的技能——这些技能会跨越所有曾经存在和将要存在的工具。

把学习工具看作是练习技能的一种方式,而不是目标。本指南正是围绕技能来组织的。

错误 4:等到你感觉准备好了才公开构建。

你决定,一旦你“准备好了”,就开始分享你的工作、申请职位或提供自由职业服务。

你永远不会感觉准备好了。“准备好了”是一种在你开始之后才会出现的感受,而不是之前。

与此同时,那些获得工作机会和客户的人,是在他们觉得自己有资格之前的几个月就开始分享粗糙作品的人。

解决方法:从第一个月开始就公开构建。发布你做的那个小东西。写下你学到的东西。

每完成一个项目,当天就把它放到 GitHub 上,即使它很丑。

“我在学习”和“我在公开构建”之间的差距,是大多数转行者被困住一年的地方。尽早缩小这个差距。

没有人会那么仔细地关注你早期的作品以至于让你难堪,而且复利效应从你开始的那一天就开始了。

在整个过程中,牢记这四点。

下面的路线图设计为默认避免所有这些错误:技能优先、构建优先、工具无关、从第一天起公开。

AI Guides - inline image

第一个月:Python 和基础架构

你这个月的目标:成为一个能用的 Python 开发者,能够调用 API、管理一个小项目,并且不再需要搜索基本语法。

不是专家。是能用。

第二到第四个月的所有内容都假设你能编写干净的 Python 代码并在终端中工作。这是基础,仓促行事以后会给你带来麻烦。

在开始之前,你需要内化一件事:AI 工程首先是软件工程。AI 部分建立在普通的软件栈之上。

如果底层的栈不稳定,AI 部分就永远不可靠。所以第一个月是关于让你对基础知识足够熟悉,以至于它们不再成为你的障碍。

我会为每项技能提供一个首选,并附上明确的选择理由。我刻意不给你每个主题五个选项。选择是动力的敌人。

选择我指出的那一个,只有当它真的不适合你时才去尝试别的。

AI Guides - inline image

Python

Python 是整个领域的语言。你在未来四个月里接触到的几乎所有库、API、教程和工作都是用 Python 的。学会它,其他一切都会变得更容易。

我的选择:CS50P,哈佛大学的 Python 编程入门。免费、严谨,并且它迫使你真正解决问题,而不是看着别人解决问题。

习题集是全部的价值所在。它比一个温和的 YouTube 课程要求更高,而这正是关键所在。

你想要那个让你稍微挣扎一下的版本,因为挣扎是技能形成的地方。

cs50.harvard.edu/python 找到它。

如果你是一个绝对的初学者,觉得 CS50P 太难了,YouTube 上的 freeCodeCamp Python 课程是一个更温和的入门途径,但把它当作热身,而不是主菜。

一旦你不害怕面对一个空白文件,再回来学习 CS50P

实际需要关注的内容,大致按顺序:变量和数据类型、循环和条件语句、函数,然后是集合类型(列表、字典、集合、元组)。

然后是文件处理以及读写 JSON,你会经常在 AI API 中使用它。

然后学习足够的类和面向对象基础知识,以便在阅读他人代码时不会恐慌。

然后是用 try 和 except 进行错误处理。

最后是虚拟环境和 pip,这样你就可以安装包而不会破坏你的系统。

不要试图记住所有这些。理解到足以快速查找的程度,并通过构建来巩固它。

你第一个月的 Python 构建目标:一个能做点实事的小型命令行工具。

一个能读写 JSON 文件的费用追踪器就不错。或者一个调用免费公共 API 并以清晰格式打印结果的脚本。

大约 60 到 100 行你自己的代码。

它是否丑陋并不重要。重要的是你写了它。

从第一天起用 AI 学习

这就是我会做一些旧路线图不会做的事情:使用 AI 来学习 AI,从第一周开始。

你拥有有史以来最好的耐心导师,而且在免费套餐上它不花一分钱。当你遇到一个你不理解的错误时,不要花 40 分钟在论坛上。

把它粘贴到 Claude 或 ChatGPT 中,让它用通俗易懂的语言解释错误,并引导你走向修复方法,而不是直接把答案给你。

这里有一个我建议你在第一天就设置好的复制粘贴提示词。保存它。

这是本指南中几个值得收藏的工件中的第一个。

提示词:你的 Python 学习伙伴

(框架:FAG 学习伙伴,由 AI Guides 提供)

text
1你的工作:在我作为转行者学习编程时,充当我的耐心 Python 导师。
2
3关于我的背景:
4- 我正在学习 Python,目标是成为一名 AI 工程师。
5- 我在编程方面完全是新手,但在努力工作方面不是。
6- 我通过动手实践学习效果最好,而不是直接得到答案。
7
8你需要做什么:
9- 当我粘贴一个错误时,用通俗易懂的语言解释它的含义以及可能的原因。不要直接给我修复好的代码。
10- 先用一个提示引导我走向修复方法。只有当我问第二次时才展示完整的解决方案。
11- 当我分享我写的代码时,告诉我一个做得好的地方和一个可以改进的地方。只限于这两点。
12- 在我让某样东西工作之后,问我一个简短的问题,检查我是否真的理解了。
13
14规则:
15- 不要使用专业术语而不在旁边用一行通俗易懂的英文解释。
16- 假设我想学习,而不仅仅是应付过去。稍微慢一点没关系。
17- 如果我即将养成一个坏习惯,直接而友善地指出来。
18
19输出风格:对话式,简短,一次只讲一个概念。
AI Guides - inline image

这个月每天都使用它。它能把学习编程中令人沮丧的部分变成一场对话,而不是一堵墙。

它还能让你在提示词方面变得熟练,这是第二个月的核心技能,而你甚至还没意识到这一点。

有一点需要注意,以免你养成坏习惯:使用 AI 来理解和排除障碍,而不是让它为你写全部代码。

如果你让它在你看着的时候写代码,你就又回到了错误 2。

让它解释。你来打字。

Git 和 GitHub

Git 是开发者保存、版本控制和分享代码的方式。

GitHub 是你的工作在公开场合存在并成为作品集的地方。

你会经常使用这两者,对于转行者来说,GitHub 在你拥有简历之前,是你最接近简历的东西。

我的选择:GitHub Skills。免费、互动,并且由 GitHub 在 GitHub 内部构建,所以你可以通过使用工具来学习它。从那里开始,而不是抽象地阅读关于 Git 的内容。

skills.github.com 找到它。

如果分支和合并模型让你困惑(每个人一开始都会困惑),Learn Git Branching 这个可视化工具通过让你看到分支的移动来帮助你理解。

需要关注的内容:核心循环:init、add、commit、push 和 pull。然后是分支和合并。

然后是 .gitignore 文件的作用,以及为什么你永远不应该将密钥或 API 密钥提交到公共仓库,这在你使用付费 API 时非常重要。

然后是如何编写一个基本的 README,因为你的 README 文件稍后会在你的求职中发挥重要作用。

这个月要养成的习惯:你接触的每个项目,哪怕只是一个 20 行的脚本,都要在创建当天放到 GitHub 仓库里。

这就是错误 4 的解决方法在实践中的应用。你从一开始就在安静地公开构建。

到第四个月,你将拥有一个工作轨迹,而不是一个空白档案。

终端

你会经常从命令行运行脚本、安装包和管理项目。

在终端里速度慢或感到害怕会拖累其他所有事情,而这是一个容易解决的问题。

我的选择:一个简短的初学者终端课程来覆盖基础知识,然后就在其中工作。如果你想要更深入的内容,麻省理工学院的“缺失的学期”材料很不错,但对于第一个月,你只需要导航和运行东西。

学习 cd、ls、pwd、mkdir 和 rm 来移动和管理文件。

学习 cat 和 grep 来阅读和搜索。

学习如何从终端运行 Python 脚本以及如何设置环境变量,这在处理 API 密钥时会用到。

你不需要成为 shell 高手。你需要不再犹豫。

花一周时间,所有事情都用终端来做,即使是你通常用鼠标做的事情,你就能达到目标。

API、JSON 和 HTTP

这是通往第二个月的桥梁。

从使用 LLM 构建的第一天起,你就要进行 API 调用,这意味着在接触 OpenAI 或 Anthropic 的工具之前,你需要了解 Web API 是如何工作的。

我的选择: MDN Web 文档 HTTP 概述 用于概念,以及 Python requests 库文档用于在代码中实现。

MDN 比任何其他免费资源都更清晰地解释了请求和响应是如何工作的。

然后 requests 向你展示如何用几行 Python 代码进行那些调用。

需要关注的内容:什么是 GETPOST 请求,以及如何在 Python 中发起它们。

读写 JSON,这是所有 AI API 使用的格式。

HTTP 状态码以及常见状态码的含义,特别是 200(成功)、401(API 密钥错误)、429(速率限制)和 500(服务器错误),因为你会经常看到这些。

什么是 API 密钥以及基本身份验证是如何工作的。

以及 Python 中 async 和 await 的简单介绍,当你稍后开始从模型流式传输响应时会需要它。

现在不要深入 async。

只需要知道它存在以及它大致解决了什么问题。

你在这里的构建目标:一个调用免费公共 API(比如不需要密钥的 Open-Meteo 天气 API)并以清晰格式化的输出打印结果的 Python 脚本。

这是你在整个第二个月要做的事情的缩小版,只是还没有 AI 部分。

关于 SQL 的快速说明

你不需要成为数据专家,但你会经常需要查看和查询数据,基本的 SQL 能经常帮你大忙。

我的选择是 SQLBolt,它免费、互动,并且通过大约 20 个简短的浏览器内课程教你 SQL 的核心内容。

sqlbolt.com 找到它。

专注于 SELECTWHEREGROUP BYJOINORDER BY

目前这些就够了。一旦项目有需要,你可以再深入学习。

第一个月里程碑

到这个月底,你应该能够编写一个 Python 程序,它可以读写文件、调用 API 并处理自己的错误而不会崩溃。

你应该用 Git 管理那个代码的版本,并让它存在于 GitHub 仓库中。

你应该能在终端中自如地移动。你应该理解什么是 HTTP 请求,并能用 Python 发起一个。

并且你应该能运行一个基本的 SQL 查询。

如果你能做到这些,你就有了基础。

大多数放弃的人从未到达这里,而到达这里确实是整个过程中最难的部分,因为它是最不令人兴奋的。

从第二个月开始会变得更有趣,因为从这里开始,你将用 AI 进行构建。

第二个月:使用 LLM API 进行构建

你这个月的目标:使用模型 API 构建真正的 AI 驱动功能。

AI Guides - inline image

到月底,你应该能自如地编写能产生可靠输出的提示词、从模型获取结构化数据、让模型调用你自己的函数、管理对话,以及处理所有可能出错的情况。

这是整个工作的核心。之后的一切都建立在此之上。

这是开始感觉真实的一个月。你停止做设置工作,开始让模型做事情。

在这里慢慢来。

在第二个月深入钻研,其回报比在本指南中任何其他地方深入钻研都要大。

真正有效的提示词

提示词不仅仅是礼貌地向聊天机器人提问。

它是一种编写指令的技能,这些指令能从一个本质上是概率性的系统中产生一致、可靠的输出。

作为一名 AI 工程师,你在这里花费的时间会比你预期的要多,而精通它是你这个月能做的最有杠杆效应的事情。

我的选择:Anthropic 的交互式提示工程教程,在 GitHub 上。这是最动手实践的资源,分为多个章节,包含你可以针对 Claude API 运行的真实练习。

你自己练习编写和修复提示词,而不是阅读相关内容,如果你还记得错误 2 的话,这正是关键所在。

anthropics/prompt-eng-interactive-tutorial 仓库中找到它。完成它之后,Anthropic 和 OpenAI 的官方提示工程文档是你将来会参考的资料。

需要关注的内容:系统消息和用户消息之间的区别,以及为什么这种区别很重要。

为什么具体性每次都胜过礼貌。

思维链提示,你要求模型在回答之前逐步推理,这能显著改善任何涉及逻辑的任务的结果。

在你的提示词中使用示例,称为少样本提示,向模型展示你想要的格式。

以及培养对微小的措辞变化如何导致巨大的输出变化的感知,这只有通过大量实践才能获得。

一个能快速教会你这个的构建练习:选择一个真实的任务,比如总结一份文档或分类一条反馈,然后为它写五个不同的提示词。

全部运行一遍。

并排比较输出。你会立刻看到提示词设计在多大程度上驱动了可靠性,而且这一课比任何讲座都更深刻。

结构化输出

在一个真实的应用程序中,你几乎从不希望从模型那里得到一段文本。

你想要的是你的代码可以解析、存储和使用的结构化数据。结构化输出通过强制模型返回与你定义的架构匹配的数据来解决这个问题。

这是区分演示和真正能在软件中工作的东西的技能之一。

我的选择: Python 的 Instructor 库,以 OpenAI 和 Anthropic 的官方结构化输出文档为后盾。

Instructor 是使用 Pydantic(一个用于定义数据形状的 Python 库)从任何主流模型获取结构化数据的最清晰方式。

它使用相同的代码跨提供商工作,并在模型返回格式错误的内容时自动重试。

它非常接近许多在职工程师实际使用的方式,这使得它值得在真实项目上学习,而不是在一个玩具版本上。

需要关注的内容:定义一个描述你想要的数据的 Pydantic 模型,将该架构传递给 API,并处理模型拒绝或返回意外内容的情况。

理解真正的结构化输出(架构被强制执行)和较宽松的 JSON 模式(不保证)之间的区别。

这是你的第二个可收藏的工件,一个用于可靠结构化提取的提示词模式,即使在你添加库之前也能工作。

提示词:结构化数据提取

(框架:FAG 提取器,由 AI Guides 提供)

text
1你的任务:从提供的文本中提取结构化数据,并以干净的 JSON 格式返回。
2
3操作步骤:
4- 仔细阅读输入文本。
5- 仅提取下方“输出”部分列出的字段。
6- 如果文本中缺少某个字段,请使用 null。不要猜测或编造。
7- 仅返回 JSON 对象。不要解释,不要使用 Markdown,不要添加前言。
8
9规则:
10- 每个值都必须能在输入文本中找到依据。
11- 日期格式为 YYYY-MM-DD。数字使用数字类型,而非字符串。
12- 如果文本存在歧义,优先使用 null,而不是给出一个自信的错误答案。
13
14输出:一个包含以下字段的 JSON 对象:
15{
16 "field_one": 字符串或 null,
17 "field_two": 数字或 null,
18 "field_three": 字符串列表或空列表
19}
20
21输入文本:
22[在此处粘贴文本]

这个关于测试失败的说明,是因为我答应给你一个诚实的版本:第一次这样做时,模型有时会将 JSON 包裹在 Markdown 代码围栏中,或者在它前面添加一句友好的话,然后你的解析器就会出错。

这很正常。解决方法是在解析之前去除代码围栏,并在提示中明确说明你只想要 JSON 对象,上面的模式正是这样做的。

一旦你遇到并处理过这个问题,你就能永远处理好它。

你的构建目标:一个收据或发票解析器。

输入像“发票 123,3 个小部件共 $45.99,3 月 30 日到期”这样杂乱的原始文本,然后返回一个包含发票编号、金额、物品数量和到期日的干净结构化对象。

这是一个非常实用的小工具,也是一个很好的作品集素材。

工具调用

工具调用是将文本生成器转变为能够执行操作的东西的关键:搜索网络、查询数据库、调用你的 API、运行代码。

这是本指南中最重要的技能之一,也是第 3 个月所有内容的基础。

让你理解它的思维模型是:模型不运行你的函数。

它会查看对话,决定应该使用某个工具,然后返回一个结构化的请求,其中包含函数名称和参数。

你的代码运行该函数,并将结果交回给模型。模型是决策者。你的代码是执行者。

我的推荐:同时阅读 OpenAI 的函数调用指南Anthropic 的工具使用文档

两者概念相同,语法略有差异,同时阅读能让底层模式变得清晰。

然后,动手实践一个可运行的笔记本示例,比如 OpenAI Cookbook 中的例子,这样你就能看到从开始到结束的完整循环,而不是零散的片段。

需要关注的重点:在模式中清晰地描述你的函数,解析模型的工具调用响应,运行函数并将结果反馈回去,以及处理模型认为不需要使用工具的情况。

你的工具描述质量比初学者预期的要重要得多,这个主题在第 3 个月会再次强调。

你的构建目标:一个带有三个工具的小型助手,例如 get_weather、calculate 和 search_notes,其中 search_notes 仅在一个硬编码的字典中查找。

将它们全部连接起来,观察模型如何根据你的提问决定调用哪个工具。

当你看到它自行选择正确工具的那一刻,这个概念就会永远印在你的脑海里。

对话状态和流式传输

本月还有两个较小但至关重要的技能需要掌握。

模型在调用之间没有记忆。对话是你通过每次请求发送完整消息历史来管理的。

理解这一点是基础,而且几乎每个人一开始都会对此感到惊讶。

我的推荐是 OpenAI 和 Anthropic 的消息文档。

重点关注消息数组的结构,为什么需要附加用户消息和模型回复,当超出上下文窗口时会发生什么,以及修剪旧消息的基本策略。

构建一个简单的多轮终端聊天机器人,它能够保持历史记录并具有重置命令。这个项目虽小,但能让你完全理解这个概念。

流式传输意味着在模型生成输出时逐字显示,而不是让用户等待整个结果生成完毕。

这会让应用感觉快得多。

我的推荐是任一提供商的官方流式传输文档,以及 Simon Willison 关于流式传输底层工作原理的清晰阐述。

重点关注设置 stream 选项、遍历数据块以及从这些片段中组装完整响应。

对于任何真实用户会使用的应用,流式传输几乎总是正确的选择。

没有人愿意盯着一个旋转的加载图标等上十秒钟。

成本、故障和一个安全概念

这三件事将业余项目与可以交付给用户的东西区分开来。

成本和 Token:模型按 Token 收费,一个 Token 大约相当于四分之三个单词。

输入和输出 Token 的定价不同。

学会在发送请求前估算其成本,将提供商的定价页面加入书签,并内化一条能省钱的规则:不要为简单任务使用最大、最贵的模型。

一个更便宜的模型通常已经足够好了,而且规模扩大后的成本差异是巨大的。

故障处理:API 会失败。

可能会遇到速率限制,请求可能会超时,模型可能会返回格式错误的输出。

优雅地处理这些问题,是让产品达到生产就绪状态的关键。

学会捕获速率限制错误,并在重试之间使用逐渐增加的延迟,这称为指数退避。Python 中的 Tenacity 库可以通过一个装饰器实现这一点。

学会在信任模型输出之前对其进行验证,绝不要让意外的响应导致整个应用崩溃。

提示注入,简要说明:这是 LLM 应用中最主要的安全风险。

当不受信任的用户输入与你的指令结合时,用户可能会覆盖或劫持你的系统行为,从而发生提示注入。

你不需要在本月成为安全专家,但你需要在你发布任何东西之前知道它的存在。

OWASP 关于此的指南是权威参考。

核心防御措施:不要信任未经验证的模型输出来自动执行重要操作,并给你的工具分配完成工作所需的最小权限。

第 2 个月里程碑

到月底,你应该能够编写提示,为给定任务生成可靠的输出;使用 Pydantic 和 Instructor 从模型获取结构化的 JSON;连接工具调用,使模型能够运行你的 Python 函数;实时流式传输响应;管理多轮对话历史;在发送请求前估算 Token 成本;在不崩溃的情况下处理 API 错误和错误输出;并解释什么是提示注入。

AI Guides - inline image

这本身就是一个真实、可就业的技能组合。

许多生产中的付费 AI 功能正是这样做的,并且仅此而已。

但下个月,你将构建真正能让你获得工作的东西。

AI Guides - inline image

第 3 个月:RAG 和 Agent,让你获得工作的技能

你这个月的目标:构建系统,让模型能够根据你的文档进行回答,而不仅仅是依赖它们的训练数据;并构建能够自主执行多个步骤的系统。

AI Guides - inline image

这两项技能,检索和 Agent,是目前 AI 工程领域最受欢迎的实际能力。

几乎每个真实公司的用例,从支持机器人到内部知识工具再到文档分析,都建立在这两项技能之上。

我把许多路线图分布在两个月的内容压缩到了一个月,因为你不需要掌握每一个高级变体才能找到工作。

你需要构建一个可靠的检索系统和一个可靠的 Agent,理解每个组件存在的原因,并能够在它们出问题时进行调试。

这就是标准。让我们达到它。

RAG,先用通俗的语言解释

RAG 代表检索增强生成。

去掉行话,它很简单:你给模型一个可以查询的“图书馆”,这样它就不必记住所有东西,并且可以回答关于你特定文档的问题。

流程是:你获取你的文档,将它们分成块,将每个块转换成一串代表其含义的数字列表,并存储这些数字。

当用户提出问题时,你以相同的方式将问题转换成数字,找到数字最接近的块,然后将这些块连同问题一起交给模型。

模型使用你提供的内容来回答。这就是 RAG。其他一切都是优化。

让我们逐步构建各个部分。

嵌入

嵌入是将一段文本转换成一长串代表其含义的数字。

有用的特性:含义相似的文本最终会得到相似的数字,在这个数字空间中彼此靠近。

这种接近性使得按含义搜索成为可能,这是 RAG 的引擎。

我的推荐,用于建立直觉:Stack Overflow 博客关于文本嵌入的直观介绍,它侧重于思维模型而非数学;以及当你准备好在代码中生成嵌入时,OpenAI 的嵌入指南。

重点理解向量在概念上是什么,为什么相似的文本会产生相似的向量,以及大致如何测量两个向量之间的距离。

你不需要了解嵌入生成背后的数学原理。你需要知道如何使用它们。

一个能让你完全理解这个概念的微型构建:取 20 个相关主题的句子,将每个句子转换为嵌入,并编写一个小函数,给定一个新句子,从你的集合中返回三个最相似的句子。

这就是微缩版的 RAG。一旦你构建了这个,完整版本只是在规模上应用相同的想法。

分块

你的文档太大,无法整体嵌入,所以你在嵌入之前将它们分成块。

你如何分块直接控制你的系统找到正确信息的能力。

即使是一个完美的检索设置,如果底层的块质量很差,也会失败。

我的推荐:从 LangChain 的 RecursiveCharacterTextSplitter 开始,块大小大约 500 个字符,重叠大约 50 个字符。

这个重叠很重要,因为它可以防止你在一个块结束和下一个块开始的边界处丢失含义。

这是一个合理的默认值,可以为你提供一个可工作的基线。

需要牢记的核心权衡:块太大则丢失精度,块太小则丢失上下文。

从默认值开始,然后根据你的检索实际出错的地方进行调整。

向量数据库

一旦你有了嵌入,你就需要一个地方来快速存储和搜索它们。这就是向量数据库的作用。

我的学习推荐: Chroma。它在本地运行,无需设置任何基础设施,这正是在学习阶段所需要的。

你目前还不需要托管的云规模,过早添加它只会给你带来更多需要配置和可能出错的东西。

Chroma 让你专注于概念本身。

docs.trychroma.com 找到它。

学习创建集合,将嵌入连同元数据(如来源和章节)一起插入,通过相似性查询获取最匹配的结果,并在查询时按元数据进行过滤。

你不需要理解底层的索引算法。你需要使用它们。

当你最终需要生产规模时,如果你的应用已经使用 Postgres 数据库,pgvector 是自然的下一步;当你希望别人来运行时,也有托管选项。

但那是第 4 个月或工作中的事情了。现在,在本地使用 Chroma 就足够了。

让检索真正变得优秀

基本的相似性搜索可以让你做一个演示。

一些优化可以让你得到可靠工作的东西,了解这些优化是将复制教程的人与理解系统的人区分开来的关键。

元数据过滤:在存储每个块时,为其标记有用的信息,例如源文件、日期、章节或类别。

然后在查询时根据这些信息进行过滤。这是玩具与系统的区别,在系统中,用户可以问“只显示第四季度报告的结果”并实际得到它们。

重排序:你的第一次搜索很快但很粗略。

重排序器会获取排名靠前的几个结果,并根据与问题的真实相关性重新评分,这可以显著提高质量,同时只增加很小的速度成本。

模式是:快速检索一个宽泛的集合,然后重排序,缩小到最好的几个。Cohere 的重排序文档是学习这个的最清晰的地方,而且通常只需添加一行代码。

调试检索,因为大多数 RAG 失败都是检索失败,而不是模型失败。

当你的系统给出错误答案时,模型通常不是问题所在。

是检索交给了它错误的块。

学习常见的失败模式:问题和相关块在数字空间中不匹配,即使信息就在那里(可以通过重写查询来解决);相关信息分散在两个块中(可以通过增加重叠来解决);或者正确的块存在但没有进入顶部结果(可以通过检索更多结果然后重排序来解决)。

当答案错误时,在责怪模型之前,先检查检索到了什么。这一个习惯将为你节省巨大的挫败感。

依据和引用:一个好的 RAG 系统不仅回答问题,还会告诉你答案来自哪里,这能建立信任,并使调试变得容易得多。

将每个块的来源信息传递到你的提示中,并指示模型引用它。

这是你的第三个神器,一个让 RAG 系统保持诚实的依据提示。

这是我建议你收藏得最牢的一个,因为它区分了一个会编造答案的系统和一个你可以信任的系统。

提示:基于依据的 RAG 回答

(框架:FAG 依据,由 AI Guides 提供)

text
1你的任务:仅使用提供的上下文来回答用户的问题。
2
3操作步骤:
4- 阅读下面的上下文块。每个块都有一个来源标签。
5- 仅使用在上下文中找到的信息来回答问题。
6- 在每个声明之后,引用其来源标签,格式如 [来源:文件名,第 3 页]。
7- 如果上下文中不包含答案,请准确地说:
8 “我手头的文档中没有足够的信息来回答这个问题。”
9
10规则:
11- 永远不要使用来自所提供上下文之外的知识。
12- 永远不要猜测。永远不要用听起来合理的内容填补空白。
13- 如果上下文部分回答了问题,回答该部分,并清楚说明缺少什么。
14
15上下文:
16[在此处粘贴带有来源标签的检索块]
17
18问题:
19[用户问题在此处]
AI Guides - inline image

那个“当你不知道时准确地说出这句话”的指令至关重要。这是在检索系统中减少幻觉的最有效方法,因为它为模型提供了一种被认可的承认无知的方式,而不是为了显得有帮助而编造答案。

你的 RAG 构建

使用一个框架来整合这些,而不是从头构建每一个部分。

我推荐用于第一个 RAG 系统的是 LlamaIndex,它是以搜索优先构建的,可以用很少的代码让你得到一个可工作的流水线。

LangChain 是另一个主要选项,它在接下来的多步 Agent 工作中更出色,所以你很快就会用到它。

你的构建目标,这是一个真正的作品集素材:一个“与你的文档聊天”的应用。

导入 10 到 20 个 PDF 或文本文件(你自己的笔记或一组产品文档效果很好),构建一个能够接收问题、检索最相关块(带重排序)并返回带有引用的答案的系统。

给它一个简单的界面。

这个项目会让招聘经理认真对待你,因为它正是公司现在愿意付费构建的那种东西。

Agent

在月中,转向 Agent。

Agent 听起来像魔法,一旦你看到它,就会发现它其实很简单:它是一个循环,模型在其中反复决定下一步,使用工具执行该步骤,查看结果,然后再次决定,直到任务完成。

思维模型:Agent 是一个 while 循环,由模型做出分支决策。

思考发生在提示中。分支是模型选择使用哪个工具。执行是你的代码运行该工具。

其他一切都是管道。一旦你理解了这一点,即使是复杂的 Agent 框架也变得可读。

我的推荐,在你编写任何 Agent 代码之前阅读:Anthropic 的“构建有效的 Agent”。

这是关于 Agent 在实践中如何工作的最清晰的阐述,来自构建模型的团队。

当你准备好构建时,将其与一个动手实践的框架课程结合,例如 LangGraph 的介绍,这是最广泛使用的编排 Agent 的框架。

需要关注的重点:感知、决策、行动、观察的循环,以及它如何知道何时停止。

当工具调用在循环内失败时会发生什么。如何编写模型能够实际使用的工具描述,因为描述模糊的工具会被错误调用或被忽略。

以及管理状态,即 Agent 在工作时流经的共享内存。

本月最有价值的练习:完全不使用任何框架,仅直接使用模型 API,从头构建一个小型 Agent。

给它三个工具、一个目标和一个循环。这能让你了解框架隐藏了什么,并且让你之后接触的任何框架都变得有意义。

在你接触 LangGraph 之前先做这个。

何时不使用 Agent

这是该领域最容易被忽视的技能之一,了解这一点标志着你有判断力,而不是一个追逐新鲜事物的人。

Agent 令人兴奋,但它们也比更简单的方法更慢、更昂贵、更不可预测、更难调试。

AI Guides - inline image

选择最简单有效的方法是你知道自己在做什么的标志。

值得记住的决策框架:如果任务适合在一个带有正确上下文的提示中完成,则使用单个模型调用。

如果步骤是可预测的,则使用固定工作流,即你定义的一系列步骤。

仅当步骤数量确实不可预测并且需要模型动态决策时,才使用 Agent。

三个固定调用的链总是比一个可能进行三次调用的 Agent 更快、更便宜、更容易调试。将 Agent 保留给真正开放式的任务。

在单个调用和完整 Agent 之间,有一个广阔且富有成效的中间地带:工作流。

链式调用,其中一个调用的输出作为下一个的输入。

路由,你分类输入并将其发送到专门的处理器。

并行化,你同时运行多个调用并合并结果。

大多数实际问题最好通过工作流而不是 Agent 来解决,Anthropic 关于 Agent 的文章很好地涵盖了这些模式。

评估,简要但严肃地

你需要知道你的系统是否真的有效,而不仅仅是在你手动测试的两个例子上有效。

这就是评估的用途。构建一个小型集合,包含 20 到 30 个具有预期输出或评分标准的代表性输入,并在你更改提示、切换模型或调整检索时,用所有这些输入来运行你的系统。

像用于通用目的的 DeepEval 和专门用于 RAG 的 Ragas 这样的工具使这变得易于管理。

比工具更重要的心态是:你在没有运行评估的情况下所做的每一次提示更改或模型切换都是一场赌博。

那些交付可靠 AI 的人会持续运行评估,现在开始养成这个习惯,即使是很小的规模,也能让你领先于许多已经在该领域工作的人。

第 3 个月里程碑

到月底,你应该能够解释什么是嵌入以及为什么相似的文本会产生相似的向量;合理地分块文档;在带有元数据过滤的向量数据库中存储和查询嵌入;添加重排序以改进结果;调试检索失败而不是责怪模型;构建一个完整的 RAG 流水线,返回有依据的引用答案;从头实现一个 Agent 循环;正确判断一个任务是需要单个调用、工作流还是 Agent;并运行一个基本的评估来检查你的工作。

这就是可就业的核心。

如果第 1 到第 3 个月的基础扎实,你就能构建公司正在招聘的东西。

第 4 个月是关于证明它并以此获得报酬。

AI Guides - inline image

第 4 个月:发布它,展示它,获得工作

你这个月的目标:将你构建的一切变成现实,然后将其转化为工作或付费项目。

这是大多数人停滞不前的地方。

他们可以构建一个演示,但无法发布一个能经受真实使用考验的东西,并且他们无法将技能转化为收入。

这个月将解决这两个问题。新概念更少,实践更多,因为在这个阶段,实践才是最重要的。

足够让你应付的部署知识

你不需要成为基础设施专家。

你需要能够将一个可用的 AI 应用部署到真实用户可以访问的地方,并且它不会崩溃或让你破产。

最低限度的必备知识:学习足够的 Docker 知识来打包你的应用,使其在任何地方都能以相同的方式运行,这可以消除“在我机器上能跑”的问题。

学习将那个容器部署到某个地方。

并学习成本和可靠性的基础知识,以防止一个错误演变成灾难:在你的 API 账户上设置硬性支出限制,添加缓存以避免为相同的请求支付两次费用,并添加速率限制以防止单个用户耗尽你的预算。

Docker 的官方入门指南涵盖了打包。

对于 AI 特定的成本方面,核心措施是缓存相同的请求,在足够好的情况下使用更便宜的模型,并设置一个硬性的月度支出上限,以防止一个失控的循环在一夜之间让你损失 500 美元。

你还需要基本的可观测性,这是一个花哨的词,意思是能够看到你的应用在做什么。

LLM 应用有一个特定的问题:模型可以返回一个完全成功的响应,但这个响应也可能毫无用处或错误,而普通的监控无法捕捉到这一点。

像 Langfuse 这样的工具会追踪每一次模型调用,向你展示提示、响应、Token 成本和延迟,这使得调试和成本控制变得容易得多。

在一个项目上设置它,以便你理解这个模式。

不要在这里过度投入。

一个正确部署的应用,带有成本控制和基本追踪,能教你所需的一切,并给你一些真实的东西来展示。

部署的深度可以在工作中学习。

其他所有路线图都跳过的部分:将项目转化为工作。

你已经构建了三个真实项目。现在让它们为你服务,因为一个没人看到的优秀项目对你的职业生涯毫无帮助。

你的作品集是三个已部署的项目,每个项目都有一个能发挥实际作用的 README

AI Guides - inline image

这里有一个几乎没人会做的举动,它将使你脱颖而出:在每个 README 中,包含一个关于哪里出了问题以及你会如何改进的部分。

大多数作品集假装一切都很完美,这要么显得不诚实,要么显得肤浅。

一个写着“这是我的第一种方法失败的地方,这是我学到的,这是我如何修复它的”的 README,恰恰表明了雇主们表示他们现在正在筛选的判断力。

这是引言中提到的转行者的优势,变得可见。

没有人期望一个转行者拥有一个完美的项目。他们会对一个显然足够深入地理解自己工作并能进行批判的人印象深刻。

像这样构建每个 README:项目解决的问题,谁会使用它,你采取的方法及原因,哪里出了问题以及你学到了什么,以及如何运行它。

五个部分。

这比大多数拥有计算机科学学位的人的作品集都要好。

简历和个人简介的做法:你不需要假装拥有多年的经验。

你需要一行清晰的文字说明你能做什么。

类似于“我构建生产级 LLM 应用:RAG 系统、Agent 和 API 集成。以下是我已发布的三个项目。”

然后链接到这些项目。你现有的职业生涯是一项资产,而不是需要隐藏的东西。

“前 [你的领域] 从业者,现构建 AI 系统”是一个比“初级开发人员”更有力的故事,因为它带来了纯初级人员所缺乏的领域知识和判断力。

如果你正在从金融行业转行,你理解 AI 可以解决的金融问题。

如果你正在从医疗行业转行,同样如此。善用你的背景优势。

把公开构建当作你的渠道: 整个月里,持续分享你构建的内容和学到的经验。

我见过的最好的机会,都降临在那些保持可见度的人身上,而不是那些默默投了 500 份简历的人。

写下你的项目。分享你修复的错误。复利效应是真实的,而且现在你已经有实际的工作可以分享了,这比第一个月要容易得多。

选择一个方向

到了第四个月,你可以将你的技能指向任何符合你目标的方向。这里有三个方向,选择一个深入下去,而不是分散精力。

AI 产品工程师路径,如果你想要快速找到一份初创公司的工作,这是最佳选择: 你构建由 AI 驱动的产品,让真实用户使用。

从第一到第三个月,你已经掌握了大部分技能。

更深入地构建完整、精致的应用,并关注产品层面,也就是应用如何处理模型出错的情况、如何显示加载状态、以及用户如何提供反馈。

发布两到三个人们可以实际尝试的东西。

应用机器学习路径,如果你想要更深度的技术岗位,这是最佳选择: 超越 API 调用,进入微调领域,了解何时微调与何时优化提示词更好,使用像 Ollama 这样的工具在本地运行开源模型,以及推理优化。

需要牢记的决策框架: 从提示词开始,如果模型需要你的特定数据,则添加检索,只有当提示词和检索确实无法达到你所需的质量时,才进行微调。

微调往往被过早地使用。

AI 自动化路径,如果你想要立即从企业那里获得收入,这是最佳选择: 专注于自动化真实的业务流程,将 AI 串联到电子邮件、CRM、文档和电子表格等工具中。

n8n 这样的工具用于可视化工作流,而 LangGraph 则用于代码密集型的工作流。

这里有一个可以销售的项目: 一个潜在客户资格认定系统,它可以拉取潜在客户,使用模型研究和评分每个客户,起草个性化的外联邮件,并记录所有内容。

企业愿意为这样的系统支付真金白银。

第四个月的里程碑

到月底,你应该拥有一个部署好的 AI 应用,并带有适当的成本控制措施;三个组合项目,每个都配有诚实的 README 文件;一个清晰的一行描述,说明你构建了什么;一条公开可见的工作轨迹;以及一个你正在深入探索的选定方向。

到那时,你不再是“一个在学习 AI 的人”。你是一个交付 AI 系统的人,而这正是市场愿意为之买单的。

AI Guides - inline image

实话实说

我在一开始就告诉过你,我不会向你兜售幻想,所以在谈钱之前,先给你一个直白的版本。

四个月的专注工作能让你达到初级岗位的就业水平,或者准备好接自由职业的工作。但这不会让你成为高级工程师。

高级工程师来自于多年在真实约束下交付真实产品,没有任何指南能压缩这个过程。

四个月能给你带来的是构建、交付和部署能解决实际问题的 AI 系统的能力,这是一个真正有价值、真正能被雇佣的状态。

这假设你付出了真正的努力,大约每周 15 到 20 个小时,并且是实际在构建,而不仅仅是观看。

如果你每周只能投入 7 个小时,那么这将是一条 8 个月的路径,这也完全没问题。

时间线会拉长,但终点不会改变。让人失败的不是缓慢的节奏,而是停止。

在这里,一致性每次都胜过强度。

而这一切都建立在“错误”部分提到的一个行为上:去构建,而不仅仅是观看。

每个月都有一个项目。去做这些项目。一个在四个月内构建了四个粗糙项目的人是可以被雇佣的。

一个看了四个月完美教程的人则不行。这就是全部的游戏规则。

关于收入,附上来源

现在是你真正想要的数字,都是最新的并且有来源,因为随意的薪资声明会让这些指南失去可信度。

截至 2026 年 6 月,Glassdoor 数据显示美国 AI 工程师的平均薪资约为 143,500 美元,典型范围在 25 百分位的约 115,000 美元到 75 百分位的 181,000 美元之间,最高收入者报告可达约 223,000 美元。

高级 AI 工程师的平均薪资约为 285,000 美元,典型范围在约 221,000 美元到 375,000 美元之间,这显示了当你拥有真实经验后薪资的巨大跃升。

AI Guides - inline image

这些是 Glassdoor 基于提交的薪资数据得出的数字。

负责安排真正 AI 生产岗位的招聘人员报告,中级岗位的基础薪资集中在 155,000 美元到 200,000 美元之间,这是基于已签署的录用通知而非调查数据,这与 Glassdoor 的范围相符,为你提供了第二个独立的参考。

以及来自普华永道 2026 年晴雨表报告的更广泛市场背景,我在开头提到过: AI 技能岗位的增长速度大约是整体市场的 8 倍,AI 技能的薪资溢价为 62%,而且这些岗位的学历要求下降得最快。

这些不是来自炒作帖。它们来自对超过 10 亿个招聘广告的分析。

自由职业和咨询的收入数字差异太大,无法在不误导你的情况下精确引用,所以我只说这一点: RAG 实施、Agent 构建和 LLM 集成的费率很高,一个拥有三个扎实部署项目并具备清晰定位的转行者,在获得全职工作之前很久就可以开始为这类工作收费了。

项目就是证明。构建它们,赚钱的机会就会打开。

从本周开始

以下是我今天实际会做的事情,如果我是你的话。

选择第一个月的 Python 项目,那个小小的命令行工具。打开一个代码编辑器。

开始做 CS50P 的第一个问题集。设置好学习伙伴提示词,让 AI 在你遇到困难时指导你。

创建一个 GitHub 仓库,把你第一个粗糙的文件放进去。这就是整个第一周要做的事。

不要等到你觉得自己准备好了才开始,因为“准备好了”是在你开始之后才出现的,而不是之前。

不要在你写一行代码之前就把四个月的完美计划都规划好,因为计划已经在这里了,而规划只是一种让你舒适地避免开始的方式。

学习和构建之间的差距,是让人们浪费一年时间的地方。本周就弥合这个差距。

四个月的真实工作,确实能改变你未来的可能性。

现在的大门比以往任何时候都更敞开,学历门槛正在降低,而市场为这些技能支付的报酬,几乎超过了科技领域的任何其他技能。

你已经有指南了。剩下的唯一变量就是你是否去构建。

保存这份指南,并在每个月进行时回来查看。我会随着工具和数字的变化持续更新它。

关注 @free_ai_guides 获取更新 ❤️

二次创作

使用 YouMind 创作爆款文章

收集素材、拆解爆点、生成视觉资产、撰写内容,并在一个 AI 工作空间里完成分发。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章