lch
发布于 2026-04-27 / 0 阅读
0

图灵奖得主埃德加·弗兰克·科德:那个把世界画进表格,再递给AI当早餐的人

点击上方图灵人工智能”,选择“星标”公众号

您想知道的人工智能干货,第一时间送达


图片

转自逻各斯笔记,仅用于学术分享,如有侵权留言删除

“埃德加·弗兰克·科德(Edgar Frank (Ted) Codd,1923年8月19日——2003年4月18日),出生于英格兰波特兰岛,1981年图灵奖得主,是享誉全球的计算机科学家,他发明的关系模型奠定了现代数据库管理系统的理论基础,被誉为"关系数据库之父",美国国家工程院院士,美国艺术与科学院院士,生前是IBM(国际商业机器公司)研究员。”

01. 人物介绍

在数字还没有名字的年代,他就为AI准备好了“食材”

在很久很久以前——其实也不算太久,大约是二十世纪中叶——世界上还没有“软件”这个词,也没有“数据库”这个概念。

那时候,计算机是庞然大物,塞满整间屋子,嗡嗡作响,比一台冰箱还要笨拙。人们往它肚子里塞打孔卡片,像喂一个挑食的巨人。每一条信息都被锁在复杂的路径迷宫里,你想找到它,得先记住它藏在哪里——就像你记得外婆把老照片放在阁楼第几个铁盒里,而不是照片本身的内容。

那时候,程序员写代码,不是在键盘上敲击,而是在纸上画流程图,然后用打孔机在卡片上打洞。一摞卡片代表一个程序,掉在地上就全乱了——没有“撤销”键,没有“保存”按钮,只有一颗悬着的心。

那时候,数据是一片没有地图的荒野。

每一个公司、每一个实验室都在用自己的方式存放数据。有的像一棵倒挂的树,根在上,叶在下,你要摘一片叶子,得先爬过所有枝杈。有的像一张错综复杂的网,信息与信息之间纠缠在一起,拉一根线,整个网都在颤抖。

人们习惯了这种混乱,他们甚至不知道混乱是可以被治愈的。

后来,有一个当过飞行员的人,从天上落下来,走进了这片荒野。他没有带砍刀,没有带指南针,只带了一样东西——

一张纸,和一支笔。

他在纸上画了一个又一个方方正正的表格。表格有行,有列,行与列交汇的地方,放着一个信息。表格与表格之间,用一根看不见的线轻轻系着。

他抬起头,说:世界可以这样被整理。

没有人相信他。

IBM的高管们摇头,说这玩意儿跑不快。竞争对手们嘲笑,说这是学术书呆子的白日梦。甚至他身边的同事也觉得可惜——这么好的脑子,怎么去研究这么“没用”的东西?

但他没有收起那张纸。

他继续画,画了一年,两年,十年。画到头发白了,画到格子衬衫的袖口磨出了毛边。

他不知道的是,在他画表的那些年里,有人正在另一条路上种下另一颗种子——那颗种子叫“人工智能”。两条路当时隔得很远,远到互相看不见。

很多很多年后,它们会汇合。

而汇合的那座桥,就是他画的那些表格。

——这是关于埃德加·弗兰克·科德的故事。一个为后来所有智能,悄悄打好地基的人。


一、海风、机翼与代码

1. 波特兰岛的男孩

图片
(图片来源:AI生成)

1923年8月19日,英格兰多塞特郡。

波特兰岛是一座狭长的岛屿,像一条搁浅的鲸鱼,趴在英吉利海峡的南端。岛上多石楠,多海风,多石灰岩。采石场从罗马时代就存在了,运出去的石头铺成了白金汉宫的地基。

埃德加·弗兰克·科德出生在这里。父亲是皮革商人,母亲是一名教师。家境不算富裕,但也不窘迫。家里有一本厚厚的数学手册,是父亲年轻时的旧物。科德七岁那年,翻开了那本书。

他看不太懂,但他喜欢那些符号。它们安静、精确、从不模棱两可。一个等号就是等号,一个加号就是加号。不像大人的话——明明说“好”,听起来却像“不好”。

后来他上了小学。老师发现这个孩子对数字有一种奇特的敏感。不是算得快——他算得不算快——而是他能看见数字之间的关系。就像有人天生能分辨音高,他能分辨数学结构。

“这孩子将来会成为一个数学家。”老师说。

科德的母亲听了,笑了笑。她不知道数学家是做什么的,但她觉得,只要是儿子喜欢的事,就是好事。

2. 天空教会他的事

图片
(图片来源:AI生成)

1941年,科德十八岁。

战争像一片乌云,从欧洲大陆飘过来,罩住了整个英国。每天都有空袭警报,每天都有飞机从头顶呼啸而过。年轻的男人们穿上军装,告别家乡,不知道能不能回来。

科德报名参加了英国皇家空军,他被选为飞行员。

飞行训练在加拿大进行。那里天很蓝,地很阔,雪很深。他第一次驾驶教练机升空的时候,手心全是汗。但当他拉平机翼,看见云层在脚下铺展开来,像一片白色的棉田,他忽然不紧张了。

天空教会他一件事:混乱中藏着秩序。

