深入探究 ELIZA 的源代码及其多重性格
ELIZA 的创建者约瑟夫·魏森鲍姆 (Joseph Weizenbaum) 对许多用户对其相对简单的程序的输出所赋予的深刻意义感到惊讶。

ELIZA 被认为是世界上第一位人工智能明星,是一位以聊天机器人形式出现的友善治疗师,可以温和地探究用户的担忧。就连它的创造者约瑟夫·魏森鲍姆(Joseph Weizenbaum)也对他的人机交互实验受到如此热烈的欢迎感到惊讶。对于一些人来说,它预示着自动化心理治疗的时代到来,而另一些人则认为该程序展示了感知能力,这种谬论很快被称为“ELIZA 效应”。根据已发布的描述,ELIZA 已在许多不同的计算机上实现,但直到最近才从麻省理工学院的档案中挖掘出实际的源代码。
在麻省理工学院出版社刚刚出版的《发明 ELIZA:第一个聊天机器人如何塑造人工智能的未来》一书中,一组研究人员分析了代码并揭示了一个复杂的程序,它的功能远不止伪造精神病学。事实上,它可以呈现几种不同的角色。作者还创建了对治疗师角色的忠实模仿,您可以在阅读下面的书籍摘录后亲自尝试。
当 ELIZA 软件程序在 20 世纪 60 年代中期首次亮相时,它改变了人们与计算机交互的方式。作为第一个聊天机器人,ELIZA 演示了计算机如何参与对话,引发了许多至今仍引起共鸣的社会和技术问题。现在,我们会毫不犹豫地与机器实时交互、通过文本进行交谈,甚至对着空气询问天气。在很多方面,ELIZA 不仅塑造了我们与计算机交互的方式,也塑造了我们对计算机的看法。它开始让我们所期望的计算机如何工作的科幻故事成为现实。
本文改编自新书《Inventing ELIZA: How the First Chatbot Shaped the Future of AI》(麻省理工学院出版社,2026)。
尽管 ELIZA 远非完美的对话伙伴,但它却让用户感到惊讶。最近对原始 ELIZA 源代码的发现和考古代表了对计算历史的重大干预。通过检查 ELIZA 的实际实现,而不是依赖后来的重建和重新实现,我们挑战了关于这个关键软件工件的理所当然的假设。
例如,源代码显示 ELIZA 不仅仅是一个简单的模式匹配聊天机器人,而且可以更好地理解为一个为多个“角色”或脚本设计的复杂平台,具有一组复杂的功能,包括脚本编辑和上下文记忆。大多数人将其与《ELIZA》节目混为一谈的剧本实际上叫做《Doctor》,扮演心理治疗师的角色。然而,就像现代聊天机器人被要求表现出不同的性格一样,ELIZA 可以扮演多种角色。
“这些代码和脚本……揭示了有关语言、治疗和人机交互的基本假设,这些假设将继续影响现代人工智能的发展。”
这些出土的材料证明约瑟夫·魏森鲍姆的技术创新比之前记录的要先进得多,从而改变了我们对早期人工智能开发的理解。此外,他发表的描述与实际实现之间的差异有助于显示理论计算模型与其在计算机源代码中的物质实例之间的差距,这种张力仍在塑造当今的数字文化。
尽管自 ELIZA 以来的几十年里出现了许多技术创新,但检查 ELIZA/Doctor 代码可以让我们难得一睹人类对话建模的最早形式化尝试之一。 ELIZA 特别令人着迷的不仅在于它的历史意义,还在于它揭示了魏森鲍姆对计算和人类交互的看法。该代码和脚本不仅展示了 20 世纪 60 年代的编程技术,而且还展示了 20 世纪 60 年代的编程技术。它们揭示了关于语言、治疗和人机交互的基本假设,这些假设继续影响着现代人工智能的发展。通过检查这段代码,我们可以开始揭示复杂的语言和编程技术,这些技术允许基本的模式匹配系统创建令人信服的理解模拟。但在我们阅读代码行之前,让我们先概述一下系统。
ELIZA 如何创建角色?
ELIZA 和 Doctor 之间的架构区别代表了人工智能历史上的一个重要设计决策。将 ELIZA 视为一个交互系统,将 Doctor 视为 Weizenbaum 等人设计的一套规则。这种分离体现在 ELIZA 的系统脚本二分法中,预示着许多当代软件模式,从配置即数据到插件架构和特定于领域的语言。
根据已发表的期刊文章,ELIZA 在许多平台上重新创建,例如 IBM PC。然而,实际的源代码多年来一直保存在麻省理工学院的档案中。 InfoAge 的 VCF 博物馆
毫无疑问,20 世纪 60 年代计算的历史背景也从根本上塑造了 ELIZA 的架构。反映物质约束的计算决策会产生路径依赖性,并最终成为编程文化规范。这些限制体现在 ELIZA 的单通道处理、基于磁带的存储和面向堆栈的实现中。然而,在这些限制之下,魏森鲍姆精心设计了一个优雅的解决方案。这些技术特征虽然对用户来说是看不见的,但对于创造理解的错觉至关重要,从而使 ELIZA 如此引人注目。
Weizenbaum 在 1966 年 1 月版《计算机协会通讯》(CACM) 杂志上发表的 10 页论文中解释了 ELIZA 的许多技术特性。但他选择省略一些重要的细节。
在那篇论文中,魏森鲍姆发表了 ELIZA 最著名的对话,其开头是:
男人都是一样的。
以什么方式
他们总是因为某事或其他事情来骚扰我们。
你能想到一个具体的例子吗
嗯,是我男朋友让我来这里的。
这段对话标志着 ELIZA 在 1966 年首次公开亮相,成为 Doctor 剧本制作的例子之一。通过查找 ELIZA 的源代码并检查它如何执行 Doctor 脚本,我们现在可以更好地理解系统的这两个独立部分,并可以探索 ELIZA 的许多其他角色。在迄今为止已知的一些其他脚本中,ELIZA 被编程为讨论数学、诗歌、颜色、悖论、同步、相对论、法国和电梯。
这些脚本的工作方式类似于模板。它们是指导 ELIZA 系统“扮演”特定任务或角色的结构化数据。通过比较与各种脚本(包括 Doctor)交互的存档和已发布的 ELIZA 对话,我们可以更多地了解机器人角色及其功能,密切关注机器人如何唤起系统和交互者之间的社交动态。
最终,研究对话和脚本证明了协作在这些交流中发挥的关键作用,因为机器人和用户共同创造了互动的感觉。为了了解 ELIZA 的全部功能和对话可能性,让我们看一下为 ELIZA 系统创建的各种脚本。
每个 ELIZA 脚本的独特之处在于其主题以及用于传递该内容的语言和风格选择。这些选择并不是中立的;可以说,他们构建了一个特定的人物角色,其特征通过脚本的语言模式、词汇和对话方式而显现出来。简而言之,重要的不仅是你说什么,还有你怎么说。
“我们的目的不是创建一个功能性的自动化治疗师,而是找到一个适当约束的角色来匹配编程环境的限制。”
例如,魏森鲍姆在《医生》剧本中刻意呼应了罗杰斯“谈话”治疗师的风格。他选择这个角色是因为精神病学模式是少数几种对话类型之一,在这种对话中,一个人可以“采取对现实世界几乎一无所知的姿势。例如,如果一个人告诉一位精神科医生‘我去坐了一次很长的船’,而他回答说‘告诉我关于船的事情’,人们不会认为他对船一无所知,而是认为他如此引导随后的对话是有某种目的的。”
ELIZA 的第一批用户通过电传打字机终端与其进行交互。InfoAge 的 VCF 博物馆
因此,为 ELIZA 创建的最著名的角色是技术上的便利。正如人机交互专家 Lucy Suchman 所解释的那样,“Doctor 程序利用了共享前提可以保持不言而喻的格言:我们在对话中说得越少,所说的内容就越被认为是不言而喻的。”在创造最初的 ELIZA 效果时,少即是多。
其目的不是创建一个功能性的自动化治疗师,而是找到一个适当约束的角色来匹配编程环境的限制。然后,魏森鲍姆通过选择能够引起修辞语气和人物塑造的特定词语来编写与角色相匹配的剧本,例如,让我们进一步讨论为什么是你……这对你有何建议。在 Doctor 中,对话的机器端需要表现得像一个好的倾听者,关心用户之前提到的内容,因此它通常在回复中包含用户的文本,并保持其回复开放式。因为真正的医生会很好奇,所以脚本包含很多“什么”和“为什么”的问题。在其他脚本和对话中,脚本关键字和指定的响应揭示了有助于创建不同特定角色的设计决策。当我们观察更广泛的 ELIZA 脚本时,这种差异变得越来越明显。
ELIZA 的替代角色有哪些?
让我们从一个名为 Neweng 的脚本开始,Neweng 是新英格兰的缩写。到 20 世纪 50 年代中期,科学家们已经将图灵关于与计算机对话的主张视为切实可行的想法。 1959 年,多伦多大学计算中心的一个小团队制造的“对话机”如果预先提示当前数据,就可以闲聊天气。它的脚本包括一系列按顺序排列的时间词、天气词和情感词,但该系统“视野相当狭窄”,词汇量有限,而且没有语法知识。据其创造者称,“尽管很粗糙,但在还过得去的对话中的结果却出人意料地好,这在某种程度上是对关于天气的普通对话的肤浅的评论。”
ELIZA 源代码的这个片段显示了脚本化响应是如何编码的,在本例中是为了使 ELIZA 听起来像罗杰斯治疗师。麻省理工学院图书馆,特色馆藏
在档案中找到的 ELIZA 测试脚本之一具有类似的功能。纽恩不会安抚、治疗或指导,而只会闲聊。它就像在无聊的晚宴上聊天一样。
您最喜欢新英格兰的哪个州
我爱罗德岛
我喜欢长岛海峡的海滩
您还喜欢新英格兰的哪个州
我喜欢马萨诸塞州
那是我的家乡
你一定也喜欢马萨诸塞州
我喜欢在新罕布什尔州滑雪
那里的夏天凉爽宜人
我喜欢密苏里州
密苏里州不是新英格兰州
我喜欢科德角
那是马萨诸塞州美丽的一部分
我们可以从这样一个似乎没有分享任何有趣内容的基本对话中学到什么?尽管聊天内容平淡无奇,但机器人脚本中却出现了一个角色,比如“PLEASANTLY COOL”和“UP THERE”,以及“THE BEACHES ON LONG ISLAND SOUND”等地点。从这些评论中,我们可以开始想象一个角色,他不仅拥有一定的词汇量,而且还有一定的爱好和度假胜地。也许种族和阶级的隐含假设也会出现。
健谈的角色可能有多种形式,具体取决于对话发生的地点和时间。这幅画看起来很保守,也许很适合 20 世纪 60 年代新英格兰的背景。系统提醒用户密苏里州不是新英格兰州,但如果这次对话发生在密苏里州、德克萨斯州或墨西哥怎么办?机器角色在节奏、语气和参考方面听起来会有所不同。对于来自火岛、布鲁克林、柏林的聊天角色,我们会了解到什么?他们听起来会是什么样子,他们会讨论什么话题?
这些主题上的差异确实很重要。它们意味着具有完全不同背景和经验的角色,为用户提供完全不同的交互和情感关系。通过这种方式,Neweng 脚本展示了即使是做出有关地理的上下文响应的简单算法也可以产生令人信服的人物和地点感。虽然 Neweng 可以说创造了一个休闲、对话的角色,专注于轻松的社交交流,但其他剧本则将 ELIZA 推向了更加结构化和教育性的角色。这些脚本演示了系统如何不仅适用于友好的聊天,而且适用于教学。
麻省理工学院教育研究中心的 Edwin Taylor 为 ELIZA 开发了替代脚本,测试其作为教师的能力。麻省理工学院图书馆,特色馆藏
认识一下导师 ELIZA,她与治疗师 ELIZA 或健谈的邻居截然不同。 Intrvw、Canvec、FVP1 和 Arithm 是一组 ELIZA 脚本,作为教学工具由麻省理工学院教育研究中心的 Edwin F. Taylor 在实验中使用。这些脚本在 ELIZA 的更高版本上运行,该版本包含一项重要的技术创新,称为条件关键字匹配。
与最初的 ELIZA 不同,最初的 ELIZA 只是查找关键字并根据关键字的存在生成响应,而这些更新版本可以跟踪之前讨论的内容,并根据特定的用户答案分支到不同的对话路径。这一发展使 ELIZA 能够模拟一种苏格拉底式方法,即导师通过仔细排序的问题来指导学习,这些问题会回答学生的答案,而不是简单地呈现信息。
这些脚本通过许多微妙的语言手势构建了导师角色,这些手势创造了人物塑造和修辞语气。这种语气与Doctor的语气不同,后者提出开放式问题,给人一种温和且不科学的印象。在辅导脚本中,来自机器人的大块信息文本往往会主导对话,并且这些解释的语气通常更加干燥和不带感情色彩。对话显示结构化脚本,其中包括引导学生通过狭窄的苏格拉底式学习路径的指导。
特别是教学脚本具有表扬和批评的特点。 Intrvw、Canvec 和 FVP1 的对话充满了“优秀”、“非常好”、“你是对的”和“恭喜”。这些营造出一种支持老师为学生加油的感觉。这种礼貌已经在像 ChatGPT 这样的当代机器人中得到体现,事实证明,当人们对它有礼貌时,它的表现会更好。
随着系统功能的增强,ELIZA 可以更有效地成为一名导师,这是另一个有价值的提醒:ELIZA 不是一个程序,而是一系列程序。 1966 年 CACM 文章发表后,Weizenbaum 继续开发交互和理解系统。作为一项实验,Weizenbaum 编写算术脚本的目的与其说是作为导师,不如说是为了“说明 ELIZA 可以使用的评估器的力量”。它使用友好、简单的语言界面让用户进行简单的编程。该脚本可以进行计算、为变量分配值并对它们执行操作。数学问题可以用句子形式描述:
地球的半径是10。
地球仪是一个球体。球体是一个物体。
地球的面积是多少。
1256.635916
更新后的 1967 年版本的 ELIZA 系统可以积累事实并存储附加信息。在 ELIZA 的最新版本中,当系统无法识别信息时,它会提出后续问题以获取数据。正如 Weizenbaum 解释的那样,“当前脚本的目的是揭示而不是隐藏,缺乏理解和误解。请注意,例如,当程序被要求计算球的面积时,它还不知道球是球体,并且当需要计算球的直径时,球是物体的事实也尚未确定。”与Doctor不同的是,Doctor通过提出问题来让对话继续进行,而Arithm正在构建其存储(如果不是知识的话),那就是数据和逻辑语句。
尽管各种脚本可以帮助我们了解如何通过脚本编程 ELIZA 构建一系列角色,但它们仅代表对话过程的一半。脚本可以为角色奠定基础,但角色只有通过与用户的互动才能完全显现出来,用户参与其中,解释它,并以可能确认、挑战或改变脚本隐含特征的方式对其做出响应。
-
07.16
从机械应答到服务伙伴:得物高可控智能客服的 Agent 工程实践|AICon 演讲整理
-
07.16
西湖大学联袂阿里达摩院 干细胞AI模型落地
-
07.16
Hermes Agent 全栈安装 配置与Web端架构深度解析:官方命令版 最终优化
-
07.16
claude code遇到Claude Code Web Fetch问题解决办法
-
07.16
使用Codex从零制作高质量PPT的完整操作教程
-
07.16
LibTV Agent 视频创作工作流详解
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