编译器从不使用讽刺:为什么 AI 对神经多样性程序员感觉不安全
Source: Dev.to
我已经写代码 45 年。我开始时,内存 是用 字节 而不是千兆字节来计量的,bug 几乎是字面意义上的。
在过去四十五年里,我见证了语言从 Assembly 到 C,再到 Java,再到 Python 的演变。但在每一次迭代中,有一个基本真理始终不变:机器是字面理解的。如果我让电脑执行 $X$ 而它执行了 $Y$,那是因为我在指令中犯了错误——而不是因为电脑误解了我的语气、不喜欢我的态度,或是它情绪不好。
对于神经多样性的大脑来说,编程不仅是一份职业——它是一个庇护所。
黑盒问题
我们常把神经网络称为 “black boxes”,因为我们并不真正了解它们是如何得出答案的。讽刺的是,神经常态的大脑对我们来说也是一个黑盒。
我们之所以涌向计算机,是因为它们是 transparent boxes。我们可以看到寄存器,追踪执行栈,检查变量。
通过用自然语言模型取代显式代码,我们实际上构建了一台模仿神经常态大脑的机器:它依赖上下文,implies 而不是 states,并且自信地出错——恰到好处地让你怀疑自己的理智。
语法的圣殿
要理解为何这种转变如此刺耳,我们必须看看心智理论。
在心理学中,心智理论是指将心理状态——信念、意图、欲望、情感——归因于自己和他人的能力。它是理解“我脑子里想的东西”和“你脑子里想的东西”不同的能力。
对于许多神经多样性人士来说,这是一种耗费精力、高摩擦的过程。参加晚宴需要不断、实时地计算社交信号、潜台词和隐藏议程。
- 如果我对同事说“我们要去喝一杯”,这是一种暗示性的邀请还是仅仅在传递信息?
- 如果只是信息,而你说“太好了,走吧”,那你就显得粗鲁且擅作主张。
- 如果是邀请,而你说“嗯,还不错”,那你就显得不友好。
编码不需要任何心智理论。
编译器没有隐藏议程。它没有“心智”可供推测。它只在纯粹、未掺杂的逻辑上运行。
| 人类互动 | 计算机互动 |
|---|---|
| “我很好。”(可能意味着:开心、生气、疲惫,或走开) | return 0;(表示:函数成功结束) |
45 年来,IDE(集成开发环境)一直是一个安全空间,社交交往的规则在此被暂停。反馈虽然残酷,却很诚实。语法错误并不是对你人格的评判;它是关于缺少分号的事实陈述。
我记得当时在想,“如果你知道缺少分号,为什么不直接加上呢?”
当然,答案是编译器没有心智理论,根本“不知道”我想要什么。
歧义的入侵
进入 Artificial Intelligence(人工智能)的时代。
我们被告知 “英语是最热门的新编程语言。” 我们被要求 prompt(提示)机器。但提示并不是编程——提示是谈判。
当我们为大型语言模型(LLM)编写提示时,我们被重新拉回到混乱的 Grice’s Maxims 世界。语言哲学家保罗·格赖斯(Paul Grice)提出,有效沟通依赖于 Cooperative Principle(合作原则)——关于 Quantity(信息量)、Quality(质量)、Relation(关联) 和 Manner(方式) 的规则。
人类经常违反这些规则:
- 讽刺(违反 Quality)
- 唠叨(违反 Quantity)
- 被动‑攻击性言论(违反 Manner)
传统代码严格遵守这些格言。它简洁、真实且相关。而 LLM 却可以:
- Hallucinate(产生幻觉,违反 Quality)
- 在你要求布尔值时给出冗长、华丽的解释(违反 Quantity)
- 需要你“massage”(加工)输入才能得到正确输出
突然之间,“源代码”也像随意的对话一样受到语言歧义的影响。我们必须猜测模型对某种措辞的“感受”。我们本质上是在对一组浮点数进行“心理治疗”,让它写出一条 SQL 查询。
一个几乎导致事故的歧义案例
一名飞行员需要执行复飞(go‑around),于是对副驾驶说 “takeoff power.” 这句话的指令是将发动机调至全功率(起飞功率),帮助飞机爬升。副驾驶听成了 “take off power,” 误解为“关闭动力”,于是把发动机调至怠速。由于所有航空运输通信均使用英语,而这并非飞行员的母语,导致了误传。很难想象防护措施或情境 grounding(情境绑定)在此情形下能起到帮助作用。
确信的香农极限
我其实认识 Claude Shannon。我们住在同一个城镇,我在高中和大学时是他女儿的好朋友,我们还是 MIT 杂耍俱乐部的成员。
对于只在教材里见过这个名字的人来说,香农是 信息论之父。他意识到所有信息都可以用二进制位——比特——来表示,并为我们提供了数字确定性的基本单位。
在香农的世界里,一个 比特 衡量不确定性的降低;它是对是/否问题的答案,是歧义的数学反面。
在过去的 45 年里,我们用 C 或 Java 编写代码时,正生活在香农搭建的那座房子里。我们在操作 确定性的比特——而现在我们被要求在概率语言模型的海洋中航行。
位、 不确定性 与 从代码到提示工程的转变
我们在解决不确定性。每行代码的目标都是消除噪声,使信号完美。
但大语言模型(LLM)运作在香农工作中的另一个层面:英语的熵。
香农曾著名地估算了书面英语的熵(或不可预测性)。他认识到人类语言是冗余且统计性的。这正是现代 AI 的工作方式——它利用语言的统计冗余来预测下一个词。
但关键在于: 预测并不等同于精确。
从传统编码转向提示工程(Prompt Engineering),我们把比特(绝对确定性)换成了标记(概率可能性)。我们离开了编译器的无噪声通道,重新踏入语言熵的沼泽——正是香农帮助我们用数字逻辑填平的沼泽。
确定性 vs. 概率性:“可能”的焦虑
最深层的摩擦,其实是数学层面的。
几十年来,我们生活在一个确定性的世界:
If P, then Q.
这是一种二元的舒适感。它是可验证的。它是可复现的。
AI 引入了一个概率性的世界:
P(Q | P)
在已知 P 的情况下 Q 的概率。
当我让 AI 编写代码时,它并不“知道”代码。它基于海量数据集预测最可能的下一个标记。它依赖于直觉和统计可能性。
对于那些在模式和刚性系统中寻找安慰的神经多样性思考者来说,这是一种深刻的焦虑来源。我们正从一个**“正确或错误”的系统,转向一个“够好”**的系统。
- 旧世界: 你花了 3 小时调试,因为逻辑有缺陷。
- 新世界: 你花了 3 小时提示工程——实际上只是尝试找出魔法词汇说服黑箱行为——然后再花 3 小时验证生成的代码是否正确(你检查过了,对吧?)。
我们该何去何从?
我不是技术倒退者。我是 AWS Hero、AWS Ambassador,并拥有 10 项美国技术专利。我每天都在使用 AI。它是一个强大的工具。但我仍为二进制圣所的失去感到惋惜。
我们正进入一个“编码”看起来更像外交而非建筑的时代。它将奖励那些擅长语言细微差别和说服技巧的人——这些技能传统上更有利于神经典型者。另一方面,直觉性的飞跃可能实际上更有利于神经多样性者。
对于那些在编译器错误的绝对真理中寻找慰藉的我们来说,必须学习一项新技能:我们必须学会容忍机器的模糊性,就像我们已经学会容忍世界的模糊性一样。
但我会想念那种——只要我说得精准,机器就会精准执行的日子。
Brian Tarbox 拥有语言哲学和认知心理学学位。