气流看似随机,但有规律可循。云层的形状不是随意的,它告诉你有上升气流还是下降气流。仪表盘上的指针在跳动,但每一个跳动都有意义。你要做的,不是对抗混乱,而是找到混乱背后的那条线,然后顺着它走。

他后来把这种直觉用在了数学上,用在了编程上,用在了数据库上。

战争期间,他执行过多次飞行任务。具体飞过多少次,飞到哪里,做过什么——他晚年很少提起。战争对他而言,不是勋章,不是荣耀,只是一段需要穿越的时间。

但他确实活了下来。

1945年,战争结束。他脱下飞行服,回到牛津大学。坐在安静的图书馆里,闻着旧书的味道,他觉得恍如隔世。

3. 从数学到打孔卡片

牛津大学埃克塞特学院,科德选了数学和化学。

数学是他擅长的,化学是他好奇的。他尤其喜欢结晶学——晶体那种完美的对称结构让他着迷。原子与原子之间按照固定的规则排列,形成六边形、立方体、菱形。从微观到宏观,秩序无处不在。

他想:世界本质上是数学的。

1948年,科德毕业。他面临一个选择:去工业界,还是留在学术界?

这时候,他读到了一篇关于“电子计算机”的文章。文章里说,有一种机器可以用电流模拟数学运算,速度快得惊人。科德觉得这像科幻小说,但又是真的。

他决定去看看。

1949年,他加入了IBM。当时的IBM总部在纽约,主营业务是打孔卡片设备——就是那种把数据打成小孔、存储在卡片上的机器。计算机部门只是公司里一个不起眼的小分支。

科德的工作是“数学程序员”。这个职位名称很新,新到连名片都没有现成的模板。他的工作内容是:为IBM的第一台科学计算机“IBM CPC”写程序。

写程序的方式是这样的:

你先在纸上把算法画出来。然后你用打孔机在卡片上打孔,一行代码一张卡片。打完一摞卡片,抱到计算机面前,塞进读卡器。机器嗡嗡嗡地读,然后吐出结果。如果程序出错,你得检查那一摞卡片,找到打错的那一张,重新打孔,重新塞进去。

枯燥吗?枯燥。但科德不觉得。他觉得这是在和机器对话,用一种非常原始的语言。机器很笨,但很诚实。你给它什么,它就做什么。你错了,它就错了。没有借口,没有情绪。

他喜欢这种诚实。

4. 第一颗种子:多任务处理

在IBM工作的头几年,科德做了一个后来被广泛使用、但很少有人知道是他做的发明——多任务处理

当时的计算机一次只能运行一个程序。就像一个人一次只能做一件事。如果你想同时运行两个程序,得等第一个完全结束,再开始第二个。这很浪费,因为计算机在做一些慢操作(比如读卡片、打印结果)的时候,处理器其实在空转。

科德想:为什么不能让计算机在等待的时候,去做另一件事?

他设计了一种机制,让计算机可以快速切换任务——保存当前任务的状态,加载下一个任务的状态,执行一会儿,再切换回来,看起来就像在同时做很多事。

这个想法在今天已经普通得不能再普通了。你的手机、电脑、平板,每一台设备都在用这个技术。但在1950年代,这是一个突破。

IBM采纳了这个技术,用在了他们的操作系统里。科德的名字没有出现在任何宣传材料上,他不在意。

他在意的是另一件事。

5. 回到校园

在IBM工作了几年之后,科德发现自己的知识不够用了。

他懂数学,懂编程,但他不懂计算机科学——因为当时还没有“计算机科学”这个学科。他想系统地学习计算机的理论基础,而不是只会写代码。

1965年,他申请了密歇根大学的博士项目,被录取了。他的导师叫阿瑟·伯克斯,是冯·诺依曼的学生,计算机逻辑设计领域的先驱。

科德选的博士研究方向,出乎所有人的意料——细胞自动机

细胞自动机是一种离散的数学模型。你有一个网格,每个格子是一个“细胞”,每个细胞有几种状态(比如“生”或“死”)。然后你设定几条简单的规则,比如“如果一个细胞周围有3个活细胞,它就活下来;如果有2个,它就维持原状;其他情况它就死掉”。然后你让这个系统自己演化。

规则很简单,但演化出来的行为极其复杂。有些图案会稳定下来,有些会周期性地重复,有些会无限蔓延,有些会自复制——像生命一样。

这就是“康威生命游戏”的前身。也是后来复杂科学、人工生命、甚至人工智能的重要思想来源。

科德的博士论文题目是《细胞自动机》。他在论文里研究了自复制、自组织、从无序中涌现秩序的现象。

你发现了吗?这和后来他做的事情,其实是同一件事——

如何在混沌中找到规律,如何用简单的规则生成复杂的结构。

他的博士导师后来回忆说:“泰德(科德的昵称)是我见过的最有数学直觉的人。他看问题的角度和别人不一样。别人看到的是数据,他看到的是数据之间的关系。”

1965年,科德获得了密歇根大学的计算机科学博士学位。那一年,他42岁。

42岁,博士刚毕业,大多数人已经过了职业生涯的顶峰。科德的顶峰,还远没有到来。


