用强化学习优化人生:从 Bellman 方程到 Actor-Critic 的自我迭代框架
核心逻辑:本文将强化学习(RL)的核心概念映射到个人成长,构建一套可操作的自我迭代框架。第一部分(数学基础):从 Bellman 方程出发,建立「当下价值 = 即时回报 + 折现后的未来价值」这一核心认知,并推导出 V 函数、Q 函数、J 函数三种不同的决策评估视角。第二部分(三种优化路径):对比价值方法(评估每个选择的长期回报)、策略梯度(直接优化行为策略)、Actor-Critic(行动与评价并行),分析它们在人生优化中的适用场景。第三部分(过程痛苦型行为):重点解决「英语/运动等过程中就痛苦的事为什么坚持不下去」——不是「奖励来得晚」,而是「过程中 R 为负」。从数学上拆解问题,给出策略组 A(降低即时惩罚 R)和策略组 B(提高折现因子 γ)。第四部分(程序员的复合增长):从程序员的具体场景出发,把 RL 框架翻译成每天能做的微习惯(写笔记、读源码、公开输出),分析复合效应和常见激励陷阱,给出日报模板。第五部分(探索与利用):解决「如何扩大舒适区」的问题——从 ε-greedy、UCB、熵正则化三个策略出发。第六部分(完整框架):将所有概念整合为 Actor-Critic 人生操作系统。
一、人生就是一个 MDP
强化学习研究的问题是:一个智能体(Agent)在环境中如何通过试错来学习最大化长期累积奖励。这个框架和人生惊人的相似——你是 Agent,世界是 Environment,你做的每个选择是 Action,选择带来的结果是新的 State 和 Reward。
1.1 MDP 的五要素与人生映射
| MDP 要素 | 数学定义 | 人生对应 |
|---|---|---|
| 状态 S | 你当前所处的状况 | 你的年龄、职业阶段、健康状况、知识水平、财务状况的组合 |
| 动作 A | 你可以做的选择 | 学什么、做什么工作、和谁交往、怎么分配时间 |
| 状态转移 P | P(s'|s,a):做 a 后从 s 到 s' 的概率 | 努力了不一定成功,但努力会提高概率 |
| 奖励 R | R(s,a):在 s 下做 a 得到的即时回报 | 学会一个概念的满足感、完成工作的成就感、运动后的愉悦感 |
| 折扣因子 γ | γ ∈ [0,1]:未来奖励相对于当下的重要性 | 你有多在乎十年后的自己 vs 现在的自己 |
关键洞察:人生的状态转移是概率性的。你今天努力学习(action),不代表明天一定升职加薪(next state),但长期来看,它会系统性地提高你进入更好状态的概率。理解「概率性转移」是破除「努力没用」这种短视思维的第一步。
1.2 强化学习回答的核心问题
RL 不关心单步奖励,关心的是累积折扣回报:
翻译成人话:你现在做的每个选择,不仅影响当下,还通过 γ 影响所有未来的回报。
这就是为什么你需要一个框架——你不能只凭本能做选择,因为本能天然偏向高 γ 衰减(短视),而真正重要的事情往往是低衰减(需要长期才能看到回报)。
二、Bellman 方程:人生规划的第一性原理
2.1 什么是 Bellman 方程
Bellman 方程是强化学习的基石,它的核心思想极其简单但极其深刻:
当前状态的价值 = 做这个动作得到的即时奖励 + 折现后的下一个状态的价值。
把它展开:
你会发现,你当前状态的价值,其实是你未来所有可能状态的折现和。你现在在什么位置不重要,重要的是你正在往哪个方向走,以及这个方向通向哪里。
2.2 人生的 Bellman 思维
把 Bellman 方程内化成一种直觉:
每次做选择时,不要只看眼前得失,要问:这个选择会把我带到哪个「下一个状态」?而那个状态本身又有多少价值?
举个例子:
| 选择 | 即时奖励 R | 下一个状态 s' | V(s') | 真实价值 V(s) |
|---|---|---|---|---|
| 今晚刷 3 小时短视频 | +50(轻松快乐) | 明天更疲惫、更焦虑 | -200 | -150 |
| 今晚学 2 小时+睡好 | -20(需要努力) | 明天状态好、积累了一点能力 | +200 | +180 |
按单步奖励算,刷视频完胜(+50 vs -20)。但 Bellman 方程告诉你,刷视频把你带进了一个 V 值为负的状态,而学习把你带进了一个 V 值为正的状态。聪明人不看 R,看 R + γV(s')。
2.3 人生决策的 Bellman 最优方程
Bellman 最优方程告诉我们最优策略怎么选:
翻译成人话:
在所有可能的行动中,选那个「即时奖励 + 所有可能后续状态的折现价值期望」最大的。
三个关键要素:
- max_a:永远有更好的选择,你的任务是找到它
- P(s'|s,a):结果是不确定的,要考虑概率分布而不是单一结果
- V*(s'):要对你可能去的地方有准确的价值判断
三、V 函数、Q 函数、J 函数:三种评估人生的视角
RL 中有三种核心的价值函数,对应三种评估人生的方式。理解它们的区别,你就知道什么时候该想什么。
3.1 V 函数:状态有多好
V 函数问的是:照现在这样下去,我的人生大概值多少?
V 函数是对状态的评估。它不关心你具体做了什么,只关心你站在哪里、你的一般策略是什么。
人生中什么时候用 V 函数思维:
- 年终复盘时:「我现在这个状态(职业阶段、能力水平、生活状态),整体满意度打几分?」
- 比较人生阶段时:「25 岁的我和 30 岁的我,哪个状态更好?」
- 校准方向时:「我现在在做的事,把我带向一个 V 值更高的状态了吗?」
V 函数的陷阱:V 函数让你看到问题但不告诉你怎么解决。你知道 V(当前状态) 很低,但不知道该改哪个动作。
3.2 Q 函数:这个动作值多少
Q 函数问的是:在当前状态下,做这件事,值多少?
Q 函数比 V 函数多一个维度——它评估的是具体的动作。这是决策的核心工具。
人生中什么时候用 Q 函数思维:
- 做具体决策前:「转行做 AI vs 深耕现在领域,哪个 Q 值更高?」
- 时间分配时:「今晚学英语 vs 学编程 vs 健身,在当前状态下各自 Q 值多少?」
- 评估机会时:「接受这个 offer 的 Q 值 vs 留着找下一个的 Q 值」
Q 函数思维的实用性:
| 场景 | Q(当前, 选项A) | Q(当前, 选项B) | 怎么估计 |
|---|---|---|---|
| 周六上午做什么 | 学新技能:中等即时痛苦 + 高长期价值 | 睡懒觉刷手机:高即时愉悦 + 零长期价值 | 回忆过去类似选择的结果 |
| 和谁深度交往 | 找正在成长的人:当期不确定 + 未来大概率好 | 找当下舒服但没成长的人:当期好 + 未来大概率差 | 观察对方过去 3 年的轨迹 |
| 闲钱怎么用 | 投资自己学习:R 为负 + 高 V(s') | 消费升级:R 为正 + 低 V(s') | 计算 3 年后的预期状态差异 |
3.3 J 函数:这套策略整体怎么样
J 函数问的是:我这套生活方式(策略 π)的整体期望回报是多少?
J 函数不关心单个状态或动作,而是关心整个策略的平均表现。这是策略梯度方法的优化目标。
人生中什么时候用 J 函数思维:
- 审视生活习惯时:「我这套作息 + 工作 + 社交的 combo,长期看行不行?」
- 比较生活方式时:「A 生活模式(996 互联网)vs B 生活模式(远程自由职业),哪个 J 值更高?」
- 设计年度规划时:「我今年这套目标+方法的组合,最终期望产出是什么?」
3.4 优势函数:这个动作比平均好多少
优势函数问的是:和「一般做法」比起来,这个动作强多少?
这是 RL 中最重要的概念之一,也是人生中最实用的思维工具。你不是要找到完美的动作,而是要找到比你的「惯性选择」更好的动作。
人生中的应用:
- V(s) = 你周末平均怎么过
- Q(s, a=「打一整天游戏」) = 打游戏的实际长期价值
- A(s, a=「打一整天游戏」) = 打游戏的长期价值 - 平均周末的长期价值
如果 A(s,a) > 0,说明这个选择比你的平均选择更好,应该多做。 如果 A(s,a) 为负,说明这个选择拖后腿,应该少做。
优势函数思维的核心价值:它让你不需要知道全局最优是什么,只需要知道「比现状好一点」的方向。这对克服完美主义极为有用。
四、三种优化路径:价值方法、策略梯度、Actor-Critic
理解了函数,接下来看怎么优化。RL 有三种主要的优化范式,对应三种自我改进的思路。
4.1 价值方法(Value-Based):算出每个选择值多少,然后选最好的
数学思路:先精确估计 Q(s,a),然后策略就是选 Q 值最大的动作:。
代表算法:Q-Learning、DQN
人生映射:
在做任何重要决策前,先尽可能准确地估计每个选项的长期价值,然后选价值最高的。
适用场景:
- 职业选择:花时间认真研究每个方向的前景,然后选最好的
- 大额投资:做充分调研后决策
- 选择生活城市:调研后再决定
局限性:
- 很多人生决策你没法提前知道准确的 Q 值(只能靠试错)
- 状态空间太大,没法对所有选项都做精确评估
- 容易陷入「分析瘫痪」——一直在评估,从不行动
人生中的价值方法实践:
- 重要决策用「价值评估清单」:列出所有可能选项,对每个选项估算 3 年、5 年、10 年后的预期状态
- 小决策用直觉 Q 值:不需要精确计算,快速判断 Q(s,a) 的符号和量级
- 定期校准:每季度复盘一次,你之前估计的 Q 值准不准?偏差在哪?
4.2 策略梯度(Policy Gradient):直接优化你的行为策略
数学思路:不估计 Q 值,直接优化策略参数 θ 来最大化期望回报 J(θ):
翻译成人话:如果某个动作带来了好的回报 G_t,就提高以后在这个状态下做这个动作的概率;如果带来了坏的回报,就降低概率。
代表算法:REINFORCE、PPO
人生映射:
不需要精确计算每个选择值多少。只需每次行动后复盘结果,效果好就多做,效果差就少做。通过大量试错,策略会自动收敛到好的方向。
适用场景:
- 建立新习惯:不分析「每天运动到底值多少」,直接试,感觉好就继续
- 职业早期探索:多尝试不同方向,哪种反馈好就多投入
- 社交策略:和不同类型的人交往,哪些关系让你状态更好就多投入
局限性:
- 高方差:单次结果波动大,可能被一次偶然的好/坏结果误导
- 样本效率低:需要大量尝试才能收敛
- 没有「为什么」的解释:只知道什么好,不知道为什么好
人生中的策略梯度实践:
- 把每个行动当作一次采样:做了就记录结果(感觉如何、带来了什么)
- 提高带来好结果的行动概率:把好的习惯设计得更方便执行
- 降低带来坏结果的行动概率:把坏的习惯设计得难以执行(环境设计)
4.3 Actor-Critic:行动和评价并行
数学思路:Actor(策略网络)负责选择动作,Critic(价值网络)负责评估动作的好坏。Actor 根据 Critic 的反馈来调整策略:
其中 Critic 提供优势估计 A(s,a) = Q(s,a) - V(s),告诉 Actor「这个动作比平均水平好多少」。
代表算法:A2C、A3C、PPO(含 Critic)
人生映射:
你同时需要两个自己:一个是 Actor——你在行动,选择做什么;另一个是 Critic——你在反思,评价做得怎么样。Actor 负责执行,Critic 负责校准。
这是本文推荐的核心框架——Actor-Critic 人生系统。
| 组件 | 你的对应角色 | 核心问题 | 频率 |
|---|---|---|---|
| Actor(行动者) | 执行中的你 | 现在做什么?怎么做? | 每时每刻 |
| Critic(评价者) | 复盘中的你 | 刚才做得好吗?长期看值吗? | 每天/每周 |
| 策略 π | 你的习惯体系 | 遇到什么情况做什么反应? | 持续进化 |
| 价值函数 V | 你的自我认知 | 我现在整体状态好吗? | 每周/每月 |
Actor-Critic 为什么最适合人生:
- 它不需要等「一辈子过完」才知道好不好——每步都能从 Critic 获得即时反馈
- 它同时优化「做什么」(Actor)和「判断力」(Critic)
- 它天然适合持续迭代——Actor 和 Critic 互相促进,越来越准
五、折扣因子 γ:解决「英语和运动坚持不下去」的问题
这是本文最重要的实用部分。你为什么会放弃英语学习、放弃运动、放弃一切长回报周期的事情?RL 给了你一个精确的数学解释——你的折扣因子 γ 太低了。
5.1 折扣因子的数学本质
γ ∈ [0,1] 决定了你对未来奖励的权重:
| γ 值 | 含义 | 你能看到的未来 | 典型表现 |
|---|---|---|---|
| γ ≈ 0 | 几乎只看当下 | 几分钟到几小时 | 刷短视频停不下来、只做有即时反馈的事 |
| γ = 0.5 | 未来打对折 | 几天到几周 | 能完成有短期 deadline 的任务,但长期项目总是拖延 |
| γ = 0.9 | 很在乎未来 | 几个月到几年 | 能坚持学英语、运动、做副业 |
| γ ≈ 1 | 当下和未来同等重要 | 十年以上 | 有清晰的长期规划并每天执行 |
关键公式:n 步后的奖励在当前的价值 =
如果 γ = 0.8,那么:
- 1 天后的奖励打 0.8 折
- 一周后的奖励打 0.8^7 ≈ 0.21 折
- 一个月后的奖励打 0.8^30 ≈ 0.001 折(基本归零)
这就是为什么你觉得英语没用——不是真的没用,而是你的 γ 太低,导致半年后的「能流利交流的快感」被你折现成了 ≈ 0。
5.2 问题诊断:为什么你的 γ 会变低
人的折扣因子不是固定的,它会受到以下因素影响:
| 因素 | 降低 γ 的机制 | 提升 γ 的方法 |
|---|---|---|
| 压力 | 压力大时大脑优先处理眼前威胁,γ 自动降低 | 管理压力源,保证充足睡眠 |
| 环境 | 环境中充满即时奖励诱惑(手机通知、短视频)时,γ 被持续压低 | 设计「低即时诱惑」环境:手机放远、关通知 |
| 不确定性 | 对未来越不确定,越倾向于「落袋为安」,γ 降低 | 增加确定性:和走过这条路的人聊、看数据 |
| 疲劳 | 决策疲劳时自控力下降,γ 降低 | 重要决策在早上做,不重要的自动化 |
| 社交圈 | 周围的人都短视,你的 γ 会被拉低 | 主动接触长期主义者的圈子和内容 |
5.3 真正的数学问题:不是「奖励来得晚」,而是「过程中就在痛」
在深入策略之前,先纠正本文 5.1 节的一个关键假设——也是大多数人对自己最大的误解。
之前我用 Bellman 方程分析「为什么坚持不了学英语」时,假设的是:
即:即时奖励为 0(中性),未来有一个正奖励,但因为 γ 折现而看不到。
但这个假设是错的。对于英语和运动,实际的方程是:
即时奖励 R 不是 0,是负的。学的过程本身就是痛苦。
这才是真正的问题所在。如果 R = 0,只要 γ 够高,你自然会选。但如果 R = -50 而 V(未来) = 100,那即使 γ = 1,V = -50 + 100 = 50,勉强为正。只要 R 再痛一点或未来不确定一点,V 就变负了,你就会放弃。
这个问题比「延迟奖励」严重一个数量级,因为你需要同时解决两件事:
| 问题维度 | 数学表达 | 对应现象 |
|---|---|---|
| 维度一:即时惩罚 | R(s,a) 为负 | 背单词好烦、跑步好累、复习好枯燥 |
| 维度二:未来折现 | γ < 1,V(s') 被打折 | 「反正半年后也不一定用得上英语」 |
只解决维度二(提高 γ)对于「过程痛苦型」活动基本没用。 你需要在 γ 策略之外,增加一套降低即时惩罚 R 的策略。
而且有一个更隐蔽的问题:痛苦不是恒定的。你在状态差的时候,同样的动作 R 更负。 疲惫时学英语比清醒时痛苦得多——这对应 RL 中「奖励不仅仅是 (s,a) 的函数,还会被隐藏变量(精力、情绪)调制」。
以下策略分为两组:A 组降低即时惩罚 R,B 组提高 γ(折现因子)。两组缺一不可。
5.4 策略组 A:降低即时惩罚——让「做这件事本身」不那么痛
策略 A1:把「做功」降为「微功」
英语和运动痛苦的核心原因是启动阻力太大——不是整个过程都痛,是最开始那几步最痛。一旦进入状态,痛苦会显著下降。
| 原始目标 | 启动阻力 | 微功版本 | 启动阻力 |
|---|---|---|---|
| 今天学 1 小时英语 | 巨大——一想到 1 小时就焦虑 | 今天打开 Anki 背 1 个词 | 微小——刷一个词谁不会 |
| 今天跑 5 公里 | 巨大——换衣服都懒得换 | 今天穿上跑鞋走到楼下 | 微小——走到楼下也算? |
关键原则:目标不是完成,是「启动」。 一旦启动了,继续下去的概率远高于从零启动。你允许自己到楼下就回来,但大部分人到了楼下会说「来都来了」。
RL 视角:这是一种分段奖励设计——启动动作本身设一个微小的正奖励(「我做到了承诺的最小动作!」),从而改变了整个序列的累积奖励结构。
策略 A2:环境设计——让痛苦动作变容易,让快感动作变困难
人的默认路径是最小阻力路径。如果你需要意志力才能做某件事,你就在打一场必输的仗——意志力是有限资源,会被耗尽。
| 你想做的事 | 默认阻力 | 降低阻力的环境设计 |
|---|---|---|
| 早上跑步 | 运动服在衣柜深处、鞋在鞋柜、需要找袜子 | 前一晚把全套装备叠好放在床边 |
| 学英语 | 手机上一个 App 淹没在 100 个 App 里 | 把英语 App 放在手机第一屏,屏蔽其他娱乐 App 的通知 |
| 多喝水 | 水杯不在视线内 | 1.5L 大水杯放在桌面上,装满水 |
不要用意志力去对抗环境——用环境让正确行为成为最小阻力路径。
策略 A3:绑定正 R——把痛苦动作和愉悦动作捆绑
RL 中没有规定一个动作只对应一个奖励。你可以人为地把一个负 R 的动作和一个正 R 的动作「绑定」成同一个动作。
| 负 R 动作 | 绑定的正 R 动作 | 形成的新复合动作 |
|---|---|---|
| 跑步 30 分钟 | 跑步时听最喜欢的播客(只有跑步时才听) | 「跑步 = 听播客的快乐时光」 |
| 背单词 | 背完在社群里打卡被点赞 | 「背单词 = 社交正反馈」 |
| 做核心训练 | 做完喝一杯冰蛋白奶昔 | 「核心训练 = 冰奶昔的 cooling reward」 |
关键约束:那个正 R 必须是你在其他场景下得不到的。 如果跑步时听的播客你随时都能听,绑定效果大打折扣。专属的正 R 才有绑定价值。
RL 视角:这是手动 reward shaping——你在用领域知识给 MDP 添加中间奖励,让最优策略更容易被学到。
策略 A4:利用「痛苦递减曲线」
学英语和运动有一个救命的特征:痛苦不是恒定的,它会随着熟练度递减。
| 阶段 | 英语的例子 | 运动的例子 |
|---|---|---|
| 新手期(最痛) | 每一个词都要查、每一句话都不懂 | 跑 500 米就喘、第二天全身酸痛 |
| 平台期(中等) | 能看懂大意但细节吃力 | 能跑 3 公里但配速很慢 |
| 自动期(低痛) | 能无字幕看剧、能自然表达 | 不跑反而难受、身体自动想动 |
核心策略:用最低成本撑过新手期。 新手期不需要学得好、不需要学得标准——只需要不放弃。把新手期的标准放到最低:「只要能每天打开 App 就算成功」「到楼下走一圈就算运动」。
等到自动期,R 从负变正或趋近于 0,你就不再需要意志力——行为和奖励自发维持。
5.5 策略组 B:提高折现因子 γ——让未来奖励兑现到当下
(以下策略解决的是「即使 R 解决了,V(s') 还是被打折看不见」的问题)
策略 B1:缩短奖励感知距离(让长回报「看起来近」)
人天生对远的奖励打折。破解方法是让长回报变得可见、可感知。
| 长回报行为 | 标准 γ 视角 | 提高 γ 后 |
|---|---|---|
| 学英语 | 「半年后才有用」→ 折扣到 ≈ 0 | 这周读完一篇英文文章→ 能理解 5 个新表达 → 下周开会能用 |
| 运动 | 「三个月才瘦」→ 折扣到 ≈ 0 | 今天运动后→ 精力更好了→ 下午工作效率更高→ 晚上心情更好 |
| 写作 | 「一年才涨粉」→ 折扣到 ≈ 0 | 今天写完这篇→ 理清了一个想法→ 明天工作上表达更清晰 |
具体做法:
- 把长目标拆成肉眼可见的短里程碑(周期不超过一周)
- 每天记录「微小的进步」——不是「我今天学英语了」,而是「我今天学会了用 nonetheless」
- 每周回顾「这周和上周相比有什么不同」——逼自己看到变化
策略 B2:用「未来具象化」对抗折现
人的大脑对抽象的未来奖励不敏感,但对具体、鲜活的未来场景很敏感。
实操练习——「未来时间旅行」:
每周花 5 分钟,闭上眼睛,想象两个版本的你:
- 版本 A:坚持了长回报行为(如每天运动)
- 版本 B:放弃了
想象越具体越好——你在哪里?你感觉怎么样?你在做什么?别人怎么看你?
这个练习的科学依据是:具象化的未来场景激活了大脑的情感中枢,从而提高了你对未来的价值感知(即提高了 γ)。
策略三:利用「奖励塑形」
RL 中的 Reward Shaping 思想:如果直接奖励太稀疏、太远,就添加一些中间奖励来引导学习。
| 活动 | 自然奖励(太远) | 人工添加中间奖励 |
|---|---|---|
| 学英语 | 流利交流(半年到一年后) | 看懂一个梗的成就感、听懂一句话的快乐、本周打卡完成的仪式感 |
| 运动 | 体型变化(三个月后) | 运动后的内啡肽快感、完成次数的记录增加、运动数据的好看曲线 |
| 写博客 | 影响力(一年后) | 今天有人评论了、这周新增了一个关注、写完后的思路清明感 |
关键原则:中间奖励必须是真实的(你真的觉得有用/开心),而不是欺骗自己的。你的大脑可不傻。
策略 B4:小概念 vs 复习的奖励不一致问题
你提到:「快速学习一个小概念很快有 reward,但是复习的 reward 很慢。」
这是 RL 中的一个经典问题——稀疏奖励 vs 密集奖励的不一致。学新概念是密集奖励(每学一个就有一个「懂了」的快感),复习是稀疏奖励(复习十次才能感受到「巩固了」的差异)。
解决方案:
-
给复习绑定即时奖励:复习后立刻做一个小测试或应用,让「能用出来」成为即时奖励。比如复习单词后立刻造一个句子,看到自己能用出来就是即时正反馈。
-
交替策略:不要「先学完再复习」,而是「学 3 个新概念 + 复习 3 个旧概念」交替进行。这样密集奖励和稀疏奖励混合,总体奖励密度保持不变。
-
追踪遗忘曲线的逆转:用 Anki 之类的工具,能看到数据——「今天你成功回忆起了 50 个即将遗忘的单词」。这个数字本身就是一种即时奖励。
-
用社交绑定:教别人你复习的内容。教的过程会产生即时的社交奖励和成就感。
六、程序员的复合增长:把 RL 框架落地到每天
前面的概念和策略都是通用的。这一章从程序员的具体场景出发,把 RL 框架翻译成你每天可以做的事。核心关键词是复合效应——程序员最懂「指数」这个概念,但你有没有用指数的逻辑来经营自己的成长?
6.1 程序员为什么要刻意设计「复合效应」
下面这张表是一道算数题,但你应该认真看:
| 每天投入 | 一年后 | 三年后 | 五年后 |
|---|---|---|---|
| 每天看 1 小时技术文章,不记笔记不实践 | 知道很多 buzzword,但讲不清楚 | 和新手区别不大 | 被 AI 替代 |
| 每天写 30 分钟代码(含思考和笔记)+ 周末复盘 | 完成 2 个深度 side project + 一套笔记体系 | 面试不讲八股文,直接讲你做过的东西 | 有了自己的技术品牌 |
| 每天花 15 分钟写一条技术微博/推文 | 365 条碎片,有 3-5 条爆了 | 积累 1000+ 条思考,个人风格成型 | 别人通过你的输出认识你 |
| 每周末花 2 小时精读一篇顶会 paper + 写 3 句话总结 | 52 篇 paper,局部领域有深度认知 | 156 篇,你已经是该领域的中文区少数能讲清楚的人 | 有了自己的 research taste |
复合效应的残酷之处:前半年看不出任何区别。 每天写 30 分钟代码的人和不写的人,6 个月后看起来没什么不同。但 3 年后,差距不是 30%,是 3-10 倍。指数函数的特点就是前面看起来是平的,越过拐点后斜率陡增。
RL 视角:复合效应就是 的现实版本。你每天的一个小动作()从单步奖励看微乎其微(),但从累积奖励看——你是唯一一个在做这件事的人,而所有不做的人累积奖励是 0。
6.2 程序员最值得「每天微功」的四件事
结合第五章的策略组 A(降低 R),下面是四个投入产出比最高的微习惯:
6.2.1 每天写 100 字技术笔记
RL 映射:这是最低成本的 Q 值积累动作。每天写 100 字,R 接近 0(几乎不需要意志力),但 V(s') 极高。
| 维度 | 分析 |
|---|---|
| 即时惩罚 R | 100 字 = 3 分钟。R ≈ 0,几乎可以忽略 |
| 未来状态 V(s') | 一年后你有一本 36500 字的技术笔记。面试时你是那个「我写过关于这个的 30 篇笔记」而不是「我学过但是忘了」 |
| 复合效应 | 笔记之间的关联会自发形成知识网络。第 100 篇笔记的价值远大于 100 × 第 1 篇的价值——因为关联和检索能力是指数级的 |
| 不可替代性 | 全网的教程都是别人的,但你遇到的具体问题 + 你的解决路径是不可复制的。这是你 Shapley 值的来源 |
怎么降低启动阻力:
- 不要求格式,不要求发布,不要求「写得好」。写给自己看的,用 Notion/飞书/Obsidian 随便敲。
- 模板就三行:「今天遇到了什么问题 → 怎么解决的 → 学到了什么」
- 如果某天完全没写代码,写「今天为什么没写代码 + 明天怎么避免」
6.2.2 每两周精读一篇好源码
RL 映射:这是提升 Q 函数估值精度的关键动作。你只有看过好的代码长什么样,你才知道自己目前写的 Q 值是高是低。
| 维度 | 分析 |
|---|---|
| 即时惩罚 R | 前 30 分钟很痛苦(看不懂),但一旦看懂第一个模块,R 从中等负 → 正。所以 R 的问题用 A1(只要求看 30 分钟)解决 |
| 未来状态 V(s') | 你的代码审美会质变。你和只写 CRUD 的程序员的区别,就来自你看过的源码数量 |
| 复合效应 | 第 5 篇和第 1 篇的阅读速度差 3-5 倍。因为设计模式、命名约定、目录结构是相通的 |
| 不可替代性 | 能「讲出某知名开源项目的内部实现细节」在任何面试中都是核武器级别的差异化 |
推荐 repo 和东西(按难度递进):
| 难度 | 项目 | 推荐理由 | 重点看什么 |
|---|---|---|---|
| 入门 | antoine 系列小而美的库 | 代码量小、结构清晰、读完一篇 30 分钟 | 函数设计、命名风格、测试习惯 |
| 进阶 | React 或 Vue 的某一个小模块(如 Reactivity/Virtual DOM) | 工业级设计模式 | 分层架构、状态管理、扩展性设计 |
| 深入 | 数据库/编译器的迷你实现(如 mini-redis、crafting interpreters) | 系统性理解底层 | 内存管理、协议解析、性能优化 |
怎么选:选你工作中真正在用的技术对应的源码。不要为了「高大上」去读你永远不会用的东西——没有 R(即时奖励),坚持不了。
6.2.3 每月公开输出一次
RL 映射:这是探索(ε-exploration)和信息收集(获得 Critic 反馈)的核心动作。你的环境需要给你反馈,否则你的 Q 估计永远是自己拍脑袋。
| 维度 | 分析 |
|---|---|
| 即时惩罚 R | 第一篇会焦虑(R 为负),但第 3 篇后焦虑感消失(R → 0),第 10 篇后开始期待反馈(R 为正) |
| 未来状态 V(s') | 输出是「被动机会」的触发器——工作机会、合作邀请、同行认可。这些不是你主动找来的,是你的输出引来的 |
| 复合效应 | 你写一篇没人看。你写 50 篇,其中 3 篇被算法推荐,然后很多人翻你以前写的。输出量本身就是流量的复合因子 |
| 关键点 | 公开输出的 Critic 反馈(点赞、评论、私信)是价值信号的来源。别人对你哪篇反应最热烈,那个方向就是你的 Q 值最高的区域 |
推荐形式和平台:
| 形式 | 平台 | 投入 | 适合什么内容 |
|---|---|---|---|
| 碎片思考 | Twitter/X、微博 | 每天 5 分钟 | 踩坑记录、技术观点、灵感瞬间 |
| 技术短文 | 掘金、知乎 | 每周 1 小时 | 完整地讲一个知识点或解决一个问题 |
| 系列长文 | 个人博客 | 每月 3 小时 | 对一个主题的系统性思考 |
| 开源项目 README/文档 | GitHub | 随项目 | 你对所写代码的设计理念和取舍思考 |
6.3 程序员特别容易踩的三个激励陷阱
陷阱一:收藏即学会
问题:收藏一个 GitHub repo、点赞一篇技术文章给大脑释放了「学到了」的多巴胺,但这个奖励是虚假的——它在 RL 里对应的是「在非终端状态获得了一次终端奖励」,误导策略走向错误的局部最优。
解决:任何信息如果不经过「写一句总结」就不算消费过。看到好东西→立刻写一句「这个东西解决了什么问题+用了什么方案+我可以怎么用」→扔掉原文。写作的 30 秒是把你从「被动消费」转为「主动生产」的最小摩擦门槛。
陷阱二:框架追逐症
问题:每隔几天就有一个新框架。每学一个新框架都有「懂了!」的即时奖励 R,但旧框架还没来得及深入就被抛弃。这在 RL 里是过高的 ε(探索率)导致永远收敛不到一个好的策略。
解决:用 UCB 思维而非 ε-greedy。框架的 Q 值 = 市场需求 × 你掌握的深度。一个新框架如果尝试次数少,它的不确定性高,但你不需要亲自踩——看 3 篇靠谱的人写的深度对比文章就够了。如果一年后这个框架还在增长,到时候再投入也不晚。 真正稀缺的不是「最先学会的人」,而是「最懂某个领域的人」。
陷阱三:只做不输出
问题:做了很多 side project、学了很多东西,但从不公开。这对应 RL 中没有 Critic 的 Actor——你在一直行动,但没有收集反馈来估计 V(s) 和 Q(s,a)。你的自我评估可能严重偏离真实价值。
解决:每做完一个稍大的项目(超过一个周末的那种),至少写一篇总结发出去。不要求阅读量,不要求写得多好。要求是写过。输出行为本身就是给你的 Critic 提供数据。评论、点击量、私信——这些都是环境给你的奖励信号,你靠它来校准哪些方向值得继续投入。
6.4 复合效应的正确期望管理
复合效应的最大敌人不是不够努力,而是错误的时间期望。大多数程序员放弃一件事,是因为他们用线性思维期望指数结果。
| 阶段 | 时间 | 你应该感受到的 | 你不应该期待的 |
|---|---|---|---|
| 冷启动期 | 前 3 个月 | 阻力在减小(R 从负 → 0),但外界反馈为 0 | 有人关注你、有人找你合作 |
| 积累期 | 3-12 个月 | 开始有零星正反馈,有个别内容被人看到 | 形成影响力、有质变 |
| 拐点附近 | 1-2 年 | 反馈开始加速,有人主动找过来 | 一夜爆发——爆发是拐点后的结果,拐点前你看不到 |
| 复利期 | 2 年以上 | 你在做的事情变成了你的标签,机会从各个方向来 | 一劳永逸——不上进就会衰减 |
关键心态:在冷启动期,你唯一的 KPI 是「今天做了没有」,而不是「今天做得好不好」。RL 的朴素真理——先采样,再优化。你还没采样呢就在优化,这叫 overfitting。
6.5 程序员的强化学习日报模板
把这一章的建议落地到每天 5 分钟:
【Actor 端 - 今天做了什么】
- 微功打卡:_____(比如「写了笔记」「读了 30 分钟源码」「发了推」)
- 今天最重要的一个技术动作:_____
【Critic 端 - 今天学到了什么】
- 一句话总结今天最大的收获:_____
- 这个收获的 Q 值评估:低/中/高(理由:_____)
【探索端】
- 今天做了什么不在计划内的技术探索:_____
- (如果没有)明天想试什么新东西:_____
【复合追踪】
- 本周累计微功天数:_/7
- 本月累计输出次数:_/4
七、探索 vs 利用:如何扩大你的舒适区
你问:「怎么扩大探索?」这对应 RL 中最经典的 Exploration-Exploitation 权衡。
7.1 探索与利用的数学本质
| 策略 | 定义 | 优点 | 风险 |
|---|---|---|---|
| 利用(Exploitation) | 选已知最好的动作 | 稳定收益、效率高 | 可能停在局部最优 |
| 探索(Exploration) | 尝试未知的动作 | 可能发现更好的选择 | 可能白费时间、遇到差体验 |
人生中,利用就是待在你的舒适区——做你擅长的事、见你熟悉的人、用你习惯的方式生活。探索就是走出舒适区——尝试新事物、认识新朋友、体验新环境。
纯粹利用的问题是:你可能错过了更好的生活状态。纯粹探索的问题是:你可能浪费大量时间在不好的体验上。
7.2 三种探索策略
策略一:ε-greedy——留出固定比例的「冒险时间」
RL 中最简单的探索策略:以概率 ε 随机探索,以概率 1-ε 利用已知最优。
人生映射:
把你 10%-20% 的时间、精力、金钱,专门分配给「你完全不确定好不好,但想去试试」的事情。
| ε 值 | 时间分配 | 适合什么阶段 |
|---|---|---|
| ε = 0.05 | 95% 时间做确定的事,5% 探索 | 事业上升期、时间紧张时 |
| ε = 0.15 | 85% 做事,15% 探索 | 稳定期、想要新突破时 |
| ε = 0.30 | 70% 做事,30% 探索 | 迷茫期、转型期、年轻探索阶段 |
具体行动:
- 每周安排一个「探索时隙」:试一家没吃过的餐厅、走一条没走过的路、和一个不太熟的人喝咖啡
- 每月安排一个「探索日」:去一个没去过的地方、学一个完全没接触过的技能入门
- 每年安排一个「探索周」:旅行到一个新地方、参加一个陌生领域的活动
策略二:UCB(上置信界)——优先探索不确定性高的方向
UCB 的核心思想:不只选已知最好的,还要考虑「不确定性」——一个选项如果尝试次数少,它的「潜力上限」可能很高。
翻译成人话:在你已有的经验很少的领域,可能有你完全不知道的巨大回报。
人生映射:
那些你从未尝试过的事情,可能有你想象不到的价值。你越是对某个领域「无知」,它的潜在惊喜就越大。
| 你已经很了解的 | 你完全不了解的 |
|---|---|
| 编程 | 陶艺 |
| 跑步 | 攀岩 |
| 读书 | 即兴戏剧 |
| 同龄朋友 | 跨代际交流 |
你是程序员,编程给你带来的回报你已经很清楚了。但陶艺呢?你可能觉得「没用」,但你没试过,所以你不知道它可能给你带来什么——可能是新的思维方式、新的朋友群体、甚至新的职业灵感。
UCB 人生策略:
- 列出你「完全不了解但有点好奇」的 10 件事
- 按「尝试成本从低到高」排序
- 每周从低成本项开始试一个
- 试完记录:「之前我以为它什么样,实际它什么样,我意外收获了什么」
策略三:熵正则化——主动在策略中加入「多样性」奖励
在策略梯度中加入熵奖励:,其中 H(π) 是策略的熵(多样性)。
人生映射:
不要等到「舒适区不适了」才去探索。把「多样性」本身当作一种目标——你的人生策略如果太确定、太模式化,本身就是一种风险。
具体做法——「熵检查」:
每月做一次「人生策略熵检查」:
| 维度 | 低熵(过于单一) | 高熵(健康多样) |
|---|---|---|
| 信息来源 | 只看技术博客 | 技术+社科+艺术+商业+随机 |
| 社交圈 | 全是同行的程序员 | 程序员+设计师+创业者+艺术家+不同年龄的人 |
| 日常路线 | 家-公司两点一线 | 每周走不同路线、去不同地方 |
| 娱乐方式 | 只看刷短视频 | 看纪录片+打游戏+户外+手工+随机尝试 |
| 思维方式 | 只有技术思维 | 商业思维+设计思维+人文思维+系统思维 |
如果你的某个维度「低熵」,那就主动添加多样性——不是因为它一定比你现在的好,而是因为你不试就永远不知道。
7.3 探索的递减调度
RL 中有一个重要实践:探索率应该随时间递减。刚开始应该大量探索,越到后面越聚焦。
| 人生阶段 | 探索比例 | 理由 |
|---|---|---|
| 刚毕业(22-25) | 30%+ | 你不知道自己喜欢什么、擅长什么,需要大量采样 |
| 积累期(25-30) | 20% | 有了方向但还需要拓宽可能性 |
| 深耕期(30-40) | 10% | 找到了核心方向,深耕为主,偶尔拓宽 |
| 但任何阶段 | 永远不低于 5% | 完全停止探索会陷入局部最优的陷阱 |
八、Actor-Critic 人生操作系统:一个可执行的框架
把以上所有概念整合成一个你可以每天运行的框架。
8.1 系统架构
┌─────────────────────────────────────────┐
│ Actor-Critic 人生系统 │
│ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ Actor │───────▶│ 行动执行 │ │
│ │ (策略 π) │ │ 每天做什么 │ │
│ └──────────┘ └──────┬───────┘ │
│ ▲ │ │
│ │ 策略更新 │ 结果+奖励 │
│ │ ▼ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ Critic │◀───────│ 结果复盘 │ │
│ │ (价值 V) │ │ 做得好不好 │ │
│ └──────────┘ └──────────────┘ │
│ │
│ 关键参数:γ(折扣因子)、ε(探索率) │
└─────────────────────────────────────────┘
8.2 每日执行流程
| 时间 | 角色 | 具体动作 | RL 概念 |
|---|---|---|---|
| 早上(5 分钟) | Actor 启动 | 列出今天最重要的 3 个动作(动作选择:argmax Q + ε 探索) | 策略 π、ε-greedy |
| 白天 | Actor 执行 | 按优先级执行动作,执行时保持专注 | 动作采样 |
| 白天 | Actor 探索 | 做一件不在计划内但可能有趣的事(如和陌生人聊天) | ε-探索 |
| 晚上(5 分钟) | Critic 评估 | 复盘今天:哪些动作做得好?Q 值估计准确吗? | TD 误差、价值估计 |
| 晚上(5 分钟) | 策略更新 | 根据复盘结果,调整明天的策略(好习惯增强、坏习惯设障碍) | 策略梯度 |
| 每周日(30 分钟) | Critic 深度 | 本周整体状态评分(V),γ 校准(是否太短视?),ε 调整(探索够吗?) | V 函数、γ 调优 |
| 每月 | 全局校准 | 能力栈审计、关系审计、熵检查、长目标进度检查 | J 函数、熵正则化 |
8.3 关键参数的个人调校
| 参数 | 含义 | 怎么判断自己设对了 | 调整方向 |
|---|---|---|---|
| γ | 你对未来的在乎程度 | 你是否能坚持做「短期没回报但长期很重要」的事 | 如果总是放弃长期行为 → 先用 A 组策略降低 R(是不是过程太痛了?),再用 B 组策略提高 γ |
| ε | 你的探索比例 | 你的生活是否有新鲜感?社交圈在扩大吗? | 如果觉得生活一成不变 → 提高 ε |
| α(学习率) | 你从反馈中调整自己的速度 | 你犯同样的错误超过 3 次吗? | 如果总是重复犯错 → 提高复盘频率和深度 |
| R(即时奖励) | 你做这件事时的即时体验 | 你在做的过程中感到痛苦还是愉悦? | 如果 R 持续为负 → 用 A 组策略(微功、环境、绑定、撑过新手期) |
总结
强化学习不是一套算法,而是一套思考决策和成长的框架。把它映射到人生中,你得到的是:
| RL 概念 | 人生智慧 |
|---|---|
| Bellman 方程 | 当下的价值 = 即时回报 + 未来的折现价值。不要只看眼前。 |
| V(s) | 定期审视你的整体状态。不满意?那是你的策略需要优化。 |
| Q(s,a) | 每个具体选择都有长期价值。养成估算 Q 值的习惯。 |
| A(s,a) = Q-V | 不需要找到完美动作,找到比现状更好的就够了。 |
| 即时惩罚 R | 痛苦本身需要被管理——降低动作成本、绑定正反馈、利用痛苦递减。只提高 γ 不解决 R 为负的问题。 |
| 折扣因子 γ | 惩罚 R 解决后,用「缩短奖励感知距离」来提高对未来价值的敏感度。 |
| 策略梯度 | 好习惯多重复,坏习惯设置障碍。不用分析,用反馈驱动进化。 |
| Actor-Critic | 行动和反思并行。Act 时全情投入,Critic 时冷静复盘。 |
| 探索 vs 利用 | 永远留 5%-20% 的精力给未知。不去探索,你就停在局部最优。 |
| 熵正则化 | 多样性本身就是价值。人生策略太确定,是风险不是安全。 |
最终公式:
翻译:找到一套策略,让你在足够在乎未来的前提下,最大化一生的体验总价值,同时保持足够的多样性和开放性。
从明天开始,做你自己的 Agent,把人生当作一个 RL 环境来交互、学习和优化。