面向有限认知的工程

Hacker News Top 新闻

摘要

文章探讨了人类认知的局限性——例如工作记忆只能同时处理大约四个项目——以及这些限制如何塑造软件工程,并论证了许多“人为错误”实际上是设计缺陷。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/28 07:55

# 为有限认知而设计 来源: https://shapeofthesystem.com/posts/2026/02/03/bounded-cognition 构建软件的心智远小于它所构建的软件,而工程中几乎所有优秀之处,都是与这种差距共存的方式。 2026年2月3日·跨领域 (https://shapeofthesystem.com/posts/cross-cutting/index.html) 你可能听说过,人的心智一次能同时处理七件事。这是流行心理学中被重复最多的数字,而提出这个数字的人自己其实并不相信它。乔治·米勒将他在1956年发表的论文题为"神奇的数字7±2",半开玩笑。他写道,这个数字反复出现在彼此毫无关联的实验中,很可能只是巧合,并曾说自己感觉被一个整数迫害。他的怀疑是对的。后来的研究者剥离了我们用来取巧的小花招——在内心默念、将数字分组——然后这个数字就下降了。当去除所有辅助,一个人在没有丝毫帮助的情况下能同时记住的独立事物数量的真实数字,大约是四。 四。而此刻你阅读本文所用的设备,正运行着数千万行代码。软件的全部问题,就摆在这个比例里。我们构建的系统,是人类制造过的最复杂的造物之一,而被创造、被修改、在压力下从崩溃边缘拉回来的它们,其建造者却是一颗颗一次只能理顺大约四件事的心智。 而且,问题不仅在于它小而狭。你的注意力投向那四个槽位时,不是房间里的泛光灯,而是黑暗仓库里的一束手电光,几乎所有事物都在光束之外。有一个著名的实验:要求人们观看视频并数清一支队伍传了多少次篮球。视频中途,一个穿着大猩猩服装的人走进画面中间,转向镜头,捶打胸膛,然后走开。整个过程九秒钟,清晰可见。大约一半观看者从未注意到它。他们正盯着它,他们不是盲人。光束只是对准了球。更奇特的是:另一项研究中,人们在街上被拦住问路,当对方正在回答时,两名工作人员抬着一扇门走过,而门后,原本问路的人被换成了另一个人。不同身高、不同衬衫、不同声音。大约一半的情况下,问路者会继续给一个完全陌生的人指路,却从未注意到面前的人已经被调换了。即使你能记住的那一点点东西,也只能保持几秒钟。给某人看三个随机字母,阻止他反复默念,二十秒内大部分信息就消失了。所以这就是四格槽位、一束窄光、不断泄漏的现状——这就是我们构建软件所用的工具。 一旦你真切感受到心智有多渺小,软件最令人惊讶的就不再是它会崩溃,而是它竟然还能工作。我们用逻辑搭建起这些大教堂,远非任何一个人脑所能容纳,却用与生俱来的那四格槽位、总忽略大猩猩的心智,居然让它们维持屹立。正常运行时间才是奇迹。 这使得行业喜爱的一个短语被置于更刺眼的光下:人为错误。几乎每份事故报告最后都会找到一个输入错误命令、点击错误按钮或没看到警告的人,然后我们把整件事归结为他们的疏忽,并承诺下次会更努力。但是,一半认真专注的人直视都看不见的警告,实际上并不是警告——那是装饰。一个按钮,离灾难只差一次疲倦的点击,那是由设计者放置的,而不是碰巧点下它的人。那些以此为生的人——在航空、医疗和电站控制室领域,在那里"再小心点"是可能害死人的建议——早就明白了这一点。当一个能干的人反复犯同一个错误时,过错几乎从不在人身上,而在于为不存在的操作员建立的系统——那个永远不会疲倦、从不走神、同时在心里装着整台机器的操作员。那个操作员从未出生。每个为他们构建的系统,从一开始就是坏的,只是还没等到倒霉的那一天。 有那么一段时间,你可以用机器会拯救我们来自我安慰,认为电脑至少不长着那四格槽位的心智。然后我们构建了能读写的机器,把代码交给了它们,结果看着它们以一种令人不安的熟悉方式失败。大型语言模型有一个所谓的上下文窗口,硬性限制了它在任何时刻能考虑的信息量。它不像长期记忆,而更像你此刻正握在心中的东西;一旦某物掉出窗口,它并不会被模糊地记住,而是彻底消失。即使在窗口内部,模型也不是均匀地分配注意力。有一项标题非常平淡的研究叫"迷失在中间",研究者发现,当所需信息位于长输入的开头或末尾时,这些系统回答得很好,但当信息被埋在中间时,效果明显更差——这正是一个疲倦的人在浏览文档时的样子:抓住开头和结尾,中间部分目光渐渐呆滞。给模型更多阅读材料,它实际上可能表现得更差而非更好。在某些测试中,给它更多检索到的文档,准确率反而低于不提供任何文档的情况。模型的注意力是一个固定量,总和必须为1。所以,你让它看的东西越多,任何单个早期事物能够保留的注意力就越少。分散到一定程度,你最开始给出的指令就会沉默,助手会写出一个已经写好的函数的副本,或者破坏你们半小时前做出的一些决定。它失去了线索。相同的有限性,只不过现在它在硅中运行,并且以与你自己最糟糕的下午完全一样的方式犯错。 这对新手和专家、对休息充足者和筋疲力尽者、对人类和机器,都成立。改变系统的心智永远远小于系统本身。没有哪个版本你能靠聪明、或雇佣聪明人、或购买更大的模型来摆脱,因为差距不是或许某天能弥合的几阶量级——它是这项工作永恒的条件。因此,工程的核心问题不是"我们如何找到一个足够大的心智来容纳这一切",因为不存在。问题是"我们如何塑造事物,使一个渺小的心智能够处理它而不至于全盘崩溃"。几乎所有我们称之为优秀工程的东西,都是对这个问题给出的某种答案。给某样东西一个精确的名字,就多了一个你不需要记在脑子里的事实。画一条边界,就有了一个你可以停止反复核对的承诺。写一个测试,就是把一个决策存放在某个它不会随时间褪色的地方。任何可以撤销的东西,就是允许犯错。这些方法中的每一个,都将原本必须存在于那个脆弱的四格心智中的事物,迁移到结构中去,在那里当您眨眼时它依然牢固存在。 以这种方式构建还有一个安静的加成,最清晰的证明就在你厨房的抽屉里。1990年,一个名叫Sam Farber的人看着他的妻子Betsey用一把普通的蔬菜削皮器苦苦挣扎,那薄薄的金属手柄嵌进了因关节炎而僵硬的手指。他决定为她做一把更好的。他们最终的设计是一个柔软、有弹性的握把,疼痛的手不用紧握就能握住。这个削皮器后来成为全球最畅销的厨房工具之一,被数百万根本没有关节炎的人购买——因为给艰难的手建造的手柄,结果对每只手都更好。为最受约束的用户设计,并不是我们都得忍受的慈善。多数情况下,它只会给你一个更好的东西。而我们用代码构建的东西也是如此。让系统对疲倦的工程师、分心的工程师、一无所知的新人以及不断失去线索的机器来说都安全,你并没有为天才设限,而是建立了每个人在光束变窄时——它终究会变窄——都会去拿的工具。 这一切都不是你一次性应用然后就永远不管的技巧。它是一种思维习惯:把你自己的注意力当作它实际上那种稀缺且不可靠的东西来对待,然后相应地构建。我花了很长时间将这种习惯转化为具体的操作——你在系统上做的那些实实在在的事情,以便渺小的心智可以安全地改变它——它们最终成了一篇宣言。这篇文章就是整个宣言底层的核心理念。如果其中任何一点让你觉得真实,如果你曾经直视过大猩猩却没看到它,那么剩下的内容只是对它逐步展开的详解。 --- 在宣言中,这是前言:整篇宣言是对此的一个漫长回答。 来源 - **[Cowan 2001]** Nelson Cowan, "The Magical Number 4 in Short-Term Memory: A Reconsideration of Mental Storage Capacity". *Behavioral and Brain Sciences* 24(1), 2001. https://doi.org/10.1017/S0140525X01003922. 工作记忆的限制约为4个组块,而非7个; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[Liu et al. 2023]** Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni & Percy Liang, "Lost in the Middle: How Language Models Use Long Contexts". arXiv:2307.03172, 2023 (later TACL vol. 12, 2024). https://arxiv.org/abs/2307.03172. 模型注意开头和结尾,丢失长上下文中间部分; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[Miller 1956]** George A. Miller, "The Magical Number Seven, Plus or Minus Two". *Psychological Review* 63(2), 1956. https://doi.org/10.1037/h0043158. 工作记忆限制,作为'工程师必须在脑中记住什么'的依据; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[OXO Good Grips 1990]** OXO Good Grips, founded by Sam Farber after watching his wife Betsey struggle with a peeler, designed with Smart Design. 1990. https://en.wikipedia.org/wiki/Sam_Farber. 为受约束的情况设计使工具对每个人都更好; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[Peterson & Peterson 1959]** Lloyd Peterson & Margaret Peterson, "Short-Term Retention of Individual Verbal Items". *Journal of Experimental Psychology* 58(3), 1959. https://doi.org/10.1037/h0049234. 未经默念的项目在数秒内消退; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[Simons & Chabris 1999]** Daniel Simons & Christopher Chabris, "Gorillas in Our Midst: Sustained Inattentional Blindness for Dynamic Events". *Perception* 28(9), 1999. https://doi.org/10.1068/p281059. 专注的注意力使明显的事物变得不可见; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). - **[Simons & Levin 1998]** Daniel Simons & Daniel Levin, "Failure to Detect Changes to People During a Real-World Interaction" (the 'door study'). *Psychonomic Bulletin & Review* 5(4), 1998. https://doi.org/10.3758/BF03208840. 变化盲视:一半人未察觉对话对象被替换; tenetPREAMBLE (https://shapeofthesystem.com/index.html#preamble). *这是一系列关于为心智实际运作方式(疲倦、易分心、普通、现在还有一部分是机器)构建软件的实地笔记的根本。整套操作来自它们所属的宣言,《系统的形状》 (https://shapeofthesystem.com/)。*