二、一张桌子改变世界

1. 圣何塞的阳光

1967年,科德回到了IBM。这一次,他去的不是纽约总部,而是加州的圣何塞研究实验室。

圣何塞在硅谷的中心。那时候还没有“硅谷”这个名字,只有果园、棕榈树和一条叫El Camino Real的旧公路。斯坦福大学在旁边,弗雷德里克·特曼教授正在鼓励他的学生们创办公司——其中有两个学生叫威廉·休利特和大卫·帕卡德。

科德的办公室不大,有一扇窗,窗外是一棵老橡树。他每天早晨七点到,先泡一杯茶——英国人离不开茶——然后坐到黑板前,拿起粉笔。

他在想一个困扰了他很多年的问题:数据到底应该怎么存放?

2. 迷宫里的数据

当时的数据库主要有两种模型:层次模型和网状模型。

层次模型像一棵倒挂的树。最上面是根,下面是分支,再下面是叶子。每一个节点只有一个父节点,但可以有多个子节点。这个模型很直观——一个公司有多个部门,一个部门有多个员工,一个员工有多个任务。树状结构符合很多现实场景。

但问题在于:树是僵硬的。

如果你想查询的数据不在同一条树枝上,你就得爬完整棵树。比如,你想知道“哪些员工和哪些客户有共同的联系人”,在层次模型里,你可能要遍历好几棵树,然后在内存里手动做匹配。笨拙,而且慢。

网状模型更灵活一些。它允许一个节点有多个父节点,信息之间可以形成网状的连接。你可以从一个节点出发,沿着任意一条连接走到另一个节点。

但问题在于:网状模型太灵活了。

你得事先知道所有的“路径”——就像你在一个陌生的城市里开车,没有导航,没有路牌,你必须记住每一条路怎么走。如果你想走一条新的路,你得修改数据库的结构。

科德觉得,这两种模型都违背了一个基本原则:查询的复杂度不应该由数据的存储方式决定。

他的意思是:你作为用户,只关心“我要什么”,不关心“它在哪里”。就像你去图书馆借书,你只需要告诉图书管理员书名,不需要亲自走进库房、爬上梯子、在一排排书架中间翻找。

但当时的数据库系统,恰恰要求用户知道“怎么找”。

3. 粉笔落在黑板上

图片
(图片来源:AI生成)

1969年的一个下午。圣何塞的天气很好,阳光从窗户斜射进来,照在黑板上,粉笔灰在光柱里缓缓飘落。

科德在黑板上画了一张表。

他把表叫做“关系”。因为数学里,“关系”这个词指的是集合之间的笛卡尔积的子集——简单说,就是把一组值按照某种规则配对。但在科德的用法里,“关系”更接近日常语言中的“表格”。

他画的第一张表是这样的:

员工编号
姓名
部门
工资
001
张三
销售
5000
002
李四
技术
6000
003
王五
销售
5500

他又画了第三张表:

部门
经理
办公地点
销售
赵六
A座3楼
技术
钱七
B座2楼

然后他用粉笔在两张表的“部门”列之间画了一条线。

——就这么简单。

如果你想查“张三的经理是谁”,你不用遍历树,不用走网状路径。你只需要:先在员工表里找到张三,读出他的部门“销售”;然后在部门表里找到“销售”,读出经理“赵六”。

两个步骤,没有爬树,没有绕路。

如果你想知道“A座3楼的所有员工”,也只需要两步:先在部门表里找到“A座3楼”对应的部门“销售”;然后在员工表里找到所有部门为“销售”的员工。

这个操作叫“连接”(JOIN)。它是关系模型最核心的操作,也是后来SQL语言最常用的关键词之一。

4. 数学的温柔

科德之所以用“关系”这个词,不是随意选的。它来自数学的一个分支——集合论,更具体地说,是关系代数。

关系代数定义了几个基本操作:选择(选出符合条件的行)、投影(选出指定的列)、连接(把两张表按某个列拼在一起)、并集、差集、笛卡尔积……

这些操作有一个共同的特点:输入是表,输出也是表。

这意味着你可以组合它们。一个操作的结果可以成为另一个操作的输入。就像乐高积木,你可以把小块拼成大块,大块拼成更大的块。

更重要的是,这些操作有严格的数学定义。你可以证明它们是正确的,你可以推导出它们的性质,你可以优化它们而不改变结果。

这就是数学的温柔之处。它不依赖运气,不依赖经验,不依赖“我觉得这样应该行”。它依赖证明。

科德后来常说一句话:“如果你想和计算机对话,用数学是最省力的方式。”

5. 那篇后来成为圣经的论文

1970年,科德完成了他的论文。标题很长,叫《大型共享数据库的关系数据模型》。他投给了IBM内部期刊,编辑们犹豫了一下——太理论了,太超前了——但还是发表了。

论文的开头是这样的:

“未来的用户将面对越来越庞大的共享数据库。他们需要一种能够提供数据独立性、数据完整性、以及灵活查询能力的数据库管理系统。本文提出了一种基于关系的数据库模型,旨在满足这些需求。”

全文共47页。里面有大量的数学符号——关系、元组、域、规范化、范式。读起来不像计算机论文,更像数学论文。

