缩写疲劳系列引言:我为何对缩写持谨慎态度

Hacker News Top 新闻

摘要

一篇博客文章,介绍了批评软件工程中过度使用缩写的系列内容,探讨了缩写疲劳的文化和营销原因。

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

缓存时间: 2026/07/07 02:08

# 缩略词疲劳系列介绍:为何我对缩略词持谨慎态度 来源:https://devz.cl/posts/acryonym-fatigue-series-why-i-m-wary-of-engineering-acronyms/ 在最近的一篇博文中(https://devz.cl/posts/solid-never-felt-solid/),我对我称之为“缩略词营销”的现象进行了简短的批评。由于太简短,可能看起来像是出于无知。但实际上,经过反思,我认为这种态度源于两个方面:文化差异,以及缩略词在营销中的过度使用(正如有人简明扼要地指出的:HLA. Humans Like Acronyms)。我在此宣布我的全新四部分系列:AFS(缩略词疲劳系列),我将在此探索我对缩略词的抵触,供读者一乐: - 本介绍文:探讨为何我对缩略词持谨慎态度 - 第1部分:CAP、ACID——为何我对即便形式上合理的缩略词也持谨慎态度 - 第2部分:DRY、KISS——为何我对善意建议类的缩略词持谨慎态度 - 第3部分:OLAP vs OLTP、ELT vs ETL——为何我对推动技术二分法的缩略词持谨慎态度 ## 缩略词文化 首先且最重要的是,这源于不同的文化背景。虽然我们在国内也有缩略词,但并不像英语中那样无处不在。我们用它指代机构,也用作缩写,但我们很少有首字母缩略词。英语中有 ASAP、BRB、TLDR、AFK、TGIF、LOL、ROFL 等大量缩略词,而在西班牙语中,我绞尽脑汁只能想到 TQM(“Te quiero mucho”,自 MSN 时代后就没用过)、NTP(“No te preocupes”,去年才第一次听说)、PQ/XQ(“Por qué/porque”,也许曾用来加快打字速度,但现在我只看到我父亲还在用)。 另一方面,我进入学术界的起点是人文学科,尤其是历史学,以及一些相关学科和少许哲学。在那里,我很少看到用缩略词来包装复杂概念和思想。你不会看到康德用 TCI 代替“绝对命令”(The Categorical Imperative),也不会看到卢梭用 TSC 代替“社会契约论”(The Social Contract)。常见的是创造概念(如福柯的 Biopolitics、赫尔德的 Zeitgeist、萨义德的 Orientalism)或使用名词化(https://en.wikipedia.org/wiki/Nominalization)。这并不是说软件工程中没有使用这类概念包装技巧,只是缩略词在人文学科中远没那么常用,很可能是因为每个学科的语言多样性,而在计算机科学中,英语是默认的通用语言。 > 注:这只是一个想法,远非论点,甚至算不上假说。我没有正式证据证明缩略词在英语中确实更普遍。下面是 ChatGPT 根据这项研究的数据集(https://aclanthology.org/2022.coling-1.292.pdf)(MACRONYM, 2022)为我制作的一张图表:MACRONYM 缩略词密度按语言分布.png ## 缩略词营销 在解释了我为何并非天生倾向于缩略词之后,希望读者也能注意到相反的现象:人们(尤其是英语母语者)喜欢缩略词。即使在迷因中,缩略词也像野火一样蔓延(https://youtube.com/shorts/6dh9wncO6gU?si=SwfNyx1LSYgzyWbP)。 > 注:这(尚)不是对缩略词本身的批评。只是揭示缩略词在营销中用于推广产品的手法。 部分原因是,缩略词是一种群体内身份标识(https://www.psychologicalscience.org/observer/alienating-the-audience-how-abbreviations-hamper-scientific-communication)。一方面,如果你遇到一个未知的缩略词,在别处找到定义之前会一头雾水;但如果你理解它们,就会产生一种属于群体的归属感。这一点被技术营销利用,作为表明他们属于某个群体的信号,而且很有效!我不怪他们。在上一份工作中,营销部门大量使用网络情报和网络安全缩略词,我怀疑公司里任何工程师个人贡献者都无法定义所有缩略词。每一个新的 Epic 都带来一系列新的缩略词,有些甚至是内部发明的。 ## 我为何谨慎? 思想并非总是凭自身价值而传播。特别用缩略词缩写的思想天生就具有模因性,尤其是那些精心设计的,比如 SOLID(SOLID(https://solid-is-not-solid.com/)并不稳固(https://dannorth.net/blog/cupid-the-back-story/)也不稳固(https://overreacted.io/goodbye-clean-code/))。因此,当我遇到那些在技术讨论中铺天盖地的著名缩略词时,我内心总有一部分记得,它们之所以如此流行,一个微小原因正是它们本身是缩略词。

相似文章

@ItsRoboki: https://x.com/ItsRoboki/status/2046220862546960563

X AI KOLs Timeline

