First Principles Thinking
First Principles Thinking
第一性原理思维
(ai slop graphic… I know. Purposeful because I don’t control human psychology) I’ve re-read Sunil Pai’s “the senior engineer death spiral” several times this week. It’s very good. If you haven’t read it, start there. It’s resonating with me because I think almost every senior engineer has felt some version of being stuck. You get good at what you do, then things change, and the experience you’ve built up can make it hard to approach things differently. (Also, still getting over the fact that this is a different Sunil in software engineering.)
(我知道这是 AI 生成的劣质配图。我这么做是有意为之,因为我无法控制人类的心理。)本周我反复阅读了 Sunil Pai 的文章《资深工程师的死亡螺旋》(The Senior Engineer Death Spiral)。文章写得非常好,如果你还没读过,建议从那里开始。它之所以能引起我的共鸣,是因为我认为几乎每一位资深工程师都曾有过某种程度的“卡壳”感。当你对自己的工作驾轻就熟时,环境变了,而你积累的经验反而可能让你难以换个角度看问题。(另外,我还没缓过神来,原来软件工程界还有另一个 Sunil。)
Pai talks about focusing on momentum instead of outcomes, and I fully agree. When I’m stuck, I break the work down to the smallest thing I can actually accomplish. Getting something done usually helps me figure out what to do next. After sitting with his post, I kept coming back to first principles thinking. I’ve been lucky to work with and manage a lot of great senior engineers. When I think about what made them great, I keep landing on the same thing: they seemed to know what needed to be done. There’s an intuition there that I’ve always admired.
Pai 提到要关注“动力”而非“结果”,我完全赞同。当我陷入困境时,我会把工作拆解成我能完成的最小单元。完成一件小事通常能帮我理清下一步该做什么。在细读他的文章后,我不断回到“第一性原理思维”这个概念上。我有幸与许多优秀的资深工程师共事并管理过他们。当我思考是什么让他们变得卓越时,我总是得出同一个结论:他们似乎总能洞察到真正需要做的是什么。那种直觉一直是我所钦佩的。
Some of the best I’ve worked with came from customer support or services. Others taught themselves to code or started as designers or entrepreneurs. They took different paths into engineering, but they shared a habit of thinking from first principles. They’d ask why we were building something and what it would do for the people using it. They could connect what was happening in the codebase to what was happening outside it. That understanding helped them keep things simple. I think that’s another way to build the momentum Pai describes. Consider the simplest thing you could do first. It’s often enough.
我共事过的一些最优秀的工程师,有的来自客户支持或服务部门,有的则是自学编程,还有的起步于设计师或创业者。他们进入工程领域的路径各异,但都拥有从第一性原理出发思考的习惯。他们会追问我们为什么要构建某样东西,以及它能为用户带来什么。他们能够将代码库中发生的事情与外部现实联系起来。这种理解力帮助他们保持方案的简洁。我认为这也是建立 Pai 所描述的那种“动力”的另一种方式:先考虑你能做的最简单的事情。通常这就足够了。
Transitioning to the agentic era I’ve had a lot of conversations with friends and coworkers about the shift to agentic development. The people who seem to be vibing with it are usually the ones who already think this way. This is the first major “simulation switch-up” where I’ve really had to embrace how much I don’t know. The engineers I see keeping up with what’s possible are willing to put what they know in a box for a while as they work with agents. They’ll try something before assuming an old constraint still applies.
迈向智能体时代:我和朋友及同事们就向“智能体开发”(Agentic Development)的转型进行了多次交流。那些似乎能迅速适应这种转变的人,通常正是那些已经具备这种思维方式的人。这是我经历的第一次重大的“模拟切换”,我必须真正接受自己还有多少未知。我看到那些能跟上技术演进的工程师,他们愿意在与智能体协作时,暂时将自己已有的知识“束之高阁”。在假设旧的约束条件依然适用之前,他们会先去尝试。
Put it in a box This is the hard part for me. Take your experience, what you’ve learned, and what you currently believe is true, and set it aside long enough to look at the problem again. I still want to draw on that experience. But it’s easy to let a past project or a familiar technical limitation decide the answer before I’ve understood the problem in front of me. When I step back and ask what we’re actually trying to do, why it matters, and how the pieces connect, I usually find more ways forward than I expected.
“束之高阁”:这对我来说是最难的部分。将你的经验、所学知识以及目前坚信的真理暂时搁置,以便重新审视问题。我依然想利用那些经验,但很容易在还没理解眼前问题之前,就让过去的项目或熟悉的某种技术局限性决定了答案。当我退后一步,思考我们到底在尝试做什么、为什么它很重要、以及各个部分是如何关联时,我通常能找到比预期更多的前进路径。
There’s been a lot of talk about what’s real with AI and what’s inflated. I think if you set your experience aside and look at what’s possible with fresh eyes, there’s a whole lot to admire, and a lot worth rethinking. Approaching it from first principles means starting with what we’re trying to do and asking how AI could help. It’s easy to get excited about the technology before you’ve answered that question. That brings me back to the momentum Pai describes. First principles thinking makes working that way feel natural. When you truly understand what you’re trying to accomplish, it’s easier to take a small step, learn from it, and keep going. If you’re doing it right, working with agents lets that back-and-forth happen much faster. You get faster learning loops and more momentum, oriented around deep understanding. To me, that’s the new flow state. Long Live Human Thinking.
关于 AI,人们讨论了很多什么是真实的、什么是被夸大的。我认为,如果你放下经验,用全新的眼光去看待可能性,你会发现有很多值得钦佩的地方,也有很多值得重新思考的地方。从第一性原理出发,意味着从我们要实现的目标开始,去询问 AI 能如何提供帮助。在回答这个问题之前就对技术本身感到兴奋是很容易的。这又回到了 Pai 所描述的“动力”——第一性原理思维让这种工作方式变得自然。当你真正理解了你要实现的目标时,迈出小步、从中学习并持续前进就变得更容易了。如果你方法得当,与智能体协作能让这种交互发生得更快。你将获得更快的学习循环和更强的动力,而这一切都围绕着深刻的理解。对我来说,这就是新的“心流状态”。人类思维万岁。