当时能读懂这篇论文的人不多,能理解它重要性的人更少。

IBM的一位高管读了之后,在内部备忘录里写道:

“这个模型在数学上是优雅的,但它不实用。性能太差,无法在真实环境中运行。”

这位高管不是故意刁难。他的判断在当时是有道理的——1960年代末的计算机硬件,磁盘慢,内存小,CPU弱。关系模型的连接操作需要扫描多张表,在当时的硬件上确实跑不快。

科德知道这个问题的存在。他没有回避。他在后续的论文里花了大量篇幅讨论“查询优化”——如何把用户写的一个查询,自动转换成最快的执行方式。

这是一个极其困难的问题。因为同一个查询,可以用几十种不同的方式执行。有的快,有的慢。计算机需要自动选择最优的那一种。

科德没有解决这个问题。但他指出了问题在哪里,给出了解决的框架。后来的研究人员在这个框架里填满了内容——B+树、哈希连接、排序合并连接、动态规划、代价估算……这些技术今天仍然在每一个数据库里运行。

6. 被忽视的十年

1970年到1980年,是科德一生中最漫长的等待。

他的论文发表了,学术界有人开始关注。但工业界——尤其是IBM——迟迟没有动作。

为什么?

有两个原因。

第一,IBM当时有一个很赚钱的产品叫IMS,是层次数据库。IMS卖得很好,客户很满意。公司为什么要投资一个全新的、未经证明的技术,去和自己现有的产品竞争?这叫“创新者的窘境”——成功的企业往往不愿意颠覆自己。

第二,关系数据库的早期原型确实跑得慢。IBM在圣何塞实验室启动了一个叫“System R”的研究项目,目标是实现关系数据库。项目进展缓慢,性能测试结果不理想。这进一步强化了高管的疑虑:看,我们早说了,这东西不实用。

科德没有被调离,没有被解雇,没有被边缘化,他只是被忽视了。

他的办公室还在,黑板还在,粉笔还在。每天早晨七点,他还是准时到,泡一杯茶,坐下来,继续写。

他写了很多论文。他提出了“规范化理论”——教人们如何设计好表。第一范式、第二范式、第三范式、BC范式……这些名词今天每一个学数据库的学生都要背。它们的源头都在科德的粉笔下。

他还提出了“十二条规定”——一个数据库系统要被称为“关系数据库”,必须满足的十二条标准。这些规定后来被称为“科德的12条规则”。

第0条是基础:系统必须能够完全通过关系来管理数据。第1条到第11条讲了信息表示、数据独立性、完整性、视图更新、物理独立性、逻辑独立性……每一条都很具体,每一条都很严格。

他写这些规则,不是为了炫耀。他是为了给行业一个标准——你说你是关系数据库,那好,请证明给我看。

7. 种子在别处发芽

1977年,一个叫拉里·埃里森的年轻人读到了科德的论文。他在一家叫Ampex的公司工作,负责一个为CIA做的数据库项目。他读了科德的论文,激动得睡不着觉。

他发现,IBM的System R项目已经证明关系数据库在技术上是可行的。但IBM没有把它变成产品。

埃里森决定自己来做。他和两个合伙人凑了2000美元,在加州成立了一家公司。公司名叫“甲骨文”——Oracle。

两年后,他们发布了世界上第一个商业关系数据库。IBM直到1981年才发布自己的DB2。

埃里森后来成了亿万富翁。他每次接受采访,都会提到科德。他说:“没有科德,就没有甲骨文。没有甲骨文,就没有后来的企业软件产业。”

科德听说了这件事。他的反应是什么?

他笑了笑。

他没有抱怨IBM错过了机会。没有说“我早就告诉过你们”。他只是继续写他的论文。

他后来在采访中说:“科学家的任务不是做产品。科学家的任务是发现真理。产品是工程师的事情。”

这句话,他说得很平静。


三、漫长的等待与十二块石头

1. 孤岛上的园丁

图片
(图片来源:AI生成)

如果把1970年代的数据库界比作一片大海,科德就是一座孤岛上的园丁。

他种下的种子,在岛上慢慢发芽。他浇水,施肥,除草。他看着幼苗一天天长高,但岛上只有他一个人。

偶尔有船经过,船上的人远远望见这座岛,说:“哦,那个搞关系模型的人。”然后船就走了。

但科德不觉得孤独。他有数学,数学是他的伴侣。

他每天早上七点走进办公室,泡一杯英式红茶——茶包从英国寄来,他的妹妹每三个月寄一次——然后坐到黑板前。粉笔在指尖磨出茧子,他不介意。

他在想一个问题:如果用户不关心数据的物理存储方式,那数据库系统应该怎么自动选择最优的查询路径?

这个问题的本质是:如何在几十种可能的执行计划中,找到最快的那一个?

科德提出了一个框架:把查询转换成一种叫“关系代数表达式”的数学形式,然后通过一系列等价变换,找到最优的表达形式。

这个框架后来发展成了“查询优化器”。今天每一个数据库——MySQL、PostgreSQL、Oracle、SQL Server——都有一个查询优化器。当你在键盘上敲下“SELECT * FROM employees WHERE salary > 5000”的时候,数据库系统会在毫秒级别内,评估几十种甚至上百种执行计划,选择最优的那一种。

