人也需要 Context Engineering

最近我意识到一件让我有点焦虑的事情:AI 正在蚕食掉我的注意力。 它不是短视频、社交媒体那种很明显的分心,而是一种更隐蔽的分心,因为它看起来很像生产力。Terminal 里有任务在跑,agent 在改代码,文件不断被创建,commit 一个接一个出现。仿佛我一直在创造,但一天下来,好像没有什么东西真正完成。 我会同时开好几个 agent coding session:一个做 feature,一个修 bug,一个探索等待结果时突然冒出来的新想法。表面上看,我做了很多事。但等这些 agent 带着执行结果回来时,我甚至没有精力认真验证其中任何一个结果。真正限制我的,不再是编码能力,而是观察、判断和继续推进的能力。 有了 AI 之后,我很容易产生一种“我变强了”的错觉。某种意义上,这也没错。我实际的产出确实变多了。AI 可以修编译错误,生成测试,做重构,也可以更快地搭出界面。有了 AI 加持,我能做比之前多很多的事情。问题是,执行能力变强之后,真正卡住我的地方也变了。我的瓶颈不再是把需求变成代码的速度,而是自己的 context window:它有多长,以及里面装的 context 质量如何。 是的,AI 有 context window,人其实也有。当脑子里同时挂着太多未完成的事情时,我就会开始失去判断力。 更有意思的是,我不是因为时间不够用而导致的注意力过载,而恰恰是因为 AI 接管了很多琐事之后,我每天的工作中间会多出来一些空档。五分钟,十分钟。我的注意力也被摊开到了那些过去根本不会出现的缝隙里。如果这些时间没有被提前安排好,我的大脑就会不由自主地去做最容易的事情:开始另一个想法。 开一个头很容易,真正把它收尾就没那么容易了。而 AI 让“开始”变得几乎没有成本,这其实很危险。 AI 可以生成不错的结果,但大多数时候,它生成的是 good enough 的结果。 如果想让结果真的变得理想,我还是需要读 diff、理解它生成的测试的行为、发现哪里不对劲、决定什么要保留、什么要删掉、下一步往哪里走。这一部分目前还很难完全丢给 agent,至少对于我在意的工作来说,我仍然要负责 taste、判断和方向。 但当我同时挂着十件毫不相关的事情时,我没法把这个角色做好。我会失去耐心,会扫一眼就过,而不是认真审阅;会太快 approve 一些东西;会忘记自己一开始为什么要做这件事。我的后续指令也会变得模糊,而模糊的指令通常只会得到模糊的结果。 最后就变成:一天开了十个头,但没有一件真正收尾。看起来很忙,实际上却没有什么东西被真正完成。这给我带来了很多的焦虑和内耗。 所以我开始把自己的注意力也当成一个工程系统来管理。 我们经常讨论怎么给 AI 做 context engineering:prompt 里应该放什么,应该带哪些文件,如何保存记忆,如何避免 context pollution。但我现在觉得,人也需要 context engineering。 我的规则很简单:一天里,我最多只开三个 workstream。不是三个小 task,而是三个真正需要判断力的事情。一个 feature,一个 bug,一个设计上的调整,或者是构思一篇文章。只要这件事需要我认真观察和做决定,我就会把它定义成一个 workstream。 在开始一个 workstream 之前,我会先花 20 到 30 分钟思考: ...

2026年5月16日 · 1 分钟 · hateonion

保持节奏

