我经常犯错
文章摘要
作者 Boris Cherny 是 Anthropic 的工程师、Claude Code 的创建者和负责人。这篇博文发表于 2026 年 9 月 19 日,篇幅很短,开头注明:这是他本周早些时候发给团队的一封内部信,现在公开出来,希望对其他”在 AI 时代做产品”的人有所帮助或启发。帖子由他本人提交到 HN。
六步法。 他说,和他共事的人很快会发现,他处理几乎所有问题的方法都是:
- 理解已有的信息;
- 收集缺失的信息;
- 定义问题;
- 确定一个清晰、简单的解决思路;
- 定义目标;
- 带着紧迫感去实现目标。
过程中他常常会得到新信息,这时就要回头重新定义第 3 到第 5 步,然后重复。这是一个迭代过程,复杂的问题可能要试很多次才能做对。这会让人感觉来回折腾,但只要明白这一切都是过程的一部分,明白真正解决问题的唯一方法就是在有新数据时做出调整,那么这种反复就是健康的。”有了新数据,你就得更新你的先验。”
他说自己几乎对每个问题、每个产品(产品就是为用户解决问题)都会套用类似这六步的框架,大多数日子里一天要用很多次。
关于反馈。 当别人漏掉了框架里的某些步骤,或者某些步骤执行得不好时,他有时会给对方反馈,也期望别人同样给他反馈。他尽量实时给出反馈,好让个人或团队更快学习。他最常见到的失败模式是第 3 步没有清晰地定义问题,以及第 4 步没有确定一个清晰简单的思路。缺了这两步中的任何一步,就会导致复杂的计划和不明确的成功标准。对于复杂问题,如果你自己就是做计划的人,往往很难察觉不清晰之处,这让从别人那里获得反馈变得更加重要。
他还补充:如果这套”元流程”本身在元层面上是错的,他也愿意修改。
结尾。 “说了这么多,其实就是想说:我喜欢犯错。这是我最喜欢的事,因为它帮助我更清晰地定义问题、找到正确的解法、学得更快,并最终解决问题。”
HN 评论精华
本帖 342 分、约 220 条评论,但讨论的走向与文章本身关系不大,整体相当负面:一部分人批评文章内容空泛、有说教意味,一部分人抓住”带着紧迫感”和”给反馈”两点批评其管理风格,还有很大一部分评论把矛头直接对准 Claude Code 的软件质量和 Anthropic 对 bug 的处理方式。作者本人在评论区回复了几次。
得票最高的两楼都在批评 Claude Code。 weakfish 说他至今仍然震惊于 CC 作为软件有多糟:做一个 agent 编程工具的外壳(harness)并不容易,但也没有难到离谱,而且它居然跑在一个 JS 运行时上(还是 Anthropic 收购来的),为什么不用 Go 加 BubbleTea,或者任何原生技术?”如果 Claude 真那么好,为什么 CC 这么烂?”bmitc 讽刺说他只是用了自己熟悉的 TypeScript,而不是最适合的工具,”看来那时候他还没有这套’框架’“。simonw 表示不太理解大家说 Claude Code 是烂软件指的是什么,他觉得挺好用的;metaltyphoon 甩出 GitHub 上上万个 issue,simonw 回应说 Claude Code 有数百万用户,issue 区是他们提问和提需求最显眼的地方,这个数字说明不了什么,除非是一万多个已确认的 bug。simianwords 和 mahogany 则说 TUI 版又慢又卡,在 48GB 内存的 M4 MacBook Pro 上启动至少要 1 到 2 秒,还有大量显示 bug。hombre_fatal 替它说了句公道话:如果按各个 UX 维度打分再取平均,CC 可能是他用过最好的,比如它的子智能体查看器就不错,而 Codex 连这个都没有。
alasano 的评论更尖锐:没见过 Boris 在 Claude Code 的具体问题上承认错误、然后按社区期望修好的例子;CC 里有些令人震惊的 bug 几个月都没人管,比如 Fable 发出的消息大约有 15% 到 20% 用户根本看不到,常见于模型在调用工具前输出较长消息时,”你肯定注意到过 Claude 引用了它说过的话,可它从没说过”。他说如果”用户看不到 agent 发的消息”都不算要在 24 小时内处理的严重问题,那承不承认自己常犯错也无所谓了,”我们都知道”。Boris 本人回复:”作者本人。我怎么复现你遇到的问题?确认一下你没开 /focus 模式。”stingraycharles 说很惊讶他自己没遇到过,这是个极其常见的问题。Boris 解释说自己一直用 /focus 模式、Tag 或 Projects,所以没注意到,”不管怎样,我在查了”。alasano 随后列出多个相关 issue 编号,其中一个被当作另一个的重复关闭,而那一个又被标记为”不计划修复”关闭。troupo 讽刺这就是”典型的 Anthropic/bcherny 式回应”。scmccarthy 挖苦道:”第一步’理解已有的信息’显然很难。”不过他也说,要是这篇文章能让这个 bug 修好,那就”多来点 Boris 的博文吧”。cube00 还翻出旧账,说他曾修改 bug 标题以降低其严重程度,却不参与讨论解释原因。
第二条主线是对”紧迫感”和”反馈”的批评。 infamia 说:”如果什么都紧急,那就什么都不紧急。这个人听起来共事起来很痛苦。”他认为这等于说自己没有优先级排序能力,同事们最后会给他的大多数请求设一个默认的”稍后提醒”按钮。goostavos 反驳说这是过度解读,更宽容的读法是”一旦我们(认为)知道自己在做什么,就雷厉风行地执行”,”这人听起来很棒”。ccapitalK 也认为这里的紧迫是相对于生命周期的其他阶段而言,而不是相对于其他任务。kozikow 补充说,项目不紧急时常常会卡在”我们再想想”“考虑过 X 吗”“先对齐一下”里,尤其在 Google 这样的公司,有时”很紧急,因为 X”是让事情推进的唯一办法。saghm 则认为,有人公开写出要求员工把每个问题都当急事来办,没理由不按字面理解,他见过太多有才华的人被管理层长期压榨,需要好几年才能恢复健康。fnordpiglet 反感的不是紧迫感,而是期望身边所有人都遵循他个人内在的流程:”有一点领导力的人都知道,团队是一块由不同形状的碎片组成的拼图。”
glimshe 的一句话引发了作者最长的一次回复:”没什么比一个有着自以为全知框架、要求别人照做否则就给’反馈’的经理更烦人了。”Boris 回复说,这不是唯一正确的框架,只是他自己用的框架,写这篇的目的是让团队了解他的思考方式;”思考的方式有很多种,没有哪一种比其他更正确”。他承认”反馈”这个词可能有歧义:如果没在把反馈当作坦诚、无责文化一部分的环境里工作过,确实可能觉得给反馈是一种虚伪的公司黑话,用来让人就范或影响其职业发展,而且给反馈天然带有权力关系;但如果工作文化把反馈视为更直接对话的坦诚方式,并让同事感到心理安全,它会让文化变得更好。他最后补充:”另外,我是个人贡献者(IC),不是经理。”xfz 回应说这低估了其中的权力关系:以他的级别,身为 IC 并不意味着不处在领导位置,他的反馈分量依然很重,心理安全不能被假定。glimshe 也回复说,既然你喜欢坦诚,那他直说:这个框架没什么用,对大多数人来说由领导者提出还有点居高临下,就像”要思考,你就得思考”,再加一点”快速行动”的公司套话,建议最多分享一两次,别再推了。nevertoolate 用”快速反馈”加”尖锐反馈”的格式调侃了一番:这个框架像是把波利亚的《怎样解题》不太周全地扩展成”快点做事”;而这篇文章本身像一份匆忙拼凑的备忘录,”主程自己都没花力气,我该认真对待吗?”
不少人批评这个六步法本身。 bmitc 说这个顺序说不通:还没定义问题,怎么知道缺了哪些信息?jay_kyburz、zkmon 和 Hnrobert42 都指出,目标放在第 5 步、在定义问题和解法之后才定义,是本末倒置。bjustin 替作者辩护,认为前两步可以理解为”整理手头已有的相关信息”和”找到知道自己需要但手头没有的信息”。chrisvls 则说他常见的反模式恰恰是先定义问题再收集信息,而收集到的信息往往表明问题定义有误,所以作者的顺序是对的。Imanari 的总结很简洁:第 1 到 5 步只是用越来越正式的方式说”先搞清楚状况再动手”,第 6 步是”然后快点做”。verdverm 顺手改写成:”先让 Claude 搞清楚状况再动手”“然后让 Claude 快点做,别出错”。多位评论者指出它不过是 OODA 循环、PDCA 或波利亚解题法的变体;trunnell 则认为第 3 步确实是精髓:”准确地给问题命名是解决问题的本质,一旦问题被恰当定义和框定,多数问题怎么解就显而易见了。”otterley 说这和亚马逊的文档写作与决策流程高度一致,他觉得这套流程异常有效;margalabargala 回应说他上家公司也这么做,结果常常沦为委员会式设计。
对文章姿态的批评。 pclowes 的观察颇有意思:听过 Boris 几次演讲后,他总觉得 Boris 说话和写作的方式很像 Claude Code 本身,他不认为 Boris 把写作外包给了 LLM,而是他的”声音”被多年与 agent 的交互打磨得像 LLM 一样光滑;他提到 Boris 声称 Anthropic 工程师平均每天使用 500 多个 agent,”他们更像是人与 token 生成器之间的接口,而不是人与人之间的交流,正在染上最常打交道的伙伴的习惯”。lelanthran 追问:怎么区分你的声音被磨平和你的大脑被磨平?serjester 说,写一篇关于”被证明是错的”的文章,却一个犯错的例子都没举,这很奇怪,”人人都在抽象层面上喜欢犯错,这读起来更像自我表扬”。excentricus 和 blinkbat 批评这种”伪装成谦逊的炫耀”,beaker52 说如果换成一个 HN 上没名气的人发这篇,发十次也上不了首页。1dom 认为这类文章像一种罗夏墨迹测验,处在”快速行动、打破常规”状态的人会连连点头,其他人则只会觉得是自我服务的陈词滥调;而且一篇题为”我经常犯错”、结尾说”我愿意修改”的文章,语气却让一切显得不容置疑,这很矛盾。ramesh31 替 Boris 说了句话,认为他聪明能干,不该被这样攻击,但也说他只是恰好在对的时间出现在对的位置,有无限的 token 和最强的编程模型撑腰,CC 本身并没有什么革命性。
也有少数评论涉及当周的背景。jascha_eng 讥讽说”原来要 Boris 写篇博客承认犯错,才终于支持 AGENTS.md”(同一周 Anthropic 宣布 Claude Code 支持这一最初由 OpenAI 推动的规范),Boris 回复说两者无关,只是恰好在同一周。_345 问他有没有哪天忘了用这个框架,或者偷懒走捷径,Boris 答:”挺常有的。有时候太容易对一个解决方案兴奋起来,而没花时间先明确问题和目标。”还有几句俏皮话:ks2048 说”我更喜欢做对的一方,不过各有所好”,kragen 接道”我太喜欢做对了,以至于错了的时候我会改变主意,尽管那很尴尬”;devy 注意到文章 URL 里有个逗号(management,),去掉逗号就会 404,”我的心头之恨”。