你不知道这个过程,你不应该知道,你只需要结果。

这就是科德说的“数据独立性”。

2. 诺贝尔奖

1981年,图灵奖评委会决定将当年的奖项授予科德。

图灵奖是计算机科学领域的最高荣誉,被称为“诺贝尔计算机奖”。科德是第16位获奖者。在他之前获奖的有艾伦·佩利、艾兹格·迪科斯彻、唐纳德·克努特——每一个都是殿堂级的人物。

颁奖典礼在纽约举行。科德穿着西装,系着领带,头发已经花白。他走上领奖台的时候,全场起立鼓掌。

他的获奖演讲没有讲数据库,他讲的是——细胞自动机。

他说:“我在1960年代研究细胞自动机的时候,学到的最重要的一课是:简单的规则可以产生复杂的结构。这让我后来思考数据库的时候,一直在寻找最简单的规则。”

他停顿了一下,又说:“数学的美在于它的简洁。一个漂亮的公式,通常也是正确的公式。”

演讲结束后,有人问他:“你觉得自己最大的贡献是什么?”

他想了一会儿,说:“我只是告诉人们,数据可以是美丽的。”

这句话后来被刻在了他的墓碑上。

3. 十二条规则

在获得图灵奖之后,科德的工作被更多人看到了。但他发现一个问题:很多厂商开始宣称自己的产品是“关系数据库”,但实际功能差得很远。

有的数据库只支持最简单的表结构,不支持连接。有的数据库不支持数据完整性约束。有的数据库的“关系”只是表面功夫,底层还是网状模型。

科德觉得这是对“关系”这个词的滥用。

1985年,他发表了《关系数据库管理系统是否真正关系?》一文,提出了十二条规定

这十二条规则不是法律,而是准绳。你可以用它们来测量一个数据库系统的“关系程度”。

比如第3条:系统必须支持视图——用户看到的表可以是虚拟的,不一定是实际存储的。第5条:系统必须有一种语言,支持数据定义、查询、修改、完整性约束和事务处理。第6条:所有可更新的视图必须支持更新操作。

最著名的是第0条——不是第1条,是第0条。科德说,第0条是所有规则的基础:系统必须能够完全通过关系来管理数据。

这意味着:你不能在关系数据库里偷偷藏一个层次模型或者网状模型,让用户在某些情况下绕开关系。一切都必须是关系。

这些规则后来被广泛接受。数据库厂商们开始认真对待“关系”这个词。没有人愿意被说成“不符合科德的规则”。


四、他为AI准备好了厨房

1. 两条河流的汇合

现在,让我们把视线从1970年代移开,看向另一条河流。

那条河流叫“人工智能”。它的源头可以追溯到1956年的达特茅斯会议。麦卡锡、明斯基、香农、西蒙、纽厄尔——一群年轻的天才聚在一起,讨论一个大胆的问题:能不能让机器思考?

这条河流在最初的十几年里,水流湍急,充满希望。人们觉得十年之内就能造出会思考的机器。

然后冬天来了。

1970年代到1980年代,人工智能经历了两次“寒冬”。人们发现,让机器思考比想象中难得多。逻辑推理可以模拟,但常识无法编码。机器可以下棋,但听不懂“把球放在桌子上”这样简单的话。

为什么AI会陷入寒冬?有很多原因。其中一个很重要的原因是:数据不够。

当时的AI系统靠的是人工编写的规则。专家们把知识一条一条敲进计算机。这个方法的瓶颈很明显——世界上有多少条规则?一个人能敲多少条?两个人能敲多少条?一个团队能敲多少条?

永远不够。

1980年代末,AI研究者们开始换一个思路:与其教机器规则,不如让机器自己从数据中学习。

这就是“机器学习”。

而机器学习需要数据。大量的数据,海量的数据,像山一样高的数据。

这时候,科德的那条河流,和AI的这条河流,开始靠近了。

2. 数据就是食物

AI是怎么学习的?

想象你教一个孩子认猫。你不会给他讲“猫的生物学定义”。你会给他看很多猫——橘猫、黑猫、胖猫、瘦猫、坐着的猫、跑着的猫。看多了,他就认识了。

机器学习也是这样。你需要给算法成千上万、甚至上亿个例子。每一个例子都是一个数据点。这些数据点存放在哪里?

存放在数据库里。

具体来说,存放在关系数据库里。

一个典型的机器学习数据集,在数据库里长这样:

用户ID
年龄
性别
消费金额
购买品类
是否点击广告
001
25
300
电子产品
002
34
1200
服装
003
42
85
食品

每一行是一个样本,每一列是一个特征。最后一列是标签——你要预测的目标。

这张表,就是科德1970年在黑板上画的那种表。

3. 数据科学家的日常

