<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>学习方法 on 方糖猫Blog</title>
    <link>https://ftmao.com/blog/tags/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/</link>
    <description>AI 视频、AI Agent 与工程实践笔记</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Mon, 28 Sep 2026 16:00:00 +0800</lastBuildDate><atom:link href="https://ftmao.com/blog/tags/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/index.xml" rel="self" type="application/rss+xml" /><item>
      <title>十年前泡论坛啃书，现在问 AI：软件知识的分层与获取地图</title>
      <link>https://ftmao.com/blog/posts/how-to-get-reliable-tech-knowledge-in-ai-era/</link>
      <pubDate>Mon, 28 Sep 2026 16:00:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/how-to-get-reliable-tech-knowledge-in-ai-era/</guid>
      <description>&lt;h1 id=&#34;十年前泡论坛啃书现在问-ai软件知识的分层与获取地图&#34;&gt;十年前泡论坛啃书，现在问 AI：软件知识的分层与获取地图&lt;/h1&gt;
&lt;p&gt;先想象一个具体的任务：&lt;strong&gt;你要从零做一个秒杀下单系统&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果是 2015 年，你的路径大概是这样的：买《深入理解 Nginx》《Redis 设计与实现》，泡博客园和 ITEye，搜&amp;quot;秒杀系统 架构&amp;quot;找到几篇大厂的分享 PPT 如获至宝，照着 CSDN 上的帖子抄一段 Nginx 配置，跑不通就去 QQ 群里问。一个消息队列的选型，可能要在论坛里翻几十页帖子。&lt;/p&gt;
&lt;p&gt;如果是 2026 年，你打开 AI 问一句：&amp;ldquo;帮我拆解一个秒杀系统的技术选型和坑。&amp;ldquo;十秒钟，一份看起来像模像样的方案就出来了。&lt;/p&gt;
&lt;p&gt;然后呢？然后你照着 AI 给的代码配 Spring Boot，启动报错——它引用的包名是 Spring Boot 2 的。你问它 Redis 最新版本怎么配，它给你的参数三年前就废弃了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;渠道换了三代，踩的坑是同一个&lt;/strong&gt;：渠道选错，往往不是信息不够，而是拿错了知识层次。这篇文章想讲清楚两件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;软件知识分层，每一层有各自唯一靠谱的获取渠道；&lt;/li&gt;
&lt;li&gt;从&amp;quot;论坛时代&amp;quot;到&amp;quot;AI 时代&amp;rdquo;，每一层的渠道具体是怎么变迁的。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;一spring-boot-和-netty其实是两个层面的东西&#34;&gt;一、Spring Boot 和 Netty，其实是两个层面的东西&lt;/h2&gt;
&lt;p&gt;学习清单上它们常常排在一起：&amp;ldquo;Spring Boot、Redis、MQ、Nginx、Netty。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;但如果看它们各自真正难的部分，这五个名字其实落在四个不同的层次上：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;技术&lt;/th&gt;
					&lt;th&gt;它真正难的部分&lt;/th&gt;
					&lt;th&gt;属于哪层&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Nginx、Netty&lt;/td&gt;
					&lt;td&gt;Reactor 模型、epoll、零拷贝、内存管理&lt;/td&gt;
					&lt;td&gt;贴着操作系统网络的底层组件，核心知识半衰期 &lt;strong&gt;10 年+&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Redis、MQ（Kafka/RocketMQ）&lt;/td&gt;
					&lt;td&gt;数据结构、持久化策略、副本协议、消息语义&lt;/td&gt;
					&lt;td&gt;中间件，核心知识半衰期 &lt;strong&gt;5~8 年&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Spring Boot&lt;/td&gt;
					&lt;td&gt;自动装配、约定优于配置、生态整合&lt;/td&gt;
					&lt;td&gt;应用组装框架，半衰期 &lt;strong&gt;3~5 年&lt;/strong&gt;，小版本还在月月变&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;用上面这些搭一个秒杀系统&lt;/td&gt;
					&lt;td&gt;流量整形、幂等、分布式事务、降级预案&lt;/td&gt;
					&lt;td&gt;方案层，跟着业务实践走，&lt;strong&gt;没有教材，只有案例&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;层次不同，学法就不同：试图&amp;quot;背&amp;quot;Spring Boot 的配置（该查不背），或者试图靠刷博客学懂 Netty 的 EventLoop（该啃源码），都是拿错了工具。&lt;strong&gt;层次错位，是学习效率低的第一大原因。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;二四层知识四个时代的入口&#34;&gt;二、四层知识，四个时代的入口&lt;/h2&gt;
&lt;p&gt;把上面的分层展开，逐层对比&amp;quot;过去去哪获取&amp;quot;和&amp;quot;现在去哪获取&amp;rdquo;：&lt;/p&gt;
&lt;h3 id=&#34;原理层reactorcapb-树tcp&#34;&gt;原理层：Reactor、CAP、B+ 树、TCP&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;过去&lt;/strong&gt;：经典书和论文是唯一入口。《UNIX 网络编程》《TCP/IP 详解》摆在桌上，啃不动就是啃不动，没人能救你。这层知识获取的瓶颈从来不是&amp;quot;找不到&amp;quot;，而是&amp;quot;读不懂&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现在&lt;/strong&gt;：书还是那批书——原理层十几年不变，没有新书可写。但多了一件过去不存在的东西：&lt;strong&gt;AI 是随问随答的讲解员&lt;/strong&gt;。&amp;ldquo;用大白话解释 Reactor 和 Proactor 的区别&amp;rdquo;、&amp;ldquo;CAP 里的 P 为什么必须满足&amp;rdquo;、&amp;ldquo;这段 epoll 代码为什么这么写&amp;rdquo;——过去需要一个导师领着啃的东西，现在可以按你自己的水平反复讲。这大概是 AI 对学习方式最大的真实贡献：&lt;strong&gt;它消灭了原理层的&amp;quot;读不懂&amp;quot;&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;组件层netty-的-eventloopredis-的持久化kafka-的副本协议&#34;&gt;组件层：Netty 的 EventLoop、Redis 的持久化、Kafka 的副本协议&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;过去&lt;/strong&gt;：官方文档（英文，劝退）+ 源码硬啃 + 少数系统化的书（《Redis 设计与实现》《Netty 权威指南》《Kafka 权威指南》）。肯读源码的人和不读的人，差距就在这一层拉开。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现在&lt;/strong&gt;：锚点没变——官方文档和源码仍然是这一层唯一的事实来源。变的是&lt;strong&gt;门槛&lt;/strong&gt;：把 &lt;code&gt;NioEventLoop&lt;/code&gt; 的一段源码贴给 AI 问&amp;quot;这段在干嘛&amp;quot;，比自己在调用栈里迷路快十倍。书的意义也变了：不再是唯一的系统材料，而是帮你建立地图——地图有了，细节让 AI 陪你在源码里走。&lt;/p&gt;
&lt;p&gt;各组件的锚点，顺手列一下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spring Boot&lt;/strong&gt;：spring.io 的官方 Guides + Reference；版本变化看 GitHub release notes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Redis&lt;/strong&gt;：redis.io 官方文档，每个命令一页带复杂度说明，质量极高&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafka&lt;/strong&gt;：官方文档的 Design 章节，分布式系统教学级材料，值得全文读&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RocketMQ&lt;/strong&gt;：GitHub 仓库里的架构文档，配合 &lt;code&gt;DefaultMQProducer&lt;/code&gt; 源码读一遍发送流程&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nginx&lt;/strong&gt;：nginx.org 指令文档是&amp;quot;查&amp;quot;的，不是&amp;quot;学&amp;quot;的；架构思想看《深入理解 Nginx》&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Netty&lt;/strong&gt;：官方 User Guide 很短，真正的教材是 &lt;code&gt;NioEventLoop&lt;/code&gt; 源码本身&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;版本层spring-boot-3-的配置项redis-7-的新命令&#34;&gt;版本层：Spring Boot 3 的配置项、Redis 7 的新命令&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;过去&lt;/strong&gt;：本来就该看官方 release notes，但很多人不看——踩了坑再去搜博客，搜到别人踩过的同一个坑。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现在&lt;/strong&gt;：&lt;strong&gt;这一层是唯一没有被 AI 改善、反而被 AI 污染的层&lt;/strong&gt;。AI 有知识截止日期，且会一本正经地编造不存在的配置项和 API。它记忆里的版本知识只能当初稿，不能当答案。正确姿势有两种：一是回归原始动作，直接去官方文档和 release notes 抄；二是把官方文档页面喂给 AI 当上下文再提问（或用 Context7、DeepWiki 这类把最新文档索引给 AI 的工具），让 AI 基于真实文档回答，而不是基于记忆编造。&lt;/p&gt;
&lt;p&gt;一句话：&lt;strong&gt;版本层的知识不要&amp;quot;学&amp;quot;，要&amp;quot;查&amp;quot;，唯一权威是官方文档。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;方案层秒杀订单幂等分布式事务&#34;&gt;方案层：秒杀、订单幂等、分布式事务&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;过去&lt;/strong&gt;：这是最难获取的一层。官方文档不管组合，书上没有，只能靠大厂技术博客、QCon/ArchSummit 的大会 PPT、以及口口相传。当年能拿到一份大厂秒杀架构的分享 PPT，如获至宝不是修辞，是事实。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现在&lt;/strong&gt;：大厂博客依然是主力（地址整理在第四节），但增量有两个：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;成熟的开源脚手架&lt;/strong&gt;——mall、RuoYi 这类 Star 数高、持续更新的项目，看它们怎么把组件接起来、怎么处理幂等和分布式事务。重点看 issue 区，坑都在那里。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI 能做方案 review&lt;/strong&gt;——把你的设计贴给它问&amp;quot;这个链路哪里会丢消息&amp;quot;，它能列出你该检查的清单。它给出的方案未必对，但它给出的&amp;quot;检查清单&amp;quot;通常很全。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;还有一条没变过：&lt;strong&gt;看十篇方案不如自己搭一遍&lt;/strong&gt;。用 Docker Compose 把 MySQL + Redis + RocketMQ + Nginx 拉起来，写一个下单扣库存接口，把消息丢失、缓存穿透、重复消费全踩一遍。踩过的坑才是你的方案。&lt;/p&gt;
&lt;h2 id=&#34;三把例子走完秒杀系统的四层拆解&#34;&gt;三、把例子走完：秒杀系统的四层拆解&lt;/h2&gt;
&lt;p&gt;回到开头的任务，把&amp;quot;做一个秒杀系统&amp;quot;拆到四层，每层的获取动作清清楚楚：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;层&lt;/th&gt;
					&lt;th&gt;秒杀系统里对应的问题&lt;/th&gt;
					&lt;th&gt;2015 年的动作&lt;/th&gt;
					&lt;th&gt;2026 年的动作&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;原理层&lt;/td&gt;
					&lt;td&gt;为什么用队列削峰（流量整形）；超卖的本质是并发控制&lt;/td&gt;
					&lt;td&gt;啃书，啃不动就放弃&lt;/td&gt;
					&lt;td&gt;书 + AI 讲到懂为止&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;组件层&lt;/td&gt;
					&lt;td&gt;Redis Lua 扣库存的原子性；RocketMQ 事务消息&lt;/td&gt;
					&lt;td&gt;官方文档 + 源码硬啃&lt;/td&gt;
					&lt;td&gt;文档源码仍是锚点，AI 当导读&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;版本层&lt;/td&gt;
					&lt;td&gt;Spring Boot 3 整合 Redis 的依赖坐标；RocketMQ 5.x 客户端配置&lt;/td&gt;
					&lt;td&gt;踩坑后搜博客&lt;/td&gt;
					&lt;td&gt;官方文档抄，或喂文档给 AI&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;方案层&lt;/td&gt;
					&lt;td&gt;整条链路怎么组装、降级预案怎么定&lt;/td&gt;
					&lt;td&gt;大厂 PPT + 口口相传&lt;/td&gt;
					&lt;td&gt;大厂博客 + 开源脚手架 + AI review + 自己搭&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;注意一个细节：四层里只有原理层和方案层的&amp;quot;获取&amp;quot;被 AI 真正改变了；组件层是门槛降低，版本层反而要多一道验证。&lt;strong&gt;AI 没有改变知识的层次结构，只改变了每一层的获取效率。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;四趋势在哪看&#34;&gt;四、趋势在哪看&lt;/h2&gt;