最近,我突然多了很多时间。 我脑子里充满了各种想法,但一切却又显得模糊不清——我要不要看看新机会,全力准备面试?要不要做一些之前就计划的个人项目?还是尝试一些新的方向?选择变多之后,决定反而更难做了。 于是我做了一个很典型的选择:进入“全速冲刺模式”。 我试图在一周内快速补齐前端基础和系统设计,给自己设定了很激进的目标,每天学习到很晚,逼着自己持续输出。刚开始的几天确实有效,但很快我就开始感到疲惫。 接下来的一周,我几乎什么都不想做。两周过去了,我离自己原本的目标依然很远。 后来我在《Effortless》这本书中读到一个故事。 1911 年,有两支队伍争夺成为第一个到达南极点的人:Robert Falcon Scott 和 Roald Amundsen。 Scott 的策略是:在天气好的时候尽可能快地前进,在天气恶劣的时候减速甚至停下来;而 Amundsen 则采取了完全不同的方式——无论天气如何,每一天都保持稳定的节奏前进。 最终,Amundsen 率先到达南极点。 这个故事对我的触动很大。 问题的关键并不在于你能冲得多快,而在于你能以同样的节奏走多远。 于是我开始调整自己的方式。 我不再强迫自己每天完成 5 道系统设计题,而是把目标降低到每天只做 1 道,并且坚持每天都做。 看起来进度变慢了,但由于不再过度消耗,我反而有了更多稳定的精力去持续推进。同时,我也开始有余力去探索一些有趣的方向,比如 agent 或工程化相关的内容,而这些探索反过来也对我的一些面试产生了帮助。 我逐渐意识到一个很重要的点: 不要把自己逼到第二天无法恢复的程度。 一旦恢复能力被破坏,整个节奏就会开始崩塌:计划延误、压力上升、你会试图更加用力去追赶,结果反而更容易再次透支自己,进入一个不断循环的消耗状态。 另外一个帮助我维持节奏的关键,是在每天开始之前就明确当天要做的事情。 哪怕只花 10 分钟,在睡前或早上简单规划一下。 人的注意力和精力是有限的,每一个微小的犹豫、情绪波动或者不确定性,都会占用大脑的资源。当脑海中充满模糊和未决事项时,就很难再腾出空间去处理复杂的问题,随之而来的往往是焦虑,而焦虑又会进一步消耗精力。 所以现在我的做法是: 提前把事情想清楚并记录下来,让执行过程尽可能简单直接; 控制每天的任务规模,让自己始终处在一个可以恢复的节奏中; 然后像一个执行系统一样,按计划推进。 归根结底,真正重要的不是一时的爆发,而是你能否持续前进。 比起速度,更重要的是节奏。 也许你不需要更快,不需要更努力。 你需要的是——守住自己的节奏。

2026年3月25日 · 1 分钟 · hateonion

保持专注

今天,我想聊聊 专注。 在现代信息社会,专注其实是一种非常难得的品质。 抖音上刷不完的短视频,公众号不停推送的文章,小红书看不完的分享。信息流无穷无尽,总有新的内容在争夺你的注意力。 很多时候,我们明明在进行重要工作,却还是忍不住分心,拿起手机刷刷朋友圈。 互联网上很多 UP 主已经从脑科学和多巴胺的角度解释过这个现象。《认知觉醒》一书中提到,专注其实是一件反人类天性的事情。因为专注意味着你的大脑在不停地思考,而思考是一件极为耗能的行为。 人作为一种生物,本能上会抵抗高耗能行为。 相反,娱乐和放空是一种低耗能行为。(别告诉我你刷抖音的时候还在思考。) 所以我们天然会倾向于那些更轻松、更即时带来快乐的事情。这并不是什么羞耻的事情,这是人的本能。 而最近很流行的 Vibe coding,某种程度上来说,其实也是一种分心。 一段时间里,我沉迷于把日常使用的工具都用 AI 重新 vibe coding 一遍。 看着一个个文件被创建,应用慢慢跑起来,界面也像模像样地出现,那种感觉其实挺爽的。仿佛在极短的时间里就做出了很多东西。 但过了一段时间之后,我开始陷入一种 AI 疲劳。 五个 project 同时运行,不停在不同项目之间切换上下文,我的大脑长期处于一种过载状态。 再回头看这些 vibe coding 的项目,我突然发现: 我其实已经看不太懂它们了。 更糟糕的是,我也不知道接下来该做什么。 理论上,我创建了五个新的、可以跑起来的应用。 但回顾起来,我几乎没有真正学到什么东西。 我没有进行太多系统性的思考。大多数时候只是机械地输入一些简单得不能再简单的需求,然后等待 AI 输出结果。 不可否认,Vibe coding 确实有它的价值。 它可以快速验证想法,快速创建小工具。 对于非技术背景的人来说,只需要提出需求,就可以开发出一些应用来自动化重复工作。 在某种意义上,AI 确实降低了软件开发的门槛。 但问题也恰恰在这里。 因为 Vibe coding 让“动手实践”这件事情变得成本极低,它第一次打破了一个原本非常重要的循环: 学习知识 → 产生思考 → 动手实践 在传统的学习路径中,实践是建立在理解和思考之上的。 而在 vibe coding 的模式下,这个过程往往被压缩成: 想法 → AI生成 中间最重要的一步 —— 思考 —— 很容易被省略。 而思考过程的缺失,其实是致命的。 在知识学习的过程中,思考往往是杠杆最高的一环。 如果没有这一环,你以为自己在不断“实践”,但实际上,大部分时间可能只是低效地生成代码而已。 ...

2026年3月15日 · 1 分钟 · hateonion