今天,一个数据科学家的工作流程大致是这样的:

  • 从业务系统里提取数据。通常要写SQL查询——SELECT * FROM orders WHERE date > '2023-01-01'。

  • 清洗数据。处理缺失值、异常值、重复值。还是用SQL——UPDATE customers SET age = NULL WHERE age < 0。

  • 特征工程。把原始数据转换成适合模型的形式。依然可以用SQL——CREATE VIEW features AS SELECT age, gender, CASE WHEN amount > 100 THEN 'high' ELSE 'low' END AS spending_level FROM ...。

  • 训练模型。这一步用Python或R,但数据还是从数据库里来的——df = pd.read_sql("SELECT * FROM features", connection)。

  • 部署模型。模型做出预测后,结果要写回数据库——INSERT INTO predictions VALUES ...。

你看,每一步都离不开关系数据库。数据科学家一天的工作,有一半时间在写SQL。

科德不知道“数据科学家”这个词。他去世的时候,这个职业还不存在。但他画的那些表,每一张都在为这个职业打底。

4. 当AI开始吃不一样的食物

2010年以后,深度学习爆发了。

和传统机器学习不同,深度学习的“食物”不只是表格里的数字。它吃图片、吃语音、吃文本、吃视频。这些是非结构化数据——它们不适合被放进规规矩矩的行和列里。

一张图片怎么放进表里?一列放像素值吗?一张1920×1080的图片有200多万个像素,每个像素有RGB三个值——600多万个数字。一张表放不下一张图。

一段文字怎么放进表里?一列放词吗?一篇文章有几千个词,每个词有几百个可能的含义——放不进去。

关系数据库遇到麻烦了。

于是出现了新的数据库类型:文档数据库(MongoDB)、键值数据库(Redis)、图数据库(Neo4j)、时序数据库(InfluxDB)、向量数据库(Pinecone、Milvus)……

这些数据库放弃了关系模型的部分约束,换取了更大的灵活性和扩展性。它们被称为NoSQL数据库——Not Only SQL,不只有SQL。

科德会怎么看这些“背叛者”?

我没有确切的答案。但我猜,他不会生气。

因为科德从来不是一个教条主义者。他的12条规则不是用来打压人的,是用来指方向的。他追求的核心不是“表”这个形式,而是数据独立性和数学的严谨性。

NoSQL数据库在很多场景下放弃了关系模型的严谨性,但它们是出于实际考虑。科德是数学家,也是工程师。他懂得权衡。

更重要的是,科德种下的那颗种子已经长成了森林。关系模型是森林里最高大的那棵树,但森林里还有其他的树。它们共享同一片土壤——那片叫“数学”的土壤。

5. 向量数据库与AI的最后一公里

2023年,也就是科德去世整整20年后,一种新的数据库开始流行——向量数据库。

向量是什么?

你可以把向量理解成一串数字,代表一个事物的“特征”。比如,“猫”这个词可以被转换成一个256维的向量——256个数字,挤在一行里。相似的词,向量也相似。“猫”和“猫咪”的向量很近,“猫”和“汽车”的向量很远。

深度学习模型把图像、文字、声音都转换成向量。然后你在向量数据库里做“相似性搜索”——给我找10个和这张图片最像的图片。

这就是推荐系统、人脸识别、以图搜图的底层原理。

向量数据库和关系数据库是什么关系?

不是替代,是补充。绝大多数AI系统同时使用两者:关系数据库管理用户账户、交易记录、日志信息;向量数据库管理嵌入向量,做相似性搜索。它们之间经常要连接——SELECT * FROM users JOIN vectors ON users.id = vectors.user_id WHERE ...

科德当年的“连接”,今天还在连接。


五、晚年的河流

1. 离开IBM

1990年,科德67岁。他从IBM退休。

退休的时候,他的办公室里堆满了论文、书籍和笔记本。粉笔灰在角落里积了厚厚一层。那块他用了几十年的黑板,写满了擦、擦了写,表面已经发灰,再也擦不干净了。

他收拾东西的时候,从抽屉里翻出一张老照片。照片上是年轻的他,穿着飞行夹克,站在一架战斗机旁边。他看了很久,把照片放进了口袋。

他没有在IBM开退休派对,他不喜欢那种场合,他只是安静地走了。

2. 关系研究所

退休后,科德没有闲着。

他和妻子(也是一位计算机科学家)共同创立了“关系研究所”。研究所的目标是推广关系数据库的理念,培训专业人才,提供咨询服务。

他在研究所里开课。课程内容从关系代数到规范化理论,从查询优化到事务处理。来上课的有IBM的员工,有其他公司的工程师,有大学的研究生。

他的教学风格很独特。他不喜欢PPT,不喜欢投影仪。他喜欢粉笔和黑板。每次上课,他都从最简单的例子开始,一步一步推导,从不跳过任何逻辑环节。

有学生问他:“科德博士,你怎么记住这么多数学公式?”

他笑了笑,说:“我不记公式。我记推导过程。公式记不住,过程记住了,公式自然就出来了。”

3. OLAP与智能的另一侧面

1993年,科德70岁。这一年,他发表了一篇题为《为终端用户提供联机分析处理(OLAP)》的论文。

OLAP是什么?

简单说,就是“多维分析”。你用数据库存了一堆销售数据——按时间、按产品、按地区、按客户。现在你想问:2023年华东地区手机品类的销售额是多少?这个问题的答案不是一张简单的表,而是一个“立方体”——时间是一维,产品是一维,地区是一维,客户是一维。你需要在多个维度上做切片、切块、旋转、上钻、下钻。