&lt;p&gt;趋势是方案层之上的东西：不告诉你 API 怎么写，但告诉你行业在往哪走。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;过去&lt;/strong&gt;：书和杂志的序言、线下大会、以及&amp;quot;听说隔壁公司在用什么&amp;quot;。信息慢，但噪声也小。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现在&lt;/strong&gt;：信号源多了，按信号强度排序——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Trending + Awesome 系列&lt;/strong&gt;：trending 看热度，awesome-xxx 看生态成熟度。一个方向的 awesome 列表两年没更新，基本就是凉了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;顶级会议议题表&lt;/strong&gt;：KubeCon、QCon/ArchSummit、Spring I/O、AWS re:Invent。连续三年都有专场的话题，已经不是趋势，是现实。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ThoughtWorks 技术雷达&lt;/strong&gt;：半年一期，敢说&amp;quot;暂缓&amp;quot;，比只会吹捧的报告值钱。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;年度调查&lt;/strong&gt;：Stack Overflow / JetBrains 开发者报告。&amp;ldquo;实际在用什么&amp;quot;和&amp;quot;媒体在吹什么&amp;quot;的差值，就是泡沫。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大厂技术博客&lt;/strong&gt;：他们踩过的坑，就是你两年后的日常。常用入口（RSS 为发文前实测可用）：&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;国内：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;团队&lt;/th&gt;
					&lt;th&gt;地址&lt;/th&gt;
					&lt;th&gt;RSS / 订阅方式&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;美团技术团队&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://tech.meituan.com/&#34;&gt;tech.meituan.com&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://tech.meituan.com/feed/&#34;&gt;RSS&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;阿里（淘天/阿里云等）&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://developer.aliyun.com/group&#34;&gt;阿里云开发者社区&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;无官方 RSS，可用 &lt;a href=&#34;https://docs.rsshub.app/&#34;&gt;RSSHub&lt;/a&gt; 生成&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;字节跳动技术团队&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://juejin.cn/user/1838039172387262&#34;&gt;掘金官方号&lt;/a&gt;、&lt;a href=&#34;https://opensource.bytedance.com/blog&#34;&gt;开源官网博客&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;无官方 RSS，可用 RSSHub 生成&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;腾讯云开发者&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://cloud.tencent.com/developer&#34;&gt;cloud.tencent.com/developer&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;无官方 RSS&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;国外：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;团队&lt;/th&gt;
					&lt;th&gt;地址&lt;/th&gt;
					&lt;th&gt;RSS&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Netflix&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://netflixtechblog.com/&#34;&gt;netflixtechblog.com&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://netflixtechblog.com/feed&#34;&gt;RSS&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Meta Engineering&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://engineering.fb.com/&#34;&gt;engineering.fb.com&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://engineering.fb.com/feed/&#34;&gt;RSS&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AWS&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://aws.amazon.com/blogs/&#34;&gt;aws.amazon.com/blogs&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://aws.amazon.com/blogs/aws/feed/&#34;&gt;RSS&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Uber&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://www.uber.com/blog/engineering/&#34;&gt;uber.com/blog/engineering&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;无公开 RSS&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Google Developers&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://developers.googleblog.com/&#34;&gt;developers.googleblog.com&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;页面提供 Atom 订阅&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;国内团队不提供 RSS 的居多（内容越来越多迁到公众号和自家社区），两个补救办法：用 RSSHub 把社区页面转成 RSS；或者干脆不订阅，按季度扫一遍历史文章列表——好内容不怕晚三个月。&lt;/p&gt;
&lt;p&gt;无论渠道怎么变，趋势这东西&lt;strong&gt;季度性地扫一眼就够了&lt;/strong&gt;。天天刷只会制造焦虑。真正值得追的趋势，三个月后它还在。&lt;/p&gt;
&lt;h2 id=&#34;五ai-时代真正改变的三件事&#34;&gt;五、AI 时代真正改变的三件事&lt;/h2&gt;
&lt;p&gt;把全文收拢成三句话：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;原理层的获取成本坍缩了。&lt;/strong&gt; 过去最大的瓶颈&amp;quot;读不懂&amp;quot;被 AI 消灭了——这是学习方式上最深刻的改变，没有之一。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证变得比知道重要。&lt;/strong&gt; AI 会编，尤其在版本层。靠谱的工作流只剩三步：AI 讲原理 → 官方文档定版本 → 跑起来验证。跑不通，把报错喂回去让它修。AI 时代最值钱的技能不是&amp;quot;知道答案&amp;rdquo;，而是&amp;quot;会写验证答案的实验&amp;quot;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;提问质量 = 知识杠杆率。&lt;/strong&gt; &amp;ldquo;Redis 怎么用&amp;quot;和&amp;quot;Spring Boot 3.2 + Redis 7，Lettuce 客户端，缓存用户会话 TTL 30 分钟，缓存穿透怎么处理，给最小示例&amp;rdquo;——后者的答案质量是前者的十倍。你掌握的原理层知识越多，问题就描述得越精确，AI 的产出就越好。&lt;strong&gt;底层知识没有贬值，它变成了杠杆。&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;获取渠道换了三代：书 → 博客论坛 → 公众号 → AI。不变的是知识的分层，和你对&amp;quot;什么知识值得花时间&amp;quot;的判断力。AI 让&amp;quot;知道&amp;quot;变得廉价，让&amp;quot;验证&amp;quot;和&amp;quot;判断&amp;quot;变得昂贵——未来拉开差距的，不是谁知道得多，而是谁分得清：哪句话该信 AI，哪句话必须去翻官方文档。&lt;/p&gt;
</description>
    </item>
    <item>
      <title>《别闹了，费曼先生》笔记：不要骗自己，因为你最容易骗自己</title>
      <link>https://ftmao.com/blog/bookstore/feynman-surely-joking-book-notes/</link>
      <pubDate>Sun, 08 Oct 2023 10:40:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/bookstore/feynman-surely-joking-book-notes/</guid>
      <description>&lt;h1 id=&#34;别闹了费曼先生笔记不要骗自己因为你最容易骗自己&#34;&gt;《别闹了，费曼先生》笔记：不要骗自己，因为你最容易骗自己&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;《别闹了，费曼先生》（Surely You&amp;rsquo;re Joking, Mr. Feynman!）不是一本物理学书，是一本&amp;quot;一个人怎么跟自己的好奇心相处一辈子&amp;quot;的书。费曼写洛斯阿拉莫斯开保险柜、在酒吧学泡妞、打邦戈鼓打到巴西狂欢节、学画画办画展——物理学家的部分反而像顺便写的。&lt;/p&gt;
