你到底在优化什么

多数人不缺努力,缺的是搞清楚自己到底在优化什么。


执行力很强但原地踏步

有些人执行力很强但还是原地踏步,有些人看着慢,时间一长反而走得远。光看执行质量解释不了这种差距。

常见的归因都站不住。不是方法问题:努力的人往往技巧更好。不是投入问题:他们花的时间更多。不是资源问题:他们手里的牌可能更好。

方向错了,执行力越强偏得越远。

生活中多数让人卡住的问题,不是执行问题,是目标函数的问题。


用优化的视角看决策

把生活看成一个优化系统,不是因为这是唯一正确的视角,是因为它能让决策方向变得明确、可讨论。

不管你有没有写下来,有没有意识到,你的每个决策都在优化某样东西。

最简单的版本是单变量:最大化薪水、最大化 GPA、最大化面试通过率。简单,可测量,短视。

现实复杂得多:职业决策要平衡薪水、成长空间、地点、工作强度、签证、风险。语言学习要权衡实用性、兴趣、职业价值、成本。权衡无处不在,多数人靠直觉在处理,从没明确写出过自己的函数。

真正成熟的决策者用的是条件函数:

1
2
3
4
5
6
7
def f(context):
if survival_pressure:
maximize(cash_flow)
elif growth_phase:
maximize(growth_rate)
elif stable_phase:
maximize(risk_adjusted_return)

他们没有一个固定不变的目标函数,有的是随状态切换的判断逻辑。


多数人优化的是继承来的默认值

多数人从没主动选过自己在优化什么,用的都是继承来的默认值。

学生阶段优化考试成绩,工作阶段优化头衔,焦虑阶段优化安全感。这些不是你设计的函数,是文化、父母、社会期望塞给你的默认值。

这些默认函数有共同特征:不稳定、不一致、不产生复利。你在它们之间来回切换,同时以为自己在做长期规划。

我自己回头看也是这样。前几年在优化简历好看,后来才意识到简历好看和真正的能力积累是两回事。

关键的第一步不是写出完美的函数,是把你正在优化的东西摆到台面上来。


四个诊断信号

以下信号不预测未来,它们是运行时日志。出现的时候,系统通常已经偏了一段时间。

轨迹断裂。 每个阶段都很努力,但轨迹连不上。三年做一件事,切到完全不相关的方向,再切一次。你以为在积累,其实在换游戏。

努力不产生复利。 持续投入,但成果孤立。每个成就跟前一个没有关系,没有在已有基础上叠加。局部很用力,全局没进展。

选项越来越窄。 目标在实现,但路越走越窄。在一条狭窄的路上越来越深入,但那条路的外部价值在下降。在一个正在失去相关性的领域里深耕。

这些信号不区分原因:函数一开始就错了、函数过期了(曾经对但环境变了)、还是多个函数在打架。它们只是告诉你,有什么东西没对齐。


方法跟着函数走

方法很少自己出问题。多数时候,方法失效是因为它服务的那个函数已经不在了。

目标函数一变,之前的方法自动失去意义。不是方法错了,是它在为一个已经不存在的目标优化。

多数人没意识到这一点。函数已经变了,方法还在原地。方法不会自动更新,但目标函数往往已经悄悄变了。

学习的例子:函数是"通过考试",最优策略是刷题。函数变成"长期理解",刷题的权重就该降了,系统性学习的权重该升。方法没变错,是函数变了。

投资的例子:函数是"短期回报",频繁交易是合理的。函数变成"30 年生存加复利",策略就该转向指数基金、分散化、风险控制。大多数交易技巧变得无关紧要。

职业的例子:函数是"最大化头衔",走路径 A。函数变成"可转移技能加全球机会",路径完全不同。

真正的洞察不是"方法会随函数失效"(这是定义),是人们没意识到函数已经变了,还在用旧函数下的方法往前冲。

方法失效不是失败,是重写成本。当你重写函数,就得接受之前的大部分优化变成次优。这是进化的代价。


什么时候该重写函数

目标函数需要长期稳定,但在被证伪时必须能重写。不是频繁变化,不是持续自我否定,是基于证据的重写。

三种触发条件。

轨迹长期不连续。 每隔几年换一个方向,以为在积累,但轨迹连不上。说明函数跟你真正的长期目标没对齐。

局部最优但无法放大。 在自己的领域越来越强,但外部价值在下降。局部优化到了顶,全局走不出去。函数太窄,或者领域本身在失去相关性。

突然暴露出风险。 函数里没包含风险维度,系统快要崩了。函数不完整。

有些函数不是错的,是过期了。过去的环境下它是对的,但没跟着环境更新。"我曾经靠这个成功"不等于函数现在还对。

重写有成本,之前的方法大部分变成次优。这是必要的代价。


把你的函数写出来

这不是一套完整方法,只是一个起点:让你的函数可见一次。

把你当前在优化的东西写下来。然后检查三件事:

五年后这个函数还重要吗?它包含风险管理吗?产出的结果能互相叠加吗?

写出函数不是目的,让它可见才是。多数人优化的是继承来的默认值,这个练习把它从隐式变成可见。不完美,但可见。


执行问题和函数问题要分开

执行不够导致结果差,那是执行问题。执行越好反而离长期目标越远,那是函数问题。两者的解法完全不同:执行问题需要纪律和系统,函数问题需要重写。

跟踪结果不等于优化函数。很多人一直在量指标,但从没审视过指标背后的函数。

这里说的"错误"不是道德判断,只是指当前函数产生不了你预期的长期轨迹:跟你自己说的目标不对齐。

如果函数跟身份绑定了,重写成本会高很多。这个话题更复杂,这篇不展开。


最后一句

你不会上升到努力水平,你会沿着目标函数的梯度移动。

多数人从没主动选过自己在优化什么,用的都是继承来的默认值,然后花几年甚至十几年去优化它。