OLAP是数据仓库和商业智能的核心技术。它帮助企业管理层做决策——哪个产品卖得好?哪个区域需要增加投入?哪个月的促销效果最好?

科德又写了十二条定律——是的,又是十二条。这十二条定律定义了什么是“真正的OLAP系统”。

有意思的是,OLAP后来和人工智能结合了。数据仓库里存放的历史数据,是训练预测模型的最佳原料。你想预测下个月的销售额?先查OLAP,再看模型。

科德始终相信,数据的最终目的是帮助人们做更好的决策。他不是为了技术而技术,他是为了人。

4. 帆船与海

(图片来源:AI生成)

退休后的科德,把更多时间花在了帆船上。

他在旧金山湾停了一艘小帆船,白色的,不大,刚好够两个人出海。天气好的时候,他会驾船出海,一出去就是一整天。

海上的生活很简单。风来的时候,调整帆的角度。风停的时候,就漂着。远处的金门大桥在雾里若隐若现,海狮趴在浮标上晒太阳,偶尔有鲸鱼喷出水柱。

他喜欢这种状态。不是征服,不是对抗,是顺应。风来了就走,风停了就停。你不可能让风按你的意愿吹,你只能调整帆。

这和他对待数据库的态度一模一样。

5. 最后一课

2002年,科德79岁。他的身体已经不太好了。心脏有问题,走路需要拐杖。但他还是坚持去了关系研究所,给最后一批学生上了最后一堂课。

那堂课的内容很简单。他在黑板上写了一个问题:什么是信息?

教室里安静了一会儿。学生们开始回答——数据、知识、数字、事实。科德摇摇头。

他在黑板上写:

数据是符号,信息是有意义的符号,知识是可以指导行动的信息,智慧是知道什么时候该用知识的判断。

他说:“我做了一辈子数据库。数据库存的是数据。但人们真正想要的是信息、是知识、是智慧。数据只是第一步,不要忘了这一点。”

下课的时候,学生们鼓掌。他拄着拐杖,慢慢走出了教室。

他没有再回来。

6. 最后的航程

2003年4月18日,科德在佛罗里达州的家中去世。心脏病发作,走得很平静。

他的妻子在他身边。他的三个孩子从各地赶回来。IBM发了讣告,ACM发了悼文,全球的数据库社区都在哀悼。

他被安葬在加州帕洛阿尔托的一个小墓园里。墓碑上刻着他自己的那句话:“数据可以是美丽的。”

墓碑的旁边,种了一棵橡树。那是他生前选的树种。橡树长得慢,但活得久。一百年后,它会在那里,像一个沉默的哨兵。


尾声:那个备菜的人

(图片来源:AI生成)

AI的舞台上,灯光很亮。

聚光灯打在算法身上。Transformer、BERT、GPT、Diffusion——这些名字像星星一样挂在技术的夜空里,闪闪发光。

聚光灯也打在算力身上。英伟达的GPU、谷歌的TPU、亚马逊的Trainium——这些芯片像心脏一样跳动,为每一次推理提供血液。

聚光灯还打在那一个个里程碑式的时刻上。AlphaGo战胜李世石,GPT-3写出像模像样的文章,Stable Diffusion画出以假乱真的图片。每一次突破都登上头条,每一个名字都被记住。

人们鼓掌,惊叹,说它们真聪明。

很少有人注意到,舞台旁边,有一扇小小的门。

门后面是一间厨房。厨房里有一张长桌,桌上摆着砧板和菜刀。墙角堆着新鲜的食材,每一种都洗得干干净净,切得整整齐齐,分门别类地装在贴着标签的盒子里。胡萝卜切成滚刀块,洋葱切成细丝,大蒜剁成末,姜切成片——每一份都码放得一丝不苟。

那个备菜的人已经走了。

他穿着旧格子衬衫,头发花白,手指修长,指甲剪得很短。他习惯在清晨走进厨房,打开灯,安静地开始一天的工作。他不说话,不开收音机,不哼歌。他只做事。

他把土豆去皮,把胡萝卜切块,把洋葱剥好。他不做菜,他不上桌,他不站在聚光灯下。

他只是备菜。

但他知道,没有这些菜,再好的厨师也无从下手。没有这些规整的、干净的、新鲜的食材,再华丽的烹饪技巧也只是空中楼阁。

他的名字叫埃德加·弗兰克·科德。

人们叫他“关系数据库之父”。这个称呼太硬了,像一块碑文。它只说了他做了什么,没说他是什么样的人。

他是什么样的人?

他是一个飞过战机的英国人,一个在黑板前画表格的数学家,一个在IBM实验室里默默等了十年的程序员,一个被忽视却从不争辩的温和灵魂,一个相信数学可以解释世界的理想主义者,一个认为数据可以像诗一样美的人。

他是人工智能身后,那个沉默的备菜人。

他没有发明火,但他建好了灶台。

他没有写下菜谱,但他洗净了每一棵菜。

他是数字世界里,最安静的厨师长。


终章:可以记住的几件小事

