版权与内容来源声明
本文为原创整理。文中涉及官方文档、开源仓库、论文与公开报道的内容,均在附表 A 中标注来源;引用官方原文保持原样,不作改写。文中命令、版本号与界面截图以本文成文时的实测/核验结果为准,标注「待验证」的部分请以你本地环境实际输出为判断依据。本文不推荐任何不合规的软件获取方式,也不对任何收益结果作承诺。转载请注明出处。
第 1 章 在职转 AI,跟在校转差的不只是时间多少
1.1 三个根本差别:碎片化、没有整块环境、试错成本高
很多已经上班的人会问同一个问题:我每天挤出两小时,一年能不能转到 AI。这个问题其实问错了对象。在职能不能推进,先不看两小时够不够,而看你和在校生的条件差别在哪。差别主要三条。
第一条,时间碎片化。这里说的「碎片化」,不是「每天都有一点点时间」,而是「没有一段你能提前确定、并且不会被打断的时间」。晚上八点坐下,九点被工作群叫走,这就不叫两小时,叫「不确定能不能有的两小时」。在职学习的第一道难关不是总时长,而是时间的确定性。
**第二条,没有整块环境。**在校生有实验室、宿舍、同学的桌面,坐下就是学习状态;在职者下班后要么在客厅、要么在通勤路上,机器上还挂着公司的项目与账号。换环境的成本很高,而「坐下就能进入状态」这件事,恰好在职者最缺。
**第三条,试错成本高。**在校试错只损失时间;在职试错可能影响第二天的工作状态、家里已经排好的安排,甚至手上正在推进的项目。这一条决定了一件很具体的事:在职版必须把「回退」做得比在校版更便宜——改坏了能立刻恢复,才敢动手。
这三条差别,决定了把学生版的排法直接搬过来会失效。
1.2 一张表看清:在校模式与在职模式差在哪
把两种模式并排,差别会很清楚。这张表不是为了论证哪种更好,而是说明同一套判据换到不同约束下必须重新标定。
| 对比维度 | 在校模式(突击节奏) | 在职模式(长周期) |
|---|---|---|
| 时间形态 | 整块、可预约,例如一个完整暑假 | 碎片、不确定,例如每晚不确定的一到两小时 |
| 环境 | 固定工位或实验室,坐下即进入状态 | 家里或通勤路上,切换成本高 |
| 节奏的基本单位 | 两周一个拿得出手的东西 | 一周一个可运行的小改动 |
| 一次失败的代价 | 损失时间 | 可能影响工作状态与家庭安排 |
| 验收判据 | 两周结束时能不能拿出一个东西 | 这一周有没有产生一个能跑的改动 |
| 最典型的失败方式 | 中途烂尾,什么都没留下 | 每天都很累,却一直没有真正动手 |
| 可用资源 | 同学、实验室、大段连续时间 | 通勤、午休、睡前,加上自学与官方文档 |
有一个容易被忽略的点:**在职模式下最危险的不是「学得慢」,而是「一直在学但一直没有产出」。**碎片时间很容易被「看视频、收藏教程」填满,而这些动作不会留下任何可验证的东西。
1.3 判据不能照抄学生版
已发的那篇「计算机大三才想转 AI:两个月暑假该按什么顺序排」,给的判据是「两周一个拿得出手的东西」,前提是有整块时间——一个暑假本来就是由若干可预约的整块组成。放到在职场景里,两周这个格子经常撑不住,而且不是能力问题,是时间不可控。
所以本篇把判据整体降一格:把验收周期从两周缩到一周,把验收物从「能拿出手的东西」缩到「可运行的小改动」。这不是降低要求,而是把验收频率提到「坏掉能马上发现」的程度——在职者没有整块时间补一个烂掉的月计划,只能靠每周一次的小验收把问题挡在前面。
第 2 章 判据定成「每周一个可运行的小改动」
2.1 为什么不是「每周学完几节视频」
「每周学完几节」这个目标有个隐蔽的毛病:它衡量的是输入,而输入是没法验证的。你今天看完了四节视频,明天打开编辑器仍然可能不知道第一行写什么,但你的计划表是「完成」的。于是进度条在走,能力没动。
「可运行的小改动」衡量的则是产出,而且是能被第三方检查的产出。它有一个额外好处:**它把「懂没懂」这个说不清的问题,换成了「跑没跑起来」这个说得清的问题。**更实际的是,状态不好的那一周,「学完几节」的目标会直接作废、一周归零,而「一个小改动」的目标至少还能留下半个能跑的东西。
判据一句话:**这一周结束时,有没有多出一个「别人能打开、能运行」的东西。**没有,就是这周没走。
2.2 什么算「可运行的小改动」
不是所有改动都算。要同时满足三条。
- 能跑:有一段可复现的运行记录——你改了什么、怎么跑、跑出来什么。这不是让你写论文,几句命令加一段真实输出就够。
- 能回退:改动之前有一个能恢复的版本点。这里要解释两个词。版本控制(常见的工具是 Git)是一套记录文件内容变化、让你随时回到某个历史状态的系统;回退点就是你在动手前留下的一次「可以退回来的存档」。Pro Git 中文版在讲版本控制时给的表述就是:它让你能把选定的文件回溯到之前的状态,甚至把整个项目回退到过去某个时间点。用过版本控制的人,改坏的代价就从「重做」变成「回退一步」。
- 有记录:写下这次改了什么、为什么这么改、卡在哪。记录不用长,三五行,是给几周后的自己看的。
反过来说,这些不算:重读一遍文档、又收藏两篇教程、把模型换个名字跑通一次、把界面颜色调一轮。它们要么没有产出,要么只改了表层,都经不起「换台机器重跑一遍」这一问。
2.3 周日晚上那一个自问
给这套判据配一个具体动作:每周日晚上,只问一句——这一周我有没有多出一个能跑的东西。
回答「有」,说明节奏正常;回答「没有」,不要先自责,先查原因,因为原因通常只有三类:这周被工作或家里的事挤掉了(属正常波动,不要调整计划);这周一直在「看资料」没有动手(属节奏问题,下周把第一小时强制改成动手);这周动手了但卡住了(属技术问题,下周开头就先去解决卡点)。
以下为个人经验判断,非平台结论:把验收放在周日晚上而不是周五,是因为周末还留了补救的余地——这周还没产出的话,周末那一小段就能补一刀,而不是让一周直接作废。这个时间点我按自己的作息挪过几次,你也可以前后挪。
第 3 章 一年怎么切:四个季度,一条主线
3.1 四个季度各管一件事
一周是一个产出单位,但方向不能一周一换,否则一年下来会攒下一堆互不相干的小东西。所以在「周」之上再放一个更大的格子:季度。一个季度管一个方向,季末检查一次,可以调整。
| 季度 | 这一季的主线 | 季末应该有的一个东西 |
|---|---|---|
| 第 1 季 | 把环境跑通,能独立发出一次模型请求 | 一段能复现的运行记录,含环境清单与真实输出 |
| 第 2 季 | 让模型接上你自己的资料回答问题 | 一份自己的小语料,加一份「改动前后」的对比 |
| 第 3 季 | 让程序自己调用工具处理一个小任务 | 一个能处理真实小任务的流程,输入输出明确 |
| 第 4 季 | 给项目做评测与包装,准备拿出去讲 | 一份评测结果,加一份取舍说明 |
四个季度的关系是串联的:没有能跑通的环境,第二季的语料无处落地;没有自己的语料,第四季就没有题可出。
3.2 为什么切到季度,而不是切到月
按月定方向,对在职者太急:一个月的碎片时间可能刚够把环境理顺,月底却发现「方向没走完」;按年定又太松,中间烂掉几个月也看不出来。季度刚好是一个「能看出你在不在正轨上、又不至于因为一个月不顺就推翻全局」的尺度。
判断要不要换主线,只在季末做一次,中间不改。这条纪律很重要:在职者时间本来就碎,如果每周都重新决定「我到底学哪个方向」,光决定就耗掉了全部精力。
3.3 学习资源只挑名字就够
这一节涉及学习资源,按本文的写作约定,只写公开课程与官方文档的名称,不写价格,也不写具体链接。可按类别挑:
- 官方文档:Python 官方文档、Git 官方文档(入门部分即 Pro Git 的中文内容)、以及你所用框架各自的官方文档。官方文档可回溯,遇到版本差异时以它为准。
- 公开课程:吴恩达的机器学习课程、fast.ai 的 Practical Deep Learning for Coders、Hugging Face 的 NLP 课程。共同点是都配了能自己跑的例子。
- 岗位线索:公开岗位描述里反复出现的能力词,可以直接当作选学方向的参考。
不要同时开三份资料。在职者最容易犯的错,是把碎片时间平均分给好几套教程,结果每套都停在开头。一个季度只跟一条线,其余的先存着。
第 4 章 一周排期模板(可打印)
4.1 工作日:两小时怎么切
每天两小时,如果全用来「看」,产出为零的概率很高。可行的切法是把两小时拆成两段,一段输入、一段动手,动手那段放在状态还清醒的时候。
不是每一天都必须平均用力。工作日允许「只维护、不推进」——开会到很晚的那天,只花二十分钟把昨天的改动跑一遍、补上日志,也算守住节奏。真正需要整段状态的「收口」,放到周末。
4.2 周末:补一次「收口」
周末的任务不是再学新东西,而是把这一周零散的改动收成一个能跑的东西,并写下这一周改了什么。这就是「每周一个小改动」的兑现环节。
| 时间段 | 时长 | 做什么 | 结束时的判据 |
|---|---|---|---|
| 工作日 第 1 段 | 约 40 分钟 | 读官方文档或课程里当天的范围 | 记下一条「今天要改哪里」 |
| 工作日 第 2 段 | 约 60 分钟 | 动手改代码并运行一次 | 有一段真实输出 |
| 工作日 收尾 | 约 20 分钟 | 补日志、留一个回退点 | 日志里多一行 |
| 周六 | 约 90 分钟 | 把本周的改动收成一个能跑的东西 | 一个能打开、能运行的东西 |
| 周日 | 约 30 分钟 | 自问「这周有没有多出一个能跑的东西」 | 回答是「有」,或写出原因 |
两小时是总量参考,不必精确到分钟;关键是每一天都要有一次运行,不一定要有一次突破。
4.3 模板本体
下面这份排期可以直接抄下来贴在桌前。它不是代码,只是一张表,所以不需要执行任何东西。
【一周排期模板 · 打印版】 本周主线(从季度主线里拆出来的一小步):____________ 本周要产出的那个小改动:________________________ 周一 输入 40min + 动手 60min + 收尾 20min 运行一次 □ 周二 输入 40min + 动手 60min + 收尾 20min 运行一次 □ 周三 (可维护日)只跑一遍昨天的改动 20min 运行一次 □ 周四 输入 40min + 动手 60min + 收尾 20min 运行一次 □ 周五 (可维护日)只补日志与回退点 20min 运行一次 □ 周六 收口 90min:把零散改动合成一个能跑的东西 □ 周日 自问 30min:这周多出能跑的东西了吗? □ 是 / □ 否,原因是____ 本周卡点:____________________________________ 下周第一件事(先解决卡点):____________________日志用一份固定字段的模板写,保证每次记的东西一样,几周后能直接对比。
⚠️代码待验证
week:2026 年第 42 周goal:让程序能读入一份本地文件并打印前几行changed:-增加了文件读取函数-把输出改成逐行打印ran:trueevidence:run_2026-10-18.logblocked_by:文件编码不一致时输出乱码next_first_step:先统一按 UTF-8 读写,再继续上面这份日志模板每一行都对应第 2 章那三个条件:changed对应「改了什么」,ran与evidence对应「能跑」,blocked_by与next_first_step对应「有记录」。字段固定下来后,「这周到底走了没有」一眼就能看懂。
如果想让机器替你盯这件事,可以写个小脚本,扫描本周的产出目录,看有没有新增或改动过的文件。下面这个只是骨架,路径与判断规则都要按你自己的目录改。
⚠️代码待验证
"""weekly_check.py:检查本周是否真的产生过可运行的改动(骨架,需按自己目录改路径)。"""importosimporttime WATCH_DIR=os.path.expanduser("~/ai-weekly")# 你放产出与日志的目录LOG_DIR=os.path.join(WATCH_DIR,"logs")deffiles_changed_since(path,since_ts):hits=[]forroot,_dirs,namesinos.walk(path):fornameinnames:full=os.path.join(root,name)ifos.path.getmtime(full)>=since_ts:hits.append(os.path.relpath(full,path))returnsorted(hits)if__name__=="__main__":week_start=time.time()-7*24*3600# 粗略按最近七天算changed=files_changed_since(WATCH_DIR,week_start)ran=[fforfinchangediff.endswith(".log")]# 有日志大致等于跑过print("本周改动文件:",len(changed),"个")print("本周运行记录:",ranifranelse"无")ifnotran:print("提示:本周还没有留下运行记录,先补一次运行。")这个脚本不下结论,只把「有没有运行记录」摊开给你看,结论仍由你自己下。
第 5 章 止损线:什么时候该停
5.1 先分清三级信号
在职转 AI 最怕的不是慢,是一直不停、也不看自己在哪。所以必须提前给信号分级,让「要不要停」这件事有依据,而不是靠当下的情绪。
| 信号级别 | 现象 | 该怎么处理 |
|---|---|---|
| 一级:正常波动 | 某一两周因为加班、出差、家里的事没有产出 | 不用调整计划,补回来即可 |
| 二级:节奏问题 | 连续三四周都在「看资料」,始终没动手 | 下周把动手时间前置,强制先跑一次 |
| 三级:方向问题 | 按季度走完,仍然说不出这一季拿到了什么 | 季末做一次二选一:换主线,或停下来 |
分级的价值在于:**不要把一级当成三级。**一两周没产出就认定「我不适合」,是很多人真正放弃的地方,而它其实只是正常波动。
5.2 一条明确的止损线
如果前面几章只带走一句话,就是这一句:
止损线:若连续 8 周(约两个月)「可运行的小改动」为 0,且不是因为主动休息,就停下来做一次二选一——要么换一条主线,要么承认这条路当前不适合你,把精力放回别处。
这条线之所以设在 8 周而不是 8 天,是因为在职者的时间本就断续,短窗口里的「零产出」很可能只是波动;而 8 周的零产出,已经不能再归到波动里了,它说明当前的安排和你真实的生活节奏冲突,继续硬撑只会消耗掉你本来用于工作与家庭的精力。
停下来要做的动作很具体,不是发呆:
- 回看这 8 周的日志,确认是「没有时间」还是「有时间但没用在该用的地方」——这两种原因的处理方式完全不同。
- 只选一种处理:换主线(例如把方向从需要大算力的转成偏应用的),或者承认当前不适合(例如这几个月你确实需要把时间留给别的更重要的事)。
- 写下这个结论和日期。写下来是为了以后想重新开始时,能看见当初为什么停,不必从零怀疑自己。
5.3 「停」有三种,别混为一谈
「停」不是一个动作,而是三种完全不同的选择,混在一起才让人痛苦。
- 休息:是暂时的,时间一到就回来,不需要做任何判断。
- 换主线:是方向的调整,手头攒下的东西不浪费,只是下一季的题换了。
- 承认不适合:是一个结论,它不否定你这个人,只说明在这个阶段把你的时间投在 AI 上,收益对你来说不划算。
把这三者分开,止损线才不会变成一句自我否定的判决。设止损线不是为了劝退,恰恰相反——它让你在还愿意走的时候,知道自己并没有被逼着走。
大模型学习路线图:第 5 章讲的是什么时候该停、该怎么换方向,如果你希望把「从零到能自己动手做 Agent」的路径系统过一遍,这份路线图按阶段标了每一步该学什么、哪些可以先跳过。放在资料包里,扫码即可获取:
第 6 章 在职最常卡住的三处,以及对策
6.1 没有整块环境:用「最小可运行」顶住
在校生可以搭一套完整环境,在职者没有这个条件。对策是把目标降到最小可运行——不去搭一套「像样的」系统,只求能跑出一次结果。第一次跑通,用最简单的官方示例,别追求目录结构漂亮。
同样呼应第 1 章的差别:环境要「随开随用、随关随走」,能在一个午休里启动并看到输出,才可能坚持下去。
6.2 试错成本高:用回退点把代价压下来
在职者不敢乱改,往往不是怕出错,而是怕出错后要花整晚去修。所以每次动手前,先留一个回退点。这一步不占时间,却能让你从「想清楚才敢动」变成「动着想清楚」。
6.3 时间被工作吃掉:用「可见性」换回一点
在职者最大的敌人是「时间被别的事吃掉却毫无察觉」。一个对策是让投入可见:把每天的运行记录留在同一个目录里,一周下来目录有没有变多,一眼能看清。
下面这张表把常见的坑和对策放在一起,可以贴在排期表旁边。
| 常见卡点 | 表面表现 | 对策 |
|---|---|---|
| 一直选型 | 在几个框架之间比来比去,始终没跑通第一次请求 | 给选型设一个两小时上限,超了就先用一个能返回结果的方案 |
| 追求一次写对 | 代码反复重构,迟迟不运行 | 先让最丑的版本跑通,再谈整理 |
| 边做边换题 | 学到一半觉得方向没意思,推倒重来 | 一个季度内不改主线,季末再评估 |
| 只收藏不动手 | 时间都花在「再找一份更好的教程」上 | 当天没有新增可运行的东西,就不算这天有进展 |
| 把美化当进度 | 反复调界面、改标题 | 美化放在每个季度的最后一件事 |
| 等准备好再开始 | 等学完理论、等换台好机器 | 跑通环境和理论是并行两条线,不等 |
第 7 章 一年之后,你手里该有什么
7.1 一年后应该留下的四样东西
一年不是用来「应该学完了」的时间点,而是用来盘点的。按前面的排法走,一年之后手里大致会有这四样东西。
| 该留下的东西 | 它对应哪些周 | 它能用来做什么 |
|---|---|---|
| 一段可复现的运行记录 | 第 1 季的各周 | 证明你能独立把环境跑通 |
| 一份自己的小语料与对比 | 第 2 季的各周 | 证明你会处理真实资料,而不只是跑示例 |
| 一个能处理小任务的流程 | 第 3 季的各周 | 证明你能把模型接进一件具体的事 |
| 一份评测结果与取舍说明 | 第 4 季的各周 | 证明你知道自己的东西好在哪、差在哪 |
这四样东西的共同点是:**都能被别人打开看,也都能被追问出下一步。**这是「每周一个小改动」攒一年后的自然结果——你不需要在某天突然做出一个大项目,只需要每周都往前走一格。
7.2 跟在校版怎么衔接
如果你身边有还在读书的朋友,可以把两篇放在一起看:学生版的格子是「两周」,本篇的格子是「一周」;学生版用整块时间做一个拿得出手的东西,本篇用碎片时间不断掉链子。两篇的判据其实是同一件事——用产出而不是输入衡量进度——只是格子的宽窄跟着可支配时间调了。还有一处不同:学生版强调顺序,本篇强调确定性,先把「明天这个点我一定能坐下来」稳住,再谈学什么。
7.3 决定「继续」还是「收尾」
一年到点,按第 5 章的方法做一次盘点,同样是三选一:继续走下一年的四个季度、换一条主线、或者收尾。
判断标准只有一个:过去这一年,每周那次自问回答「有」的次数,是不是明显多过「没有」。是,继续就划算;不是,就回到止损线那一章做一次二选一,而不是靠惯性再熬一年。
在职学习最大的浪费,从来不是「学得不够快」,而是「在一条已经和自己生活节奏冲突的路上,硬撑了很久也不敢承认」。
《LangChain + LangGraph + MCP 智能体开发实战》视频课:第 7 章讲的是盘点与续用,如果你打算把一年的产物继续做下去,这套课从私有化部署一路讲到 Agent 全流程,可以当作下一步的扩展参考。放在资料包里,扫码即可获取:
附表 A:本文引用事实与出处对照表
| 事实 | 出处(文档名 + 发布方 + 链接) | 本文位置 |
|---|---|---|
| 版本控制是记录文件内容变化、以便将来查阅特定版本修订情况的系统;借助它可以把选定文件回溯到之前的状态,甚至把整个项目回退到过去某个时间点 | 《Pro Git》中文版《起步 - 关于版本控制》,Git 官方站点(git-scm.com) | 第 2 章 2.2 |
| 虚拟环境基于已有 Python 安装创建,默认与基础环境中的包隔离,只有显式安装到该环境的包才可用;官方建议不纳入版本控制、可删除重建 | 《venv — Creation of virtual environments》,Python 官方文档(Python Software Foundation) | 第 6 章 6.1、6.2 |
| 大模型有两个限制:能一次读入的内容有限、训练数据停在某个时间点;检索在查询时取回相关外部知识,是检索增强生成的基础 | 《Retrieval》,LangChain 官方文档 | 第 3 章 3.1(季度主线表述依据) |
| 本文列举的学习资源仅为公开课程与官方文档的名称(Python 官方文档、Git 官方文档、吴恩达的机器学习课程、fast.ai 的 Practical Deep Learning for Coders、Hugging Face 的 NLP 课程),本文不引用其具体内容、不写价格与链接 | 各资源官方发布页(本文按要求不附具体链接,名称以官方站点为准) | 第 3 章 3.3 |
| 判据「每周一个可运行的小改动」、一周排期模板、三级信号与止损线(连续 8 周零产出) | 本文个人经验判断,非平台结论;无外部出处 | 第 2、4、5 章 |
| 在校模式与在职模式的差异归纳(时间形态、环境、试错成本) | 本文个人经验判断,非平台结论;无外部出处 | 第 1 章 1.1、1.2 |
说明:本文为方法论文章,不引用任何统计数字;凡属个人经验判断的段落已在正文标注。链接以官方站点为准,若路径变动请以站点内检索为准。
附表 B:术语速查表
| 术语 | 一句话解释 | 在本文哪里用到 |
|---|---|---|
| 可运行的小改动 | 能被别人打开、能在别处重跑的一次真实改动 | 第 2 章全章 |
| 版本控制 | 记录文件内容变化、让你随时回到某个历史状态的系统 | 第 2 章 2.2 |
| 回退点 | 动手前留下的一次「可以退回来的存档」 | 第 2 章 2.2、第 6 章 6.2 |
| 最小可运行 | 刚好能跑起来、能证明链路通了的那一小段 | 第 6 章 6.1、6.2 |
| 止损线 | 事先定好的、触发就停下来重新做选择的条件 | 第 5 章全章 |
写在最后:这篇用到的资料
写这篇文章时,把相关的官方文档和源码又翻了一遍,顺手也整理了几份配套的东西:
- 大模型学习路线图:从零基础到能自己动手做 Agent,按阶段说明每一步该学什么、哪些可以先跳过
- 《LangChain + LangGraph + MCP 智能体开发实战》视频课:7 个模块,从私有化部署、Embedding+RAG 到 MCP+Agent 全流程
- AI 大模型知识库(在线可查):Agent Skills 从入门到落地、Claude Skills 完全指南等专题,按目录浏览即可
- 640 套 AI 大模型行业报告 + 经典 PDF 书籍:看行业落地案例和别人怎么做的时候用得上
- 大模型零基础到精通教学视频:跟着敲一遍,比只读文档快得多
资料是我自己整理的,放在下面这个码上,扫码即可获取:
添加时备注「AI」,优先通过。
资料按「先路线、再动手、最后查漏」的顺序整理好了,建议先看学习路线那一份,照着它挑一条适合自己当前基础的路径再往下看。