Skip to main content

用强化学习优化人生:从 Bellman 方程到 Actor-Critic 的自我迭代框架

· 38 min read

核心逻辑:本文将强化学习(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你可以做的选择学什么、做什么工作、和谁交往、怎么分配时间
状态转移 PP(s'|s,a):做 a 后从 s 到 s' 的概率努力了不一定成功,但努力会提高概率
奖励 RR(s,a):在 s 下做 a 得到的即时回报学会一个概念的满足感、完成工作的成就感、运动后的愉悦感
折扣因子 γγ ∈ [0,1]:未来奖励相对于当下的重要性你有多在乎十年后的自己 vs 现在的自己

关键洞察:人生的状态转移是概率性的。你今天努力学习(action),不代表明天一定升职加薪(next state),但长期来看,它会系统性地提高你进入更好状态的概率。理解「概率性转移」是破除「努力没用」这种短视思维的第一步。

1.2 强化学习回答的核心问题

RL 不关心单步奖励,关心的是累积折扣回报

Gt=Rt+1+γRt+2+γ2Rt+3+=k=0γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

翻译成人话:你现在做的每个选择,不仅影响当下,还通过 γ 影响所有未来的回报。

这就是为什么你需要一个框架——你不能只凭本能做选择,因为本能天然偏向高 γ 衰减(短视),而真正重要的事情往往是低衰减(需要长期才能看到回报)。


二、Bellman 方程:人生规划的第一性原理

2.1 什么是 Bellman 方程

Bellman 方程是强化学习的基石,它的核心思想极其简单但极其深刻:

V(s)=R(s,a)+γV(s)V(s) = R(s,a) + \gamma \cdot V(s')

当前状态的价值 = 做这个动作得到的即时奖励 + 折现后的下一个状态的价值。

把它展开:

V(s)=R(s,a)+γR(s,a)+γ2R(s,a)+V(s) = R(s,a) + \gamma R(s',a') + \gamma^2 R(s'',a'') + \dots

你会发现,你当前状态的价值,其实是你未来所有可能状态的折现和。你现在在什么位置不重要,重要的是你正在往哪个方向走,以及这个方向通向哪里。

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 最优方程告诉我们最优策略怎么选:

V(s)=maxa[R(s,a)+γsP(ss,a)V(s)]V^*(s) = \max_a \left[ R(s,a) + \gamma \sum_{s'} P(s'|s,a) V^*(s') \right]

翻译成人话:

在所有可能的行动中,选那个「即时奖励 + 所有可能后续状态的折现价值期望」最大的。

三个关键要素:

  1. max_a:永远有更好的选择,你的任务是找到它
  2. P(s'|s,a):结果是不确定的,要考虑概率分布而不是单一结果
  3. V*(s'):要对你可能去的地方有准确的价值判断

三、V 函数、Q 函数、J 函数:三种评估人生的视角

RL 中有三种核心的价值函数,对应三种评估人生的方式。理解它们的区别,你就知道什么时候该想什么。

3.1 V 函数:状态有多好

Vπ(s)=Eπ[k=0γkRt+k+1St=s]V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \mid S_t = s \right]

V 函数问的是:照现在这样下去,我的人生大概值多少?

V 函数是对状态的评估。它不关心你具体做了什么,只关心你站在哪里、你的一般策略是什么。

人生中什么时候用 V 函数思维

  • 年终复盘时:「我现在这个状态(职业阶段、能力水平、生活状态),整体满意度打几分?」
  • 比较人生阶段时:「25 岁的我和 30 岁的我,哪个状态更好?」
  • 校准方向时:「我现在在做的事,把我带向一个 V 值更高的状态了吗?」

V 函数的陷阱:V 函数让你看到问题但不告诉你怎么解决。你知道 V(当前状态) 很低,但不知道该改哪个动作。

3.2 Q 函数:这个动作值多少

Qπ(s,a)=Eπ[k=0γkRt+k+1St=s,At=a]Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \mid S_t = s, A_t = a \right]

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(θ)=Eτπθ[t=0TγtRt]J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \gamma^t R_t \right]

J 函数问的是:我这套生活方式(策略 π)的整体期望回报是多少?

J 函数不关心单个状态或动作,而是关心整个策略的平均表现。这是策略梯度方法的优化目标。

人生中什么时候用 J 函数思维

  • 审视生活习惯时:「我这套作息 + 工作 + 社交的 combo,长期看行不行?」
  • 比较生活方式时:「A 生活模式(996 互联网)vs B 生活模式(远程自由职业),哪个 J 值更高?」
  • 设计年度规划时:「我今年这套目标+方法的组合,最终期望产出是什么?」

3.4 优势函数:这个动作比平均好多少

A(s,a)=Q(s,a)V(s)A(s,a) = Q(s,a) - V(s)

优势函数问的是:和「一般做法」比起来,这个动作强多少?

这是 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 值最大的动作:π(s)=argmaxaQ(s,a)\pi(s) = \arg\max_a Q(s,a)

代表算法:Q-Learning、DQN

人生映射

在做任何重要决策前,先尽可能准确地估计每个选项的长期价值,然后选价值最高的。

适用场景

  • 职业选择:花时间认真研究每个方向的前景,然后选最好的
  • 大额投资:做充分调研后决策
  • 选择生活城市:调研后再决定

局限性

  • 很多人生决策你没法提前知道准确的 Q 值(只能靠试错)
  • 状态空间太大,没法对所有选项都做精确评估
  • 容易陷入「分析瘫痪」——一直在评估,从不行动

人生中的价值方法实践

  1. 重要决策用「价值评估清单」:列出所有可能选项,对每个选项估算 3 年、5 年、10 年后的预期状态
  2. 小决策用直觉 Q 值:不需要精确计算,快速判断 Q(s,a) 的符号和量级
  3. 定期校准:每季度复盘一次,你之前估计的 Q 值准不准?偏差在哪?

4.2 策略梯度(Policy Gradient):直接优化你的行为策略

数学思路:不估计 Q 值,直接优化策略参数 θ 来最大化期望回报 J(θ):

θJ(θ)=E[θlogπθ(as)Gt]\nabla_\theta J(\theta) = \mathbb{E} \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot G_t \right]

翻译成人话:如果某个动作带来了好的回报 G_t,就提高以后在这个状态下做这个动作的概率;如果带来了坏的回报,就降低概率。

代表算法:REINFORCE、PPO

人生映射

不需要精确计算每个选择值多少。只需每次行动后复盘结果,效果好就多做,效果差就少做。通过大量试错,策略会自动收敛到好的方向。

适用场景

  • 建立新习惯:不分析「每天运动到底值多少」,直接试,感觉好就继续
  • 职业早期探索:多尝试不同方向,哪种反馈好就多投入
  • 社交策略:和不同类型的人交往,哪些关系让你状态更好就多投入

局限性

  • 高方差:单次结果波动大,可能被一次偶然的好/坏结果误导
  • 样本效率低:需要大量尝试才能收敛
  • 没有「为什么」的解释:只知道什么好,不知道为什么好

人生中的策略梯度实践

  1. 把每个行动当作一次采样:做了就记录结果(感觉如何、带来了什么)
  2. 提高带来好结果的行动概率:把好的习惯设计得更方便执行
  3. 降低带来坏结果的行动概率:把坏的习惯设计得难以执行(环境设计)

4.3 Actor-Critic:行动和评价并行

数学思路:Actor(策略网络)负责选择动作,Critic(价值网络)负责评估动作的好坏。Actor 根据 Critic 的反馈来调整策略:

θJ(θ)=E[θlogπθ(as)A(s,a)]\nabla_\theta J(\theta) = \mathbb{E} \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot A(s,a) \right]

其中 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 为什么最适合人生

  1. 它不需要等「一辈子过完」才知道好不好——每步都能从 Critic 获得即时反馈
  2. 它同时优化「做什么」(Actor)和「判断力」(Critic)
  3. 它天然适合持续迭代——Actor 和 Critic 互相促进,越来越准

五、折扣因子 γ:解决「英语和运动坚持不下去」的问题

这是本文最重要的实用部分。你为什么会放弃英语学习、放弃运动、放弃一切长回报周期的事情?RL 给了你一个精确的数学解释——你的折扣因子 γ 太低了

5.1 折扣因子的数学本质

γ ∈ [0,1] 决定了你对未来奖励的权重:

γ 值含义你能看到的未来典型表现
γ ≈ 0几乎只看当下几分钟到几小时刷短视频停不下来、只做有即时反馈的事
γ = 0.5未来打对折几天到几周能完成有短期 deadline 的任务,但长期项目总是拖延
γ = 0.9很在乎未来几个月到几年能坚持学英语、运动、做副业
γ ≈ 1当下和未来同等重要十年以上有清晰的长期规划并每天执行

关键公式:n 步后的奖励在当前的价值 = γnRt+n\gamma^n \cdot R_{t+n}

如果 γ = 0.8,那么:

  • 1 天后的奖励打 0.8 折
  • 一周后的奖励打 0.8^7 ≈ 0.21 折
  • 一个月后的奖励打 0.8^30 ≈ 0.001 折(基本归零)

这就是为什么你觉得英语没用——不是真的没用,而是你的 γ 太低,导致半年后的「能流利交流的快感」被你折现成了 ≈ 0。

5.2 问题诊断:为什么你的 γ 会变低

人的折扣因子不是固定的,它会受到以下因素影响:

因素降低 γ 的机制提升 γ 的方法
压力压力大时大脑优先处理眼前威胁,γ 自动降低管理压力源,保证充足睡眠
环境环境中充满即时奖励诱惑(手机通知、短视频)时,γ 被持续压低设计「低即时诱惑」环境:手机放远、关通知
不确定性对未来越不确定,越倾向于「落袋为安」,γ 降低增加确定性:和走过这条路的人聊、看数据
疲劳决策疲劳时自控力下降,γ 降低重要决策在早上做,不重要的自动化
社交圈周围的人都短视,你的 γ 会被拉低主动接触长期主义者的圈子和内容

5.3 真正的数学问题:不是「奖励来得晚」,而是「过程中就在痛」

在深入策略之前,先纠正本文 5.1 节的一个关键假设——也是大多数人对自己最大的误解。

之前我用 Bellman 方程分析「为什么坚持不了学英语」时,假设的是:

V(学英语)=0+γV(会英语)V(\text{学英语}) = 0 + \gamma \cdot V(\text{会英语})

即:即时奖励为 0(中性),未来有一个正奖励,但因为 γ 折现而看不到。

但这个假设是错的。对于英语和运动,实际的方程是:

V(学英语)=(痛苦)+γV(会英语)V(\text{学英语}) = (- \text{痛苦}) + \gamma \cdot V(\text{会英语})

即时奖励 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 组降低即时惩罚 RB 组提高 γ(折现因子)。两组缺一不可。


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今天写完这篇→ 理清了一个想法→ 明天工作上表达更清晰

具体做法

  1. 把长目标拆成肉眼可见的短里程碑(周期不超过一周)
  2. 每天记录「微小的进步」——不是「我今天学英语了」,而是「我今天学会了用 nonetheless」
  3. 每周回顾「这周和上周相比有什么不同」——逼自己看到变化

策略 B2:用「未来具象化」对抗折现

人的大脑对抽象的未来奖励不敏感,但对具体、鲜活的未来场景很敏感。

实操练习——「未来时间旅行」

每周花 5 分钟,闭上眼睛,想象两个版本的你:

  • 版本 A:坚持了长回报行为(如每天运动)
  • 版本 B:放弃了

想象越具体越好——你在哪里?你感觉怎么样?你在做什么?别人怎么看你?

这个练习的科学依据是:具象化的未来场景激活了大脑的情感中枢,从而提高了你对未来的价值感知(即提高了 γ)

策略三:利用「奖励塑形」

RL 中的 Reward Shaping 思想:如果直接奖励太稀疏、太远,就添加一些中间奖励来引导学习。

活动自然奖励(太远)人工添加中间奖励
学英语流利交流(半年到一年后)看懂一个梗的成就感、听懂一句话的快乐、本周打卡完成的仪式感
运动体型变化(三个月后)运动后的内啡肽快感、完成次数的记录增加、运动数据的好看曲线
写博客影响力(一年后)今天有人评论了、这周新增了一个关注、写完后的思路清明感

关键原则:中间奖励必须是真实的(你真的觉得有用/开心),而不是欺骗自己的。你的大脑可不傻。

策略 B4:小概念 vs 复习的奖励不一致问题

你提到:「快速学习一个小概念很快有 reward,但是复习的 reward 很慢。」

这是 RL 中的一个经典问题——稀疏奖励 vs 密集奖励的不一致。学新概念是密集奖励(每学一个就有一个「懂了」的快感),复习是稀疏奖励(复习十次才能感受到「巩固了」的差异)。

解决方案

  1. 给复习绑定即时奖励:复习后立刻做一个小测试或应用,让「能用出来」成为即时奖励。比如复习单词后立刻造一个句子,看到自己能用出来就是即时正反馈。

  2. 交替策略:不要「先学完再复习」,而是「学 3 个新概念 + 复习 3 个旧概念」交替进行。这样密集奖励和稀疏奖励混合,总体奖励密度保持不变。

  3. 追踪遗忘曲线的逆转:用 Anki 之类的工具,能看到数据——「今天你成功回忆起了 50 个即将遗忘的单词」。这个数字本身就是一种即时奖励。

  4. 用社交绑定:教别人你复习的内容。教的过程会产生即时的社交奖励和成就感。


六、程序员的复合增长:把 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 视角:复合效应就是 γtRt\sum \gamma^t R_t 的现实版本。你每天的一个小动作(ata_t)从单步奖励看微乎其微(Rt0R_t \approx 0),但从累积奖励看——你是唯一一个在做这件事的人,而所有不做的人累积奖励是 0。

6.2 程序员最值得「每天微功」的四件事

结合第五章的策略组 A(降低 R),下面是四个投入产出比最高的微习惯:

6.2.1 每天写 100 字技术笔记

RL 映射:这是最低成本的 Q 值积累动作。每天写 100 字,R 接近 0(几乎不需要意志力),但 V(s') 极高。

维度分析
即时惩罚 R100 字 = 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-rediscrafting 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.0595% 时间做确定的事,5% 探索事业上升期、时间紧张时
ε = 0.1585% 做事,15% 探索稳定期、想要新突破时
ε = 0.3070% 做事,30% 探索迷茫期、转型期、年轻探索阶段

具体行动

  • 每周安排一个「探索时隙」:试一家没吃过的餐厅、走一条没走过的路、和一个不太熟的人喝咖啡
  • 每月安排一个「探索日」:去一个没去过的地方、学一个完全没接触过的技能入门
  • 每年安排一个「探索周」:旅行到一个新地方、参加一个陌生领域的活动

策略二:UCB(上置信界)——优先探索不确定性高的方向

UCB 的核心思想:不只选已知最好的,还要考虑「不确定性」——一个选项如果尝试次数少,它的「潜力上限」可能很高

at=argmaxa[Q(a)+clntN(a)]a_t = \arg\max_a \left[ Q(a) + c \sqrt{\frac{\ln t}{N(a)}} \right]

翻译成人话:在你已有的经验很少的领域,可能有你完全不知道的巨大回报

人生映射

那些你从未尝试过的事情,可能有你想象不到的价值。你越是对某个领域「无知」,它的潜在惊喜就越大。

你已经很了解的你完全不了解的
编程陶艺
跑步攀岩
读书即兴戏剧
同龄朋友跨代际交流

你是程序员,编程给你带来的回报你已经很清楚了。但陶艺呢?你可能觉得「没用」,但你没试过,所以你不知道它可能给你带来什么——可能是新的思维方式、新的朋友群体、甚至新的职业灵感。

UCB 人生策略

  1. 列出你「完全不了解但有点好奇」的 10 件事
  2. 按「尝试成本从低到高」排序
  3. 每周从低成本项开始试一个
  4. 试完记录:「之前我以为它什么样,实际它什么样,我意外收获了什么」

策略三:熵正则化——主动在策略中加入「多样性」奖励

在策略梯度中加入熵奖励:J(θ)=E[R]+αH(π)J(\theta) = \mathbb{E}[R] + \alpha H(\pi),其中 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% 的精力给未知。不去探索,你就停在局部最优。
熵正则化多样性本身就是价值。人生策略太确定,是风险不是安全。

最终公式

好人生=maxπE[t=0γt(R即时+αH(π))]\text{好人生} = \max_\pi \mathbb{E} \left[ \sum_{t=0}^{\infty} \gamma^t \left( R_{\text{即时}} + \alpha \cdot H(\pi) \right) \right]

翻译:找到一套策略,让你在足够在乎未来的前提下,最大化一生的体验总价值,同时保持足够的多样性和开放性。

从明天开始,做你自己的 Agent,把人生当作一个 RL 环境来交互、学习和优化。