最后,讲几件关于科德的小事。它们没有写进正史,但我觉得值得记住。

第一件:科德一生不爱用电脑。你没看错——发明关系数据库的人,不爱用电脑。他写论文用笔和纸,做计算用计算器,发邮件让秘书帮忙。他的办公室里有一台终端,但很少碰。他说:“机器是用来思考的工具,不是用来替代思考的。”

第二件:科德不太会演讲。他的讲座内容很深,但声音很轻,语速很慢,偶尔会卡住。有时候他在黑板上写了一大段公式,转过身来,发现一半学生在打瞌睡。他不生气,只是笑了笑,说:“这部分确实比较枯燥。”然后继续讲。

第三件:科德晚年收到过很多信。有学生写的,有工程师写的,有素不相识的人写的。大多数人感谢他——因为他的工作让他们的工作变得更容易。他会一封一封地回信,用手写,字迹工整,从不敷衍。

第四件:科德去世后,他的家人整理遗物时,发现了一个旧皮箱。皮箱里装的是他二战时期的飞行日志,泛黄的纸页上记录着每一次飞行的日期、地点、任务。最后一页的日期是1945年5月8日——欧洲胜利日。那一天他只写了一句话:

“任务完成。回家。”

他确实回家了。

从天空回到地面,从战争回到和平,从飞行回到数学,从代码回到表格。

他在这个圆圈的终点,画下了一个句号。

而AI的故事,才刚刚开始。


埃德加·弗兰克·科德

*1923.8.19 — 2003.4.18*

飞行员,数学家,程序员

秩序的诗人,AI的备菜人

“数据可以是美丽的。


02. 我的思考与感受

读完科德的故事,我坐在窗前想了很久。

让我动容的,不是他那篇划时代的论文,不是图灵奖,甚至不是他如何影响了整个AI时代。让我动容的,是那个画面——

一个前战斗机飞行员,在IBM的实验室里,对着黑板画表格,一画就是十年。没有人理解,没有人支持,甚至没有人理他。他每天早晨七点泡一杯英式红茶,拿起粉笔,继续画。

十年。

在这个追求“快速迭代”“敏捷开发”“三个月出成果”的时代,十年意味着什么?意味着你可能一辈子最好的光阴,都花在了一件当时看起来“没用”的事情上。

科德不是不知道这件事“没用”。他知道。他知道当时的硬件跑不动他的模型,知道公司不会投资他的想法,知道同行们在背后说他“走火入魔”,但他还是画了十年。

我想,这就是信仰和热爱的区别。热爱是“我喜欢做这件事,因为它让我快乐”。信仰是“我做这件事,因为它是对的——哪怕我活着的时候看不到结果”。

科德没有看到GPT,没有看到大模型,没有看到AI作画。但他种下的那颗种子,在他去世二十年后,还在生长。

另一个让我触动的细节是:他一生不爱用电脑。发明关系数据库的人,居然不爱用电脑。他用笔和纸写论文,用计算器做计算,让秘书帮忙发邮件。

这不是矛盾,这是清醒。他知道工具是做什么的——工具是为了让你更好地思考,而不是替代思考。当所有人都朝着“更快”“更大”“更炫”狂奔的时候,他停下来,问了一个最基本的问题:“数据到底是什么?”

这个问题,比任何算法都重要。

我想,科德教会我的,不是数据库,不是关系模型,不是SQL。他教会我的是:在喧嚣中保持安静的能力,在潮流中保持独立思考的勇气,以及在无人喝彩时继续画表格的耐心。

数据可以是美丽的。

人,也可以是。

03. 本期提问

基于科德的故事,我想问你:
在今天这个“快”成为唯一标准的时代,你愿意为一件“对的事”付出多久的耐心——哪怕没有人理解,哪怕看不到结果?

图片图片

文章精选:

1.强化学习之父、图灵奖得主 Sutton 隔空回应 图灵奖得主Hinton:目前的 AI “理解不足,调参有余”

2.警钟敲响!图灵奖得主Hinton 最新万字演讲:怒怼乔姆斯基、定义“不朽计算”、揭示人类唯一生路
3.警钟敲响!图灵奖得主Hinton 最新万字演讲:怒怼乔姆斯基、定义“不朽计算”、揭示人类唯一生路
4.图灵奖和诺贝尔奖双料得主杰弗里·辛顿:《AI和我们的未来》完整演讲视频+文字
5.图灵奖和诺奖双料得主辛顿最新演讲:别嘲笑AI“幻觉”,你的记忆本质也是一场“虚构”
6.图灵奖得主理查德·萨顿(Richard Sutton)最新演讲:大模型只是一时狂热,AI的真正时代还没开始
7.图灵奖得主Bengio预言o1无法抵达AGI!Nature权威解读AI智能惊人进化,终极边界就在眼前
8.图灵奖得主、强化学习之父Rich Sutton:大语言模型是一个错误的起点
9.图灵奖得主杨立昆:大语言模型缺乏对物理世界的理解和推理能力,无法实现人类水平智能
10.刚刚,Claude独立攻克图论猜想,仅用31步!算法祖师爷、图灵奖得主高德纳震惊发文