# AI 智能体术语不过是新瓶装旧酒 如果你是一位经验丰富的软件工程师,却对 AI 智能体(AI Agent)的世界感到困惑,原因很可能不是技术太复杂——而是行话太多。 欢迎了解**"词汇税"**:这是一种因新造术语而产生的认知负担,让你误以为自己面对的是全新的概念,而实际上不过是你已经熟悉的老朋友换了身行头。 --- ## 什么是词汇税 每隔几年,技术圈都会经历一轮术语洗牌。某个领域起飞了,新词汇随之涌现,旧有的工程概念被重新包装,贴上新标签。 这并不总是有意为之的炒作。有时候,新词汇确实能承载细微的差别,或者为特定社区提供更精准的表达。但很多时候,它制造的困惑远比带来的清晰要多。 词汇税的本质就是:**你为了弄懂这些词在说什么,而不得不付出额外的认知成本**。 AI 智能体领域目前正在大量征收这笔税。 --- ## 逐一拆解那些花哨术语 ### "Orchestrator"(编排器) 这个词让人联想到某种神秘的 AI 大脑,在幕后统筹全局。 实际上?它就是一个**控制流管理器**。它决定先调用哪个函数,根据结果走哪条分支,什么时候结束循环。你在写业务逻辑的第一天就做过这件事。 换个说法:`main()` 函数加上一些条件判断。 --- ### "Harness"(执行框架) AI 圈子喜欢说某个模型被"装进了一个 harness"。 这翻译过来就是:**一个包装类或运行时环境**,负责管理模型调用的生命周期——处理输入输出、捕获错误、维护状态。 换个说法:适配器模式(Adapter Pattern)加上一个 try/catch 块。 --- ### "Memory Layer"(记忆层) 这个词听起来像是给 AI 装上了某种类人的记忆系统。 实际上它就是**存储和检索机制**。短期记忆是会话上下文(session context),长期记忆是数据库查询,语义记忆是向量搜索。 换个说法:缓存 + 数据库 + 搜索索引。 --- ### "Tool Use"(工具调用) 模型"学会了使用工具",这句话读起来颇具魔幻色彩。 脱下这层外衣,它就是:**函数调用**。模型输出一个结构化的请求,系统解析它,执行对应的函数,把结果返回给模型。 换个说法:API 调用的调度与执行。 --- ### "Agentic Loop"(智能体循环) 这个术语让整个架构听起来像是某种自主意识的涌现。 它的本质是:**一个 while 循环**,每次迭代都会:获取当前状态 → 决定下一步行动 → 执行行动 → 更新状态 → 判断是否结束。 换个说法:事件循环(Event Loop),或者任何一个游戏引擎里的主循环。 --- ### "Grounding"(落地/锚定) "模型需要被 grounded"——这句话在 AI 文章里频繁出现。 它的意思是:**把模型的输出与可验证的外部数据绑定**,防止它胡说八道(即"幻觉")。RAG(检索增强生成)是最常见的实现方式。 换个说法:数据验证 + 外部数据源注入。 --- ### "Reflection"(反思) 听起来像是 AI 在进行哲学沉思。 实际操作是:**让模型评估自己的上一个输出**,判断是否满足要求,如果不满足则重新生成。这是一个带有评判步骤的迭代优化循环。 换个说法:带校验逻辑的重试机制(retry with validation)。 --- ### "Chain"(链) LangChain 里的"链",以及各种"prompt chain"。 这就是**函数组合(function composition)**,或者说是管道(pipeline)。输出 A 作为输入传给 B,B 的输出传给 C。 换个说法:Unix 管道。`cat file | grep keyword | sort | uniq` --- ## 那么,是不是什么都没变? 当然不是。有几件事确实是新的,或者至少是在规模和能力上发生了质变: 1. **不确定性变成了一等公民**:传统函数给定相同输入,输出是确定的。LLM 不是。这要求你在架构层面认真对待概率性行为,而不只是在边界情况里处理它。 2. **自然语言成为了接口**:当接口是自然语言时,你没办法写一个传统意义上完整的类型规范。这对系统边界的设计提出了新要求。 3. **上下文窗口是有限资源**:你需要像管理内存一样精心管理上下文,这是一种在普通 Web 开发里不太常见的约束。 4. **涌现行为(Emergent Behavior)确实存在**:模型组合起来之后,有时会产生你没有显式编程的行为。这既是能力,也是风险。 --- ## 如何用已有知识来理解 AI 智能体 这里有一个简单的映射框架,供有经验的工程师参考: | AI 智能体术语 | 等价的工程概念 | |---|---| | Orchestrator | 控制流 / 状态机 | | Memory Layer | 缓存 + 数据库 | | Tool | 可调用函数 / API | | Agentic Loop | 事件循环 / 主循环 | | RAG | 查询 + 上下文注入 | | Reflection | 带校验的重试 | | Chain / Pipeline | 函数组合 / Unix 管道 | | Prompt Template | 带参数的字符串模板 | | Agent | 带状态的服务 + 决策逻辑 | --- ## 写在最后 词汇税不是阴谋,但它有真实的代价。它让有经验的工程师低估自己已有的能力,让新人觉得这个领域比实际上更难进入。 下次当你遇到一个陌生的 AI 术语,不妨先问自己:**"如果我是五年前,没有这个词,我会怎么描述这件事?"** 大多数时候,你会发现你早就认识它了。 AI 智能体领域确实有令人兴奋的新东西。但其中最难的部分,往往不是理解那些新概念——而是先剥掉裹在旧概念外面的那层新皮。

最终瓶颈

Armin Ronacher

一篇反思性博客文章,探讨了代码生成中AI加速如何压倒审查流程,在软件工程中创造了新的瓶颈。并与历史上的工业瓶颈进行了类比,建议将抑制输入作为必要回应。

我们应该比模型更努力

Hacker News Top

一篇反思性博客文章,探讨代理式代码生成如何阻碍技能保留,以及如何在开发中重新增加摩擦以进行刻意学习的策略。