相似文章

@badlogicgames:推荐阅读。

X AI KOLs Timeline

本文讨论了软件工程中的有限认知概念,强调了人类记忆和注意力的局限性,以及在这些限制下如何构建软件系统。

认知依赖

Reddit r/singularity

一篇简短的评论文章,探讨依赖AI进行软件开发是否会导致工程师技能退化,并可能造成AI进展停滞,直至递归自我改进(RSI)成为可能。

人类瓶颈

Lobsters Hottest

本文认为,AI增强人类生产力的潜力受到限制,因为人类缺乏严肃的使用情境,且受困于外部工具无法干预的内部瓶颈因素。

认知放大器:争夺你大脑的战斗已经打响

Reddit r/singularity

本文认为,人工智能充当着“认知放大器”的角色,将瓶颈从执行层面转移至想象力层面,并形成一种可能导致人类意图与机器智能融合的反馈循环。文章强调,保持这些系统的开放性和广泛可用性至关重要,而非将其集中化。

@saranormous: https://x.com/saranormous/status/2064510215056400652

X AI KOLs Following

尽管以Devin为代表的AI编程助手取得了快速进展,显著提升了代码编写和交付的速度,但本文认为,软件工程中最有价值的部分仍难以通过基准测试衡量,并且需要人类的判断和组织协调,这些是无法轻易自动化的。