思考 @ 2025-01
Thoughts on 2025-01. Including: How to set an ideal goal? Why am I able to focus when coding?
怎么设计一个理想的计划?
(2025-01-21)
上篇说到, 一个更好的计划 = (清晰的目标 + 可视化进度 + 可调整的灵活性) + (易启动的任务 + 及时的反馈 + 持续的意义感). 我试着进一步分析一下具体的要求是什么.
我喜欢什么反馈?
回忆过去的经历, 我觉得会让我喜欢的反馈有
- 直接验证型: 程序通过测试; 做题的正确率很高; 证明出来一个我觉得有价值的命题; 学到的知识可以解决一个具体的问题;
- 记录型反馈: 看到 GitHub 的提交历史满满当当的且结构精致; 把知识用一个我认为简单的框架总结出来;
- 挑战型反馈: 编程中把自己的算法优化到时间/空间最优; 做出来一道大家都觉得很难的题;
什么对我来说是意义感?
我觉得做一个事情能让我有意义的情况有:
- 长期战略意义: 学习这个东西能让我更好的理解未来可能会出现的东西(Category theory);
- 短期实用意义: 学习这个东西能让我未来更容易找到工作(编程);
- 能解决问题: 学习这个东西能解决一个具体的问题;
- 内在驱动: 学习这个东西满足了我的好奇心;
任务容易到什么程度算容易启动?
我觉得容易启动的事情有:
- 打开电脑用C++实现算法的一个功能;
- 配置一个编程环境;
- 试用一个新软件;
ChatGPT 总结我可以按以下维度来分类:
- 具体性上: 明确具体的任务、探索性的任务;
- 难度上: 低技术门槛、低心理负担;
- 启动条件: 外部条件简单、无额外决策需求;
怎么让我保持进度清晰?
让我感觉进度清晰的事情:
- 安装软件的时候有个进度条;
- 写程序的时候勾选我在一开始规划的子任务;
- 实现的功能可以让我做更多的事情;
ChatGPT 总结如下:
- 可视化反馈: 线性进度 + 任务状态标记;
- 累积效应: 过去做过的事情在未来会用得上;
总结
一个更好的计划 = (清晰的目标 + 可视化进度 + 可调整的灵活性) + (易启动的任务 + 及时的反馈 + 持续的意义感).
计划层面:
清晰的目标 = 长期战略意义 + 短期实用意义 + 多个里程碑;
可视化进度 = 线性进度的可视化 + 任务状态的标记 + 累积成果的应用;
灵活性与调整 = 短期调整 + 定期优化;
任务层面:
易启动的任务 = 具体明确可执行 + 有一定探索性 + 启动条件简单 + 无环境依赖;
及时的反馈 = 直接验证型反馈 or 记录型反馈 or 挑战型反馈;
持续的意义感 = 长期战略意义 + 短期实用意义 + 解决具体问题 + 好奇心驱动;
为什么写程序的时候可以很专心?
(2025-01-21)
最近发现我写程序的时候无论吃药或者不吃药, 都可以达到忘我的状态. 但是写数学的时候好像就很少有过这样的情况. 我试着总结一下进入这种状态的原因, 看看怎么能把这个状况迁移到其他的学习中.
启动容易
- 启动任务门槛低: 编程的启动任务很具体, 并且对环境的要求不高: 写一个具体的功能. 无需在图书馆, 电脑有电就行. 但是写数学的启动任务较宽泛, 只是证明某个定理, 而且我心里觉得我需要在图书馆才能开始工作. (改进: 试着破除对于环境的依赖?)
- 执行与思考分离: 得益于提前规划, 我执行的时候基本无需重新思考宏观部分, 只需要完成具体细节即可. 但是写数学的时候, 我需要时刻注意自己到了哪一步. (改进: 拆分任务)
反馈及时且持续
我个人感觉这部分应该是最重要的.
- 及时且持续的反馈: 每写一部分代码我都会进行测试, 可以立刻知道结果. 这种及时反馈的特性强化了我的动力. 作为对比, 数学证明通常写一部分需要很长时间, 同时无法及时验证正确与否. (改进: 试着在任务中制造反馈)
- 低挫败感: 写代码中无论程序正常运行与否, 我都不会有太大挫败感. 但是写数学证明中, 如果太久没有思路, 或者一个概念没法很好的融入到我现有的结构中, 我会感到非常挫败.
- 接近目标: 写代码的目标是明确的, 也就是实现一个具体的程序. 但是学数学的目标相比之下不明确, 比如说“学完 Lie algebra”, 我也不知道我证明了 Engel 定理能让我有多更接近这个目标.
创造价值感
- 满足了展示价值: 将代码发布到 GitHub, 同时考虑到未来有一天可以放到网站上进行展示, 也满足了我的“被认可”的需求. 但是数学笔记很少可以展示. (改进: 继续坚持写数学 wiki)
- 与未来价值的链接: 写代码与未来去当程序员进大厂有强关联, 这种与未来的价值的联系让我也能坚持投入. 但是感觉学会数学的某个科目和未来也没什么关联, 只是满足了自己的某个好奇心.
总结
我认为这个问题的答案可以分成两部分, 第一是个人观念, 譬如对于环境的依赖、挫败感的认识, 这一部分需要我慢慢的来消除. 第二部分是我目前能改进的, 也就是制定更好的计划. 目前来看, 一个更好的计划 = (清晰的目标 + 可视化进度 + 可调整的灵活性) + (易启动的任务 + 及时的反馈 + 持续的意义感).