&lt;p&gt;但读第二遍你会发现，所有这些&amp;quot;不务正业&amp;quot;的章节底下压着同一块地基：&lt;strong&gt;对&amp;quot;真正理解&amp;quot;的偏执，和对&amp;quot;自欺&amp;quot;的零容忍&lt;/strong&gt;。开保险柜研究的是人的心理而不是锁，打鼓画画是拿身体去验证&amp;quot;我能不能从零搞懂一件事&amp;quot;。这本书最值钱的就是这块地基，这篇笔记就专写它。&lt;/p&gt;
&lt;p&gt;写作目标：不写书摘堆砌，只留我消化完还能用的东西。费曼的故事网上到处都是，但&amp;quot;故事好听&amp;quot;和&amp;quot;我能用&amp;quot;之间隔着一层消化——这篇笔记做的就是这层消化。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;另外说明一句史实边界：文中&amp;quot;挑战者号冰水演示&amp;quot;一节严格说不在这本书里，而出自姊妹篇《你干吗在乎别人怎么想？》（What Do You Care What Other People Think?）及其所附的调查报告附录。因为它和本书的&amp;quot;草包族科学&amp;quot;一脉相承，我把它收了进来，并单独标注出处——这也算对费曼那套&amp;quot;诚实交代来源&amp;quot;的最低限度致敬。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一这本书的骨架同一条主线的五个副本&#34;&gt;一、这本书的骨架：同一条主线的五个副本&lt;/h2&gt;
&lt;p&gt;表面上这是一堆散装轶事，实际上每个故事都是同一个公式的实例。先交代书的来历：这本书不是费曼坐下来写的自传，是他的鼓友 Ralph Leighton 把多年间录下的口述整理成的故事集，所以全书口语、跳跃、没有章节逻辑——但正因为是口述，它保留了一个坐下来写字的人会删掉的东西：&lt;strong&gt;他讲自己干蠢事和讲自己聪明事，用的是同一种兴致&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TB
    CORE[&amp;#34;核心公式&amp;lt;br/&amp;gt;真正理解 = 能讲明白 + 能推导 + 能玩出来&amp;#34;]
    CORE --&amp;gt; C1[&amp;#34;开保险柜&amp;lt;br/&amp;gt;研究人，不研究锁&amp;#34;]
    CORE --&amp;gt; C2[&amp;#34;巴西见闻&amp;lt;br/&amp;gt;背定义 ≠ 懂物理&amp;#34;]
    CORE --&amp;gt; C3[&amp;#34;草包族科学&amp;lt;br/&amp;gt;科学的第一原则是诚实&amp;#34;]
    CORE --&amp;gt; C4[&amp;#34;费曼学习法&amp;lt;br/&amp;gt;讲不清 = 没懂&amp;#34;]
    CORE --&amp;gt; C5[&amp;#34;打鼓与画画&amp;lt;br/&amp;gt;用&amp;#39;玩&amp;#39;验证理解&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;费曼自己未必按这个框架写过，但整本书反复在验证它。下面逐个拆开。&lt;/p&gt;
&lt;p&gt;按章节大致归一下类，这本书的散装故事可以分进五个桶：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;童年与无线电时期&lt;/strong&gt;：修收音机、在家里捣鼓小发明——&amp;ldquo;理解系统&amp;quot;的雏形；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;洛斯阿拉莫斯时期&lt;/strong&gt;：开保险柜、审查报告、和军方官僚斗智斗勇——&amp;ldquo;研究人&amp;quot;和&amp;quot;抵抗草包族流程&amp;rdquo;；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;康奈尔低谷期&lt;/strong&gt;：写不出东西、自我怀疑，最后靠食堂里看飞盘重新找回&amp;quot;好玩&amp;rdquo;——好奇心修复机制；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;巴西与教学见闻&lt;/strong&gt;：背定义的教育、教材审查委员会的荒诞——&amp;ldquo;假学会&amp;quot;的病理切片；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;鼓、画、桑巴、画展&lt;/strong&gt;：跨领域从零学习——方法论的压力测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我这个分桶未必是作者本意，但按这个顺序读第二遍，会发现每个桶里的故事都在给&amp;quot;真正理解&amp;quot;下定义的不同侧面。&lt;/p&gt;
&lt;p&gt;一个阅读建议：这本书第一遍当段子集读就行，享受它；&lt;strong&gt;第二遍带着一个问题读——&amp;ldquo;这个故事里，他用了哪条判据证明自己真懂了？&amp;rdquo;&lt;/strong&gt; 你会发现几乎每篇都有答案：修收音机靠&amp;quot;能预测症状&amp;rdquo;，开保险柜靠&amp;quot;能复现结果&amp;quot;，学画画靠&amp;quot;能卖出去&amp;quot;。段子是表象，判据是骨架。我这篇笔记就是第二遍读法的产物。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;二开保险柜理解的对象从来不是表面那个&#34;&gt;二、开保险柜：理解的对象从来不是表面那个&lt;/h2&gt;
&lt;p&gt;洛斯阿拉莫斯时期，费曼成了基地里著名的&amp;quot;保险柜破解者&amp;quot;，专门帮人开忘记密码的文件柜。这件事最容易被讲成&amp;quot;天才黑客故事&amp;quot;，但书里写得很清楚，他的方法毫无魔法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;先试出厂默认组合。&lt;/strong&gt; 很多保险柜买回来没人改密码。一猜一个准。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;再试&amp;quot;懒人组合&amp;quot;。&lt;/strong&gt; 人的密码习惯高度可预测：生日、纪念日、简单数列，甚至有人直接用数学常数。费曼发现一个同事用 e 的前几位当密码——对数学家来说&amp;quot;好记&amp;quot;，对另一个数学家来说就等于没设。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;趁柜门开着时做实验。&lt;/strong&gt; 他会在别人的保险柜开着的时候去拨弄锁，观察最后两位数字的松动范围，把三位的搜索空间压到只剩几十种组合，回头&amp;quot;现场破解&amp;quot;时快得像读心术。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;看出来了吗：&lt;strong&gt;他研究的是人，不是锁&lt;/strong&gt;。锁的机械原理他懂，但真正的高命中率来自对&amp;quot;人怎么选密码、怎么偷懒&amp;quot;的建模。他事后还特地去学正规的开锁技术，结论是那套东西对好锁基本没用——他的&amp;quot;传奇&amp;quot;全靠心理学加一点点机械常识。&lt;/p&gt;
&lt;p&gt;这件事还有个耐人寻味的结尾：费曼开柜的&amp;quot;战绩&amp;quot;传开后，基地里的人开始防他、背后议论他。他观察到一个人性的细节——&lt;strong&gt;大家宁可紧张自己的秘密，也不肯改掉用生日当密码的习惯&lt;/strong&gt;。锁是安全的，用锁的人不是。&lt;/p&gt;
&lt;p&gt;他甚至把开柜变成了一种安全审计：有一次打开装着机密文件的柜子后，他没拿文件，只留了张字条让主人知道&amp;quot;这里来过人&amp;quot;。他用这种半恶作剧的方式反复向基地证明一件事——&lt;strong&gt;你们的安全感是仪式，不是安全&lt;/strong&gt;。门禁森严、红章盖满，但密码还是生日；这和他后来批评的草包族科学是同一个结构：形式完备，内核空洞。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：这是我全书最有共鸣的一章。工程师排障的经验一模一样——线上事故九成不是&amp;quot;系统多深奥&amp;quot;，而是你没去建模&amp;quot;人会怎么配置它、怎么误用它&amp;quot;。默认密码就是当年的&amp;quot;root/123456&amp;quot;，人性八十年不变。另一个更扎心的推论：费曼反复强调大家以为他开的是&amp;quot;物理难题&amp;quot;，其实他开的全是&amp;quot;人的弱点&amp;quot;——&lt;strong&gt;很多看起来高深的能力，只是把显而易见的东西系统地做了一遍&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这一章还藏着一个容易被忽略的方法论细节：费曼&amp;quot;趁柜门开着做实验&amp;quot;，本质是&lt;strong&gt;把等待时间换成实验时间&lt;/strong&gt;。别人看到开着的保险柜只觉得方便，他看到一个零成本的实验台。工程上的对应物是：灰度环境、影子流量、feature flag——都是&amp;quot;趁门开着&amp;quot;的时候把该摸清的参数摸清。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;三巴西见闻背得出定义讲不出实例&#34;&gt;三、巴西见闻：背得出定义，讲不出实例&lt;/h2&gt;
&lt;p&gt;这是全书最严肃的一章，也是真正会刺痛人的一章。&lt;/p&gt;
&lt;p&gt;费曼 1950 年代去巴西讲学，发现当地物理教育有个怪现象：学生能把&amp;quot;光是什么&amp;quot;的定义背得滚瓜烂熟——葡萄牙语一字不差——但你问任何一句&amp;quot;那生活中有什么例子&amp;quot;，全场鸦雀无声。他举了一个经典场景：他在课上问学生，特里布族（tribo，这里是他对学生死记硬背的讽刺性类比）式的背诵有什么用——学生能把&amp;quot;布儒斯特角&amp;quot;的定义倒背，却没人知道海湾里看水面的反光就能观察到偏振。&lt;/p&gt;
&lt;p&gt;更让他震惊的是教材本身：所谓的&amp;quot;科学课本&amp;quot;全是&amp;quot;能量使它运动&amp;quot;这类循环论证式的空话——他把书扔到灯下说，这本书里没有任何科学，全是&amp;quot;一个名词解释另一个名词&amp;quot;。而学生在这种系统里被训练成&lt;strong&gt;考试机器&lt;/strong&gt;：笔记记得工整，考题全背过，但只要题目换个说法就全军覆没——因为没有人理解任何东西。&lt;/p&gt;
&lt;p&gt;他在一次面向教育界的讲演里当面把这层窗户纸捅破了：你们这套不是科学教育。在场的反应很微妙——有人佩服他的勇气，也有人说&amp;quot;我们早知道有问题，但整个系统就是这么建的&amp;quot;。书里没有回避这个尴尬：&lt;strong&gt;系统里的每个人都知道哪里坏了，但没人是那个该负责修它的人。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这一章还有个细节值得记下：费曼发现，巴西学生不敢提问，因为提问等于暴露自己&amp;quot;没背下来&amp;quot;，在这个系统里是丢分的。于是他看到一种彻底的倒置——&lt;strong&gt;好奇心成了负资产，背诵成了唯一资产&lt;/strong&gt;。一个把好奇心清零的教育系统，教出来的科学只能是草包族科学的前奏。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：这章对我冲击最大，因为它精准描述了我见过的所有&amp;quot;假学会&amp;quot;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;面试时能背&amp;quot;CAP 定理&amp;quot;三个字母，问&amp;quot;你的系统里 CA 是怎么取舍的&amp;quot;，答不上来；&lt;/li&gt;
&lt;li&gt;能默写 Transformer 结构图，问&amp;quot;为什么 attention 要除以 √d&amp;quot;，卡住；&lt;/li&gt;
&lt;li&gt;博客上全是名词的搬运，从头到尾没有一个自己跑过的例子。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;费曼给的判据极其简单：你能不能讲出一个实例、推一遍过程、回答一个变体问题。不能，就是没懂，背得再熟也只是 tribo。&lt;/strong&gt; 这个判据残酷但好用，后面会说到我把它用到了哪里。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;踩坑记录&lt;/strong&gt;：这条判据我也拿来测过自己。有段时间我觉得自己对&amp;quot;向量数据库索引&amp;quot;挺懂，HNSW、IVF、PQ 张口就来。试着不用术语讲一遍，讲到&amp;quot;为什么分层&amp;quot;就卡壳了——我能背图，但讲不出&amp;quot;分层&amp;quot;对应生活里的什么（后来想通了：像快递的分拣中心，先送到大区，再进小区）。卡壳的那十分钟比读十篇博客有用。&lt;strong&gt;名词背熟了会产生一种&amp;quot;懂了&amp;quot;的体感，这个体感本身是最大的骗局&lt;/strong&gt;——巴西学生不是没有体感，是体感和理解脱钩了。&lt;/p&gt;
&lt;p&gt;其实书里早就有两个&amp;quot;巴西式自欺&amp;quot;的预告片，主角是美国名校学生：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;猫图事件。&lt;/strong&gt; 费曼在普林斯顿混进一门研究生生物课，发现同学们能把猫的神经肌肉术语背得极其流利，他自己靠考前突击背了张&amp;quot;猫图&amp;quot;也蒙混过关——但他清楚地知道，&lt;strong&gt;记住了名词在图上的位置，不等于理解了那只猫&lt;/strong&gt;。这和巴西学生是同一种病，只是换了个更贵的校园。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;法国曲线事件。&lt;/strong&gt; 他跟同学吹牛说：法国曲线板（French curve）的设计妙在——不管你怎么转它，它最低点的切线永远是水平的。同学惊叹不已。可这对任何光滑曲线都是平凡的数学事实（最低点导数为零）。&lt;strong&gt;一个显而易见的真理，包上术语的壳，就能骗过聪明人。&lt;/strong&gt; 费曼用这个恶作剧测出的，正是&amp;quot;术语权威感&amp;quot;的催眠效力。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这两个小故事放在书里像段子，和巴西一章连起来读就成了诊断：&lt;strong&gt;背诵式学习不是落后地区的专利，是所有教育系统的默认故障模式&lt;/strong&gt;，区别只在有没有人当面戳破。&lt;/p&gt;
&lt;p&gt;书里还有一个常被忽略但极其草的实证：费曼参加过加州的教材审查委员会，真把近三百磅的候选教科书扛回家一本本读——结果他几乎是唯一真读了书的人。最离谱的是，有一本全是空白页（赶着送审的半成品）的教材，居然也收到了委员们的打分。&lt;strong&gt;给一本空白书打分，这就是草包族评审&lt;/strong&gt;：流程在走、表格在填、分数在出，唯独没有人在做那件事本身。这段和巴西见闻互为镜像：一个是学生假装学会，一个是审查者假装审过。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;四草包族科学不能骗自己的第一原则&#34;&gt;四、草包族科学：不能骗自己的第一原则&lt;/h2&gt;
&lt;p&gt;这一节出自费曼 1974 年在 Caltech 毕业典礼上的演讲《草包族科学》（Cargo Cult Science），收在本书相关的文集里广为流传，也是全书的&amp;quot;题眼&amp;quot;。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;草包族&amp;rdquo;（Cargo Cult）指南太平洋一些岛民：二战时美军在岛上建机场，物资从天而降；战争结束后飞机不来了，岛民就照着记忆修跑道、点灯火、搭竹塔台、戴上椰壳耳机模仿调度员——&lt;strong&gt;形式全对，飞机就是不来&lt;/strong&gt;。费曼用这个词指那些&amp;quot;长得像科学&amp;quot;的活动：有论文、有数据、有仪式，唯独缺了让科学成立的那个东西。&lt;/p&gt;
&lt;p&gt;那个东西是什么？他的原话大意是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;第一原则是：你不能骗自己——而你是最容易被自己骗的人。（The first principle is that you must not fool yourself—and you are the easiest person to fool.）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;具体到科研实践，他要求的是一种近乎自虐的诚实：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;汇报所有可能推翻自己结论的细节&lt;/strong&gt;，而不只是支持它的。你的实验有哪些环节可能引入误差？别人重复时可能在哪一步栽跟头？全写出来。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不利的证据要追到底&lt;/strong&gt;，不能因为它&amp;quot;不好看&amp;quot;就扔进抽屉。&lt;/li&gt;
&lt;li&gt;他点名批评了那些重复密立根油滴实验的研究者：后来的人测出电子电荷比密立根的值偏大，下一个人又偏大一点点——大家都在无意识地向&amp;quot;权威值&amp;quot;靠拢，花了好多年才爬回正确值。没有人故意造假，&lt;strong&gt;只是每个人都在最容易骗的地方骗了自己一点点&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;费曼还提到他在某心理学期刊审过一篇论文的经历：论文结论很漂亮，但他读的时候发现，作者做过的某个对照实验的结果其实能推翻主结论，作者却只在脚注里含糊带过。他替这篇论文写了那份&amp;quot;该写而没写&amp;quot;的部分——并指出，如果作者自己写下这些，论文会更诚实，也许结论就得改写。&lt;strong&gt;诚实的成本是结论可能不漂亮，自欺的成本是结论根本不是真的。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;他总结科学之所以有效，靠的不是科学家比别人高尚，而是一套制度化的&amp;quot;防自欺&amp;quot;设计：同行评议、可重复性、数据公开。这些流程的存在本身就承认了一件事——&lt;strong&gt;单靠个人品德挡不住自欺，必须上流程&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：这一节应该贴在每个做实验、跑 benchmark、写复盘的人工位上。我自己的翻译是：&lt;strong&gt;凡是&amp;quot;数据支持我的观点&amp;quot;的场合，先问三遍&amp;quot;哪里可能是我在骗自己&amp;quot;&lt;/strong&gt;——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跑评测时是不是挑了对自己有利的 split？&lt;/li&gt;
&lt;li&gt;A/B 实验涨了 3%，是不是刚好碰到了那周的大促？&lt;/li&gt;
&lt;li&gt;复盘线上事故，&amp;ldquo;根因是配置错误&amp;quot;后面是不是少了半句&amp;quot;为什么这个错误配置能通过所有检查&amp;rdquo;？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;科学精神不在论文里，在&amp;quot;我有没有动机把对自己不利的东西也摆上桌&amp;quot;里。&lt;/p&gt;
&lt;p&gt;再往深说一层：费曼在这篇演讲里其实区分了两件事——&lt;strong&gt;不骗人&lt;/strong&gt;和&lt;strong&gt;不骗自己&lt;/strong&gt;。前者是职业道德，大多数科研工作者做得到；后者是认识论上的纪律，大多数人做不到，因为骗自己没有观众、没有惩罚，甚至会有奖励（结果漂亮、论文好发）。油滴实验的滑坡之所以发生，正是因为每一步的&amp;quot;骗&amp;quot;都小到当事人自己察觉不到。工程世界里的对应物：指标口径悄悄调整、报警阈值&amp;quot;优化&amp;quot;、线上问题&amp;quot;下个迭代再修&amp;quot;——每一步都不像造假，加起来就是一架没有飞机的竹塔台。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;五费曼学习法把不骗自己做成一台机器&#34;&gt;五、费曼学习法：把&amp;quot;不骗自己&amp;quot;做成一台机器&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;费曼学习法&amp;quot;这个词是后人总结的，书里没有这个方法论的名字，但它的操作原型散在全书各处，也和他教物理、写《费曼物理学讲义》的口碑完全吻合。流传最广的版本是四步：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    S1[&amp;#34;① 选定概念&amp;lt;br/&amp;gt;拿一张白纸写标题&amp;#34;] --&amp;gt; S2[&amp;#34;② 讲给外行听&amp;lt;br/&amp;gt;用小学词汇，不许用术语&amp;#34;]
    S2 --&amp;gt; S3[&amp;#34;③ 卡住的地方&amp;lt;br/&amp;gt;就是没懂的地方&amp;lt;br/&amp;gt;回去查原始材料&amp;#34;]
    S3 --&amp;gt; S4[&amp;#34;④ 简化与类比&amp;lt;br/&amp;gt;组织成自己的话再讲一遍&amp;#34;]
    S4 -.没讲顺.-&amp;gt; S3
    S4 -.讲顺了.-&amp;gt; DONE[&amp;#34;算初步懂了&amp;lt;br/&amp;gt;能推导、能举实例才算完&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;这套东西为什么有效？因为它把&amp;quot;理解&amp;quot;从一个&lt;strong&gt;内部感觉&lt;/strong&gt;变成了一个&lt;strong&gt;外部可检验的动作&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;我觉得我懂了&amp;quot;是无法证伪的——这是最舒服的自欺形态；&lt;/li&gt;
&lt;li&gt;&amp;ldquo;我讲给别人听，讲着讲着卡壳了&amp;quot;是无法抵赖的——卡壳的位置精确指出了你理解里的空洞。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;术语是自欺的重灾区。&lt;/strong&gt; 用术语讲术语是最容易的：&amp;ldquo;正则化就是加 L2 惩罚防止过拟合&amp;rdquo;——这句话里没有理解，只有名词的换乘。换成大白话立刻现形：&amp;ldquo;为了防止模型把训练数据里的噪声当规律背下来，我们故意惩罚它把权重调得太极端，逼它学&amp;rsquo;平滑&amp;rsquo;一点的规律&amp;rdquo;——能讲出这句，才算摸到边。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;踩坑记录&lt;/strong&gt;：我自己的实践是给每篇技术笔记定一条规矩——&lt;strong&gt;每个核心概念必须配一个我自己造的例子，不能抄书上的&lt;/strong&gt;。抄来的例子可以背，自造的例子造不出来就是没懂。这个方法直接来自巴西那一章：费曼的学生就是输在&amp;quot;一个例子都举不出&amp;rdquo;。代价是写作速度慢一倍，收益是写不出来的地方会被立刻、无情地暴露。&lt;/p&gt;
&lt;p&gt;第二个实操发现：&lt;strong&gt;复述的对象越具体越好&lt;/strong&gt;。&amp;ldquo;讲给一个外行听&amp;quot;太抽象，我改成&amp;quot;讲给入职三个月的新人听，他会追问三次为什么&amp;rdquo;——三次为什么基本都顶不住的地方，就是理解的裂缝。这个&amp;quot;想象中的新人&amp;quot;是个非常好用的测试陪练，还不用付工资。&lt;/p&gt;
&lt;p&gt;第三个发现：复述法有个盲区——&lt;strong&gt;它能暴露&amp;quot;我没懂&amp;rdquo;，但不能暴露&amp;quot;我懂的版本是错的&amp;rdquo;&lt;/strong&gt;。讲得很顺，也可能是在自信地讲错的东西。所以费曼那三个判据要一起用：讲明白之外，还得能推导（跟原始材料对得上）、能回答变体问题（边界条件站得住）。只练复述不练推导，容易练出&amp;quot;流利的误解&amp;quot;。&lt;/p&gt;
&lt;p&gt;说到这里必须记一笔费曼自己的&amp;quot;复述实验&amp;quot;及其诚实结局：1961-63 年他在 Caltech 给本科生开了两年的物理课，讲稿就是后来的《费曼物理学讲义》。这套课对目标听众其实失败了——他自己在序言里承认，随着课程推进，注册选课的大一学生越来越少，教室后排却坐满了来旁听的研究生和教授。他设计的是给新生讲懂物理，实际服务的是已经懂物理的人。他没有粉饰这个结果，而是原样写进了序言。&lt;strong&gt;连费曼也不能保证&amp;quot;讲得明白&amp;quot;，区别在于他把失败也如实记了下来&lt;/strong&gt;——这本身就是草包族科学演讲里那套诚实的现场演示。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;六打鼓与画画玩是理解的验收方式&#34;&gt;六、打鼓与画画：玩，是理解的验收方式&lt;/h2&gt;
&lt;p&gt;全书最&amp;quot;不正经&amp;quot;的部分，回头看其实最严肃。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;邦戈鼓。&lt;/strong&gt; 费曼在康奈尔和 Caltech 期间迷上打邦戈鼓，不是玩票——他认真研究节奏结构，练到能进乐队、给芭蕾舞配乐、在巴西狂欢节上街头的桑巴乐队里演奏。一个诺奖物理学家，从零开始把自己练成能登台的鼓手。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;画画。&lt;/strong&gt; 四十多岁开始学画，理由是&amp;quot;想看看自己能不能学会一样完全没天赋的东西&amp;quot;。他找老师系统学素描，练到能办个展、卖出画（他坚持匿名展出，想看看不卖&amp;quot;费曼&amp;quot;这个名字画还值不值钱）。画风一般，但他是认真的。&lt;/p&gt;
&lt;p&gt;画画这段还有两个细节能看出他是真学生不是玩票：一是他固定去帕萨迪纳一家餐厅画画，画速写、画顾客，后来那家店惹上官司，他作为常客出庭为它作证——一个诺奖得主一本正经地在法庭上替自己画画的场所辩护，理由是&amp;quot;我在这里观察人、画人体，这是我的工作场所之一&amp;quot;。二是他卖掉第一幅画时的得意劲，和他描述物理发现时的得意劲一模一样。&lt;strong&gt;对他来说，&amp;ldquo;搞懂了电磁学&amp;quot;和&amp;quot;搞懂了怎么画好一只手&amp;quot;是同一种快乐，只是媒介不同。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这两件事放在这本书里不是闲笔。它们是他公式的第三个因子——&lt;strong&gt;&amp;ldquo;能玩出来&amp;rdquo;&lt;/strong&gt;：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TB
    K[&amp;#34;知道&amp;#34;] --&amp;gt; U[&amp;#34;理解&amp;lt;br/&amp;gt;能讲、能推、能举例&amp;#34;]
    U --&amp;gt; P[&amp;#34;玩出来&amp;lt;br/&amp;gt;能在新场景里从零做一遍&amp;#34;]
    P --&amp;gt;|验证| U
    PLAY[&amp;#34;打鼓 / 画画 / 开保险柜 / 修收音机&amp;#34;] -.都是.-&amp;gt; P&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;费曼的&amp;quot;玩&amp;quot;不是消遣，是一种&lt;strong&gt;理解的压力测试&lt;/strong&gt;：换一个零起点的领域，看你那套&amp;quot;搞懂一件事&amp;quot;的方法论还灵不灵。打鼓验证的是&amp;quot;拆解 + 大量练习 + 找高手反馈&amp;quot;这条路，画画验证的是&amp;quot;承认自己笨 + 系统跟老师学&amp;quot;这条路。两条都走通了，说明他的学习方法是领域无关的——这比任何物理学成就都让他得意，我猜。&lt;/p&gt;
&lt;p&gt;其实&amp;quot;玩即测试&amp;quot;的模式他从小就开始了。书里写他十几岁在社区里修收音机出了名，最有名的一次是一台一开机就发出怪叫的收音机。他没有立刻拆机换零件，而是&lt;strong&gt;背着手来回踱步想&lt;/strong&gt;：什么样的故障会&amp;quot;先叫后好&amp;rdquo;？他推断是某个电子管的加热顺序问题——开机瞬间某个管子还没热起来，电路处于错误状态。于是他交换了电子管的顺序，收音机好了。雇主惊为天人，到处说&amp;quot;他想一想就把收音机修好了&amp;quot;。&lt;/p&gt;
&lt;p&gt;这个故事的要点不在聪明，在&lt;strong&gt;他是用对电路工作原理的理解去定位故障，而不是用&amp;quot;换零件试运气&amp;quot;&lt;/strong&gt;。前者是可迁移的能力，后者是体力活。后来他把这套&amp;quot;在脑子里跑一遍系统、推断哪一环会出这种症状&amp;quot;的方法原样搬进了物理学——所谓的物理直觉，很大程度就是这么练出来的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：排障工程师看到这段应该会心一笑。&amp;ldquo;想一想再动手&amp;quot;和&amp;quot;上来就换零件重启试试&amp;quot;是两种排障范式的分野：前者靠对系统的内部模型，后者靠运气和别人的运气。重启大法偶尔能赢，但它不积累任何东西——你修好了一百次，第一百零一次还是新手。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：这一章改掉了我一个偏见：以前觉得业余时间学&amp;quot;没用的东西&amp;quot;是浪费，现在反过来——&lt;strong&gt;定期在陌生领域从零开始，是对学习方法论的回归测试&lt;/strong&gt;。主业是写代码的人去学一门乐器、一门手艺，挫败感会精准打击你所有&amp;quot;我以为我会学习&amp;quot;的幻觉。而且费曼示范了一个关键姿态：他学画画时真的当学生，真的挨老师骂，真的从排线练起——不搞&amp;quot;天才跨界&amp;quot;那套自我包装。这又是&amp;quot;不骗自己&amp;rdquo;：承认自己在新领域里就是新手。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;七补充挑战者号冰水里的-o-型环&#34;&gt;七、补充：挑战者号——冰水里的 O 型环&lt;/h2&gt;
&lt;p&gt;严格说这件事不在《别闹了》本书里，而是出自姊妹篇《你干吗在乎别人怎么想？》（What Do You Care What Other People Think?）及其附录的《挑战者号事故调查报告》。但它是&amp;quot;草包族科学&amp;quot;原则最著名的实战应用，值得一并记下。&lt;/p&gt;
&lt;p&gt;1986 年挑战者号航天飞机失事，费曼作为罗杰斯委员会成员参与调查。当时争论焦点是发射当天的低温是否影响了固体火箭助推器的 O 型橡胶密封环。各方报告堆成山，NASA 管理层在论证&amp;quot;风险可接受&amp;quot;。&lt;/p&gt;
&lt;p&gt;在电视直播的听证会上，费曼做了一件载入史册的事：他拿来一段 O 型环橡胶样品，夹紧后&lt;strong&gt;浸入一杯冰水&lt;/strong&gt;，几分钟后取出——橡胶没有回弹，失去了弹性。然后他对着镜头说了那句名言的大意：我相信这对各位理解问题有些帮助。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一个杯子、一点冰水，击穿了几百页报告。&lt;/strong&gt; 这就是费曼式理解的终极形态：把抽象争论（低温对橡胶弹性的影响系数是多少）翻译成一个任何人都能亲眼验证的实例。调查报告附录里他那句&amp;quot;对于一个成功的技术，现实必须优先于公共关系，因为大自然是不能被愚弄的（Nature cannot be fooled）&amp;quot;，和 Caltech 演讲那句&amp;quot;你不能骗自己&amp;quot;是同一块硬币的两面。&lt;/p&gt;
&lt;p&gt;这段调查经历里还有两个细节，比冰水实验本身更值得工程人记：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;他绕开官方汇报渠道，直接找一线工程师聊。&lt;/strong&gt; 委员会安排的听证会上，管理层口径整齐；他自己跑到发射基地的机库和车间，跟真正拧螺栓的人谈。一线工程师其实早知道 O 型环在低温下的问题，但这些信息在向上汇报的每一层都被&amp;quot;润色&amp;quot;了一遍。信息不对称不是技术问题，是组织问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;管理层和工程师对风险的估算差了几个数量级。&lt;/strong&gt; 管理层口中的失败概率和一线工程师心里的失败概率根本不是一个数——前者是按&amp;quot;没炸过&amp;quot;倒推的，后者是按&amp;quot;每次都在冒险&amp;quot;正推的。费曼把这条裂缝写进了个人附录，而不是委员会正文，因为他知道正文会被稀释。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;感悟&lt;/strong&gt;：这两个细节是&amp;quot;不能骗自己&amp;quot;的组织版。个人层面的自欺靠流程防，组织层面的自欺来自汇报链条上的层层乐观。对应到工程管理：事故复盘会如果只让&amp;quot;汇报的人&amp;quot;讲，听到的永远是压缩过的版本；要听到真值，得绕过链条去问拧螺栓的人。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;八思考与感悟&#34;&gt;八、思考与感悟&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;懂没懂&amp;quot;需要一个外部判据，不能靠感觉。&lt;/strong&gt; 感觉上的懂是最容易伪造的东西——看懂了书、听懂了课，合上书什么都不剩。费曼给的三个判据我现在天天用：能不能不用术语讲一遍？能不能自己举一个书外的例子？能不能回答一个变体问题？三个都过，才算初步理解；过一个卡一个，卡的点就是回去补的债。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;术语密度是自欺的指示器。&lt;/strong&gt; 一段解释里术语越多、实例越少，自欺嫌疑越大。这对我写博客是个直接的约束：如果一篇文章从头到尾是名词的排列组合，那它证明不了我懂，只证明我会抄。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;写作输出就是费曼复述法的工程化。&lt;/strong&gt; 讲给别人听会卡壳，写下来卡得更狠——读者不在场，没有追问和点头，所有含糊的地方都会原样留在纸面上。所以&amp;quot;写不出这篇笔记&amp;quot;和&amp;quot;没读懂这本书&amp;quot;是同一件事。这也是为什么读书笔记在我这里不是摘抄，是验收单：&lt;strong&gt;写得出来 = 债还清了，写不出来 = 回炉&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;警惕自己成为草包族。&lt;/strong&gt; 工程界的 cargo cult 一点不少：别人的微服务架构抄过来、别人的中台抄过来、别人的 OKR 抄过来——跑道修了、灯点了、竹塔台搭了，业务价值的飞机没来。费曼的解药只有一个：对自己的数据和结论保持自虐式诚实，主动把不利证据摆上桌。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;保留&amp;quot;玩&amp;quot;的预算。&lt;/strong&gt; 这一条最不像&amp;quot;干货&amp;quot;但对我最重要。费曼在书里反复说，他做物理&amp;quot;是为了好玩&amp;rdquo;，诺奖级别的成果（比如费曼图）起源就是他无聊时在食堂看飞盘、琢磨盘子摆动的问题。把所有时间都排给&amp;quot;有用的事&amp;quot;，长期看是扼杀理解力的最高效方式——因为真正的理解需要时间发呆、试错、走弯路，这些在 KPI 里全叫&amp;quot;浪费&amp;quot;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;好玩&amp;quot;和&amp;quot;诚实&amp;quot;是同一个系统的两端。&lt;/strong&gt; 读完全书我才意识到，费曼的好奇心和&amp;quot;不骗自己&amp;quot;不是两种品质，是一种：好奇心逼他去碰真问题，诚实逼他不许假装懂了。只有好奇心没有诚实，会变成收集名词的观光客（巴西学生如果上了对胃口的课就是这个形态）；只有诚实没有好奇心，会变成谨小慎微的校对员。两个一起转，才是那个能开保险柜、能打鼓、能在一杯冰水里终结一场国家级争论的人。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;别学他的&amp;quot;怪&amp;rdquo;，学他的&amp;quot;真&amp;quot;。&lt;/strong&gt; 市面上很多费曼传记式文章把他包装成&amp;quot;有趣的怪人&amp;quot;，读者学了半天学会的是讲段子。这本书真正的骨架一点都不怪：理解要有判据，结论要过诚实的筛子，方法要在陌生领域里定期回归测试。怪是他的外衣，真是他的内核——外衣学不来也没必要学，内核是可操作的。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;连费曼都有讲不明白的时候，区别是他记了账。&lt;/strong&gt; 《费曼物理学讲义》没服务到目标学生，他把失败写进了序言；开保险柜的技术含量没有传闻高，他在书里亲手拆台。这种&amp;quot;主动拆自己台&amp;quot;的习惯是全书最反直觉的一课：我们维护个人品牌的本能是放大高光、淡化翻车，费曼反着来——而恰恰是这种反着来，让他的高光时刻（比如冰水里的 O 型环）有了无可置疑的信用。&lt;strong&gt;信用是这么攒的：平时多认账，关键时刻别人才信你的账。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id=&#34;本篇小结&#34;&gt;本篇小结&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;费曼式理解三判据：能讲明白（给外行）、能推导（从原理到实例）、能玩出来（换个领域从零做一遍）；背得出名词一条都不算。&lt;/li&gt;
&lt;li&gt;巴西见闻是全书最锋利的判例：一字不差背出定义、一个实例举不出 = tribo 式死记，不是科学教育；而猫图事件和法国曲线事件说明，这种病在名校里一样流行。&lt;/li&gt;
&lt;li&gt;草包族科学的第一原则：你不能骗自己，而你最容易骗自己——落到工程上就是：不利证据摆上桌，挑数据的动机先查三遍；&amp;ldquo;不骗人&amp;quot;是道德，&amp;ldquo;不骗自己&amp;quot;是纪律，后者难得多。&lt;/li&gt;
&lt;li&gt;费曼学习法不是技巧，是&amp;quot;不骗自己&amp;quot;的操作化：讲不清的地方就是没懂的地方，卡壳点 = 待补的债；但它有盲区——讲得顺不代表讲得对，必须配推导和变体问题双保险。&lt;/li&gt;
&lt;li&gt;开保险柜的方法论：把显而易见的东西系统地做一遍（默认密码、懒人组合、趁门开着做实验），研究对象永远是人而不是锁——排障同理。&lt;/li&gt;
&lt;li&gt;挑战者号的冰水演示（出自姊妹篇《你干吗在乎别人怎么想？》附录）是这个原则的实战版：现实优先于公共关系，大自然不能被愚弄；组织层面的自欺藏在汇报链条的层层乐观里。&lt;/li&gt;
&lt;li&gt;对我自己的硬约束：每个概念配一个自造的例子，写不出来的笔记 = 没读懂的书。写作即验收，复述即还债。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最后用费曼那句话收尾，贴在我工位上的版本是这样的：&lt;strong&gt;第一原则是你不能骗自己——而你是最容易被自己骗的人。复述、举例、写作、复盘，都是往这个最容易漏的窟窿上打的补丁。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇笔记本身就是按这条原则写的：凡是我没把握写准的轶事，宁可不写；凡是引自姊妹篇的材料，单独标注出处。写不出来的部分，就是还没读懂的部分——债记在这儿，下次重读时还。&lt;/p&gt;
</description>
    </item>
    <item>
      <title>程序员逻辑思维训练手册：书单、方法与 12 周刻意练习计划</title>
      <link>https://ftmao.com/blog/posts/programmer-logical-thinking-training/</link>
      <pubDate>Sun, 04 Sep 2022 10:00:00 +0800</pubDate>
      <guid>https://ftmao.com/blog/posts/programmer-logical-thinking-training/</guid>
      <description>&lt;h1 id=&#34;程序员逻辑思维训练手册书单方法与-12-周刻意练习计划&#34;&gt;程序员逻辑思维训练手册：书单、方法与 12 周刻意练习计划&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;写这篇的动机很直接：「我感觉自己逻辑思维很弱」是我听过最多、也最难回答的自我评价。它太大了，大到无从下手。&lt;br&gt;
这篇的思路：&lt;strong&gt;先把「逻辑思维」这个模糊的大词拆成五种具体的、可单独训练的能力，再给每种能力配书、配练习、配检查清单&lt;/strong&gt;，最后拼成一份 12 周计划。跟着清单做就行，不用自己设计训练方案。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;第一篇-先诊断逻辑思维不是一个东西是五个东西&#34;&gt;第一篇 先诊断：逻辑思维不是一个东西，是五个东西&lt;/h2&gt;
&lt;p&gt;「逻辑思维弱」是个无法改进的表述——就像说「我身体不好」而不说「我 5 公里跑不下来」。先拆开：&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    L[&amp;#34;逻辑思维&amp;#34;] --&amp;gt; A[&amp;#34;1 概念清晰&amp;lt;br/&amp;gt;说的每个词都有明确所指&amp;lt;br/&amp;gt;症状: 需求评审说不清&amp;lt;br/&amp;gt;变量命名含糊&amp;#34;]
    L --&amp;gt; B[&amp;#34;2 推理链条&amp;lt;br/&amp;gt;从前提一步步走到结论&amp;lt;br/&amp;gt;症状: 排查 bug 靠猜&amp;lt;br/&amp;gt;改 A 坏 B 想不到为什么&amp;#34;]
    L --&amp;gt; C[&amp;#34;3 抽象分层&amp;lt;br/&amp;gt;能切换粒度看问题&amp;lt;br/&amp;gt;症状: 代码揉成一团&amp;lt;br/&amp;gt;说不清系统架构&amp;#34;]
    L --&amp;gt; D[&amp;#34;4 边界意识&amp;lt;br/&amp;gt;看到输入就想边界与异常&amp;lt;br/&amp;gt;症状: 上线后被空指针/&amp;lt;br/&amp;gt;越界/并发打脸&amp;#34;]
    L --&amp;gt; E[&amp;#34;5 因果辨析&amp;lt;br/&amp;gt;区分相关/因果/巧合&amp;lt;br/&amp;gt;症状: 复盘归错因&amp;lt;br/&amp;gt;优化没效果&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;p&gt;对照一下，你的「弱」大概率集中在其中两三个上。&lt;strong&gt;诊断的意义在于：五种能力的训练方法完全不同&lt;/strong&gt;，混着练等于白练。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;能力&lt;/th&gt;
					&lt;th&gt;最痛的日常场景&lt;/th&gt;
					&lt;th&gt;对应训练&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;概念清晰&lt;/td&gt;
					&lt;td&gt;需求理解偏差、命名糟糕&lt;/td&gt;
					&lt;td&gt;定义练习、费曼讲解&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;推理链条&lt;/td&gt;
					&lt;td&gt;debug 靠蒙、日志看不出因果&lt;/td&gt;
					&lt;td&gt;假设-验证法、画调用链&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;抽象分层&lt;/td&gt;
					&lt;td&gt;代码越写越乱、讲不清架构&lt;/td&gt;
					&lt;td&gt;分层画图、重构练习&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;边界意识&lt;/td&gt;
					&lt;td&gt;边界 bug 反复出现&lt;/td&gt;
					&lt;td&gt;防御性 checklist、测试先行&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;因果辨析&lt;/td&gt;
					&lt;td&gt;复盘甩锅、优化玄学&lt;/td&gt;
					&lt;td&gt;五问法、对照实验&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;思考与感悟之一&lt;/strong&gt;：编程本质是「用精确的语言描述精确的推理」。IDE 不会因为你概念模糊而报错，编译器不会因为你因果搞错而拒绝构建——&lt;strong&gt;代码能跑通和逻辑是对的之间，隔着一万个线上事故&lt;/strong&gt;。这也是为什么逻辑思维的训练必须在代码之外单独进行。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;第二篇-书单按能力分级别从离散数学开始&#34;&gt;第二篇 书单：按能力分级，别从《离散数学》开始&lt;/h2&gt;
&lt;h3 id=&#34;21-入门层先把讲道理的基本功补上&#34;&gt;2.1 入门层：先把「讲道理」的基本功补上&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;书&lt;/th&gt;
					&lt;th&gt;练什么&lt;/th&gt;
					&lt;th&gt;怎么读&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;《简单逻辑学》（D.Q. 麦克伦尼）&lt;/td&gt;
					&lt;td&gt;概念清晰 + 推理链条&lt;/td&gt;
					&lt;td&gt;薄，一周读完。重点看「论证的前提与结论」「常见谬误」两章&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;《学会提问》（尼尔·布朗）&lt;/td&gt;
					&lt;td&gt;因果辨析&lt;/td&gt;
					&lt;td&gt;批判性思维入门，重点看「证据的效力」「有没有替代原因」&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;《金字塔原理》（芭芭拉·明托）&lt;/td&gt;
					&lt;td&gt;抽象分层（表达侧）&lt;/td&gt;
					&lt;td&gt;结论先行、以上统下。对写技术方案、汇报、写博客立竿见影&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;22-进阶层直接长在编程上的思维&#34;&gt;2.2 进阶层：直接长在编程上的思维&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;书&lt;/th&gt;
					&lt;th&gt;练什么&lt;/th&gt;
					&lt;th&gt;怎么读&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;《怎样解题》（波利亚）&lt;/td&gt;
					&lt;td&gt;推理链条&lt;/td&gt;
					&lt;td&gt;数学书的外壳，debug 的内核。「弄清问题→拟定计划→执行→回顾」就是排查 bug 的标准流程&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;《系统之美》（德内拉·梅多斯）&lt;/td&gt;
					&lt;td&gt;抽象分层 + 因果辨析&lt;/td&gt;
					&lt;td&gt;库存、流量、队列都是系统。看完你会用「反馈回路」的眼光看重试风暴、缓存雪崩&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;《程序员修炼之道》&lt;/td&gt;
					&lt;td&gt;全部五种&lt;/td&gt;
					&lt;td&gt;工程场景化的思维训练，DRY、正交性、曳光弹，每一条都在教你怎么把问题切干净&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;23-硬核层可选别勉强&#34;&gt;2.3 硬核层：可选，别勉强&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;《离散数学及其应用》：命题逻辑、集合、图论——编程的数学地基。只建议读前三章，当工具书查。&lt;/li&gt;
&lt;li&gt;《思考，快与慢》：知道大脑什么时候在骗你。和编程不直接相关，但和「复盘归错因」直接相关。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;选书原则：一次只读一本，读完一本书的每一章都要落到「这周我在代码里用了它哪一点」。&lt;/strong&gt; 读而不用的思维书，和收藏夹里的技术文章没有区别。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart LR
    A[&amp;#34;入门层&amp;lt;br/&amp;gt;讲道理的基本功&amp;#34;] --&amp;gt; B[&amp;#34;进阶层&amp;lt;br/&amp;gt;长在编程上的思维&amp;#34;]
    B --&amp;gt; C[&amp;#34;硬核层&amp;lt;br/&amp;gt;数学地基 可选&amp;#34;]
    A -.-&amp;gt;|&amp;#34;每章落到&amp;lt;br/&amp;gt;一次代码实践&amp;#34;| P[&amp;#34;不是读完&amp;lt;br/&amp;gt;是用完&amp;#34;]
    B -.-&amp;gt; P
    style P fill:#e8f4e8&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;第三篇-日常训练法把练习藏进你每天都在做的事里&#34;&gt;第三篇 日常训练法：把练习藏进你每天都在做的事里&lt;/h2&gt;
&lt;p&gt;刻意练习的关键不是额外抽两小时，而是&lt;strong&gt;改造已有的工作动作&lt;/strong&gt;。五个场景，每个配一个可检查的动作：&lt;/p&gt;
&lt;h3 id=&#34;31-写代码前先说清再动手练概念清晰&#34;&gt;3.1 写代码前：先说清，再动手（练概念清晰）&lt;/h3&gt;
&lt;p&gt;接到需求后，强制自己写三句话再开编辑器：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 这个功能的&lt;strong&gt;输入&lt;/strong&gt;是什么？（精确到字段和类型）&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;输出&lt;/strong&gt;是什么？什么情况算成功？&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 有哪三种&lt;strong&gt;必然失败&lt;/strong&gt;的情况？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;写不出来，就是概念还没清晰，回去问。这一步能拦掉一半的返工。&lt;/p&gt;
&lt;h3 id=&#34;32-排查-bug假设-验证法练推理链条&#34;&gt;3.2 排查 bug：假设-验证法（练推理链条）&lt;/h3&gt;
&lt;p&gt;禁止「改一下试试」。用 debug 日志模板强制走流程：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 写下&lt;strong&gt;假设&lt;/strong&gt;：「我认为是 X 导致 Y，因为 Z」&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 写下&lt;strong&gt;验证方式&lt;/strong&gt;：看什么日志/加什么断点能证实或证伪&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 验证结果与假设&lt;strong&gt;不符时，先怀疑假设，不要怀疑现象&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 修复后写下：根因是什么？为什么之前的推理没走到这？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;波利亚的「回顾」一步，90% 的人会跳过——而推理能力的增长恰恰只发生在这一步。&lt;/p&gt;
&lt;h3 id=&#34;33-讲清楚一个模块费曼技巧练抽象分层&#34;&gt;3.3 讲清楚一个模块：费曼技巧（练抽象分层）&lt;/h3&gt;
&lt;p&gt;每月一次，挑你负责的一个模块，画一张三层图讲给同事（或 AI）听：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 第一层：一句话说清它是干什么的&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 第二层：三个以内的子模块 + 它们之间的关系&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 第三层：被追问时才能展开的细节&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;讲卡壳的地方，就是你分层的薄弱处。&lt;strong&gt;能给 AI 把一个需求描述到它一次生成正确代码，是概念清晰度的绝佳试金石&lt;/strong&gt;——prompt 写不清楚，多半是自己也没想清楚。&lt;/p&gt;
&lt;h3 id=&#34;34-code-review五问清单练因果辨析&#34;&gt;3.4 Code Review：五问清单（练因果辨析）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 这个改动解决了什么&lt;strong&gt;问题&lt;/strong&gt;？（还是先有的方案？）&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 问题和改动之间是&lt;strong&gt;因果&lt;/strong&gt;还是&lt;strong&gt;相关&lt;/strong&gt;？（「上次加了缓存就好了」是相关，不是因果）&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 有没有&lt;strong&gt;替代原因&lt;/strong&gt;能解释这个现象？&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 这个改动的&lt;strong&gt;副作用边界&lt;/strong&gt;在哪？&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 如果它是错的，我们&lt;strong&gt;多快能发现&lt;/strong&gt;？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;35-复盘只问为什么链练因果辨析&#34;&gt;3.5 复盘：只问「为什么链」（练因果辨析）&lt;/h3&gt;
&lt;p&gt;线上事故复盘禁用「我疏忽了」「运气不好」这类不可证伪的词。只允许五问法往下钻，直到钻出一个&lt;strong&gt;可执行的流程或工具改进&lt;/strong&gt;为止。「粗心」不是根因，「为什么粗心能穿过所有防线到达线上」才是。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;思考与感悟之二&lt;/strong&gt;：所有训练法的共同点是「把隐式思维变成显式文字」。脑子里的推理可以偷步、可以跳步、可以自我欺骗，&lt;strong&gt;落在纸上的推理不能&lt;/strong&gt;。写作是逻辑思维最便宜的压力测试。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;第四篇-12-周刻意练习计划&#34;&gt;第四篇 12 周刻意练习计划&lt;/h2&gt;
&lt;p&gt;每周一个主题。规则：&lt;strong&gt;周末用 30 分钟对照自检清单打分，三项里两项不达标，下周重复同一主题&lt;/strong&gt;。宁可 12 周练成 6 项，不要 12 周路过 12 项。&lt;/p&gt;
&lt;div class=&#34;code-block&#34;&gt;
    &lt;button class=&#34;code-copy&#34; type=&#34;button&#34; hidden aria-label=&#34;Copy code to clipboard&#34;&gt;
      &lt;span class=&#34;code-copy-label&#34; aria-hidden=&#34;true&#34;&gt;Copy&lt;/span&gt;
    &lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-mermaid&#34; data-lang=&#34;mermaid&#34;&gt;flowchart TD
    subgraph P1[&amp;#34;第 1-4 周 概念与推理&amp;#34;]
        W1[&amp;#34;W1 定义练习&amp;lt;br/&amp;gt;读《简单逻辑学》&amp;lt;br/&amp;gt;给 10 个日常用词写精确定义&amp;#34;]
        W2[&amp;#34;W2 需求拆解&amp;lt;br/&amp;gt;每个需求先写输入/输出/失败&amp;lt;br/&amp;gt;再动手&amp;#34;]
        W3[&amp;#34;W3 假设-验证 debug&amp;lt;br/&amp;gt;每个 bug 走完整模板&amp;#34;]
        W4[&amp;#34;W4 谬误识别&amp;lt;br/&amp;gt;读《学会提问》&amp;lt;br/&amp;gt;在技术讨论里找出 5 个逻辑谬误&amp;#34;]
    end
    subgraph P2[&amp;#34;第 5-8 周 抽象与边界&amp;#34;]
        W5[&amp;#34;W5 金字塔表达&amp;lt;br/&amp;gt;读《金字塔原理》&amp;lt;br/&amp;gt;写 2 篇结论先行的技术方案&amp;#34;]
        W6[&amp;#34;W6 费曼讲解&amp;lt;br/&amp;gt;画 1 张三层模块图并讲出来&amp;#34;]
        W7[&amp;#34;W7 边界清单&amp;lt;br/&amp;gt;给负责的接口建防御性 checklist&amp;#34;]
        W8[&amp;#34;W8 测试先行&amp;lt;br/&amp;gt;一个完整功能 TDD 写下来&amp;#34;]
    end
    subgraph P3[&amp;#34;第 9-12 周 因果与系统&amp;#34;]
        W9[&amp;#34;W9 复盘训练&amp;lt;br/&amp;gt;读《系统之美》&amp;lt;br/&amp;gt;找 1 个旧事事故做五问法复盘&amp;#34;]
        W10[&amp;#34;W10 对照实验&amp;lt;br/&amp;gt;一次性能优化用基准数据说话&amp;#34;]
        W11[&amp;#34;W11 解题流程&amp;lt;br/&amp;gt;读《怎样解题》&amp;lt;br/&amp;gt;按四步解 5 道算法题并写回顾&amp;#34;]
        W12[&amp;#34;W12 综合输出&amp;lt;br/&amp;gt;写 1 篇技术博客&amp;lt;br/&amp;gt;把 12 周里最有体感的一条讲透&amp;#34;]
    end
    P1 --&amp;gt; P2 --&amp;gt; P3&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;&lt;h3 id=&#34;每周自检清单通用模板&#34;&gt;每周自检清单（通用模板）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 本周的书读了吗？哪一章的观点我这周&lt;strong&gt;真的用了&lt;/strong&gt;？&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 本周的练习动作做了几次？（写次数，不写「做了」）&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 有没有一个具体场景，我能说出「如果没有这周的训练，我会做错」？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;两个提醒&#34;&gt;两个提醒&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;不要同时练多项&lt;/strong&gt;。认知资源有限，一周一个主题已经很难。觉得慢，说明做对了——肌肉记忆的形成从来是慢的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出强制闭环&lt;/strong&gt;。第 12 周的博客不是可选项。能把「我怎么练的」讲清楚，本身就是五种能力的综合考试。&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;思考与感悟之三&lt;/strong&gt;：逻辑思维不是天赋，是&lt;strong&gt;可分解、可练习、可度量&lt;/strong&gt;的技能组——和学一门框架没有本质区别。区别在于框架三个月过期，这套东西跟你三十年。投资回报率不在同一个数量级上。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;附一句话总纲&#34;&gt;附：一句话总纲&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;诊断先行&lt;/strong&gt;：先弄清弱在五种能力的哪几种，再选训练。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;书不在多&lt;/strong&gt;：一本一用，每章落到代码里才算读过。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;改造日常&lt;/strong&gt;：练习藏进写需求、debug、CR、复盘里，不靠额外抽时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;显式化&lt;/strong&gt;：把推理写下来，写下来就不能骗自己。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;12 周起评&lt;/strong&gt;：周末自检，不达标就重复，最后以一篇博客闭环。&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
