AI 的起源
在 1957年的一个春日,心理学家 弗兰克·罗森布拉特 将一系列打孔卡输入到 Mark I感知机 中,经过了 50 次的尝试后,Mark I 成功学会了区分左侧标记和右侧标记的卡片,那一刻,人工智能的梦想首次照进现实。
1958年7月,美国海军研究办公室正式公布了这项革命性发明,这项技术被命名为:感知机,又称感知器、感知元,英文名称为:Perceptron;该模型是世界上首个可通过训练进行模式识别的神经网络模型,将神经网络从理论推向了工程实践。
罗森布拉特对自己的发明充满激情,在一次公开演示后,他自信地宣称:"这台机器将能够行走、谈话、观察、书写,甚至拥有意识!"《纽约时报》更是以"第一台能够拥有人类思想的机器"为题进行报道,引发了全社会对人工智能的无限遐想。
当年 罗森布拉特 说出的这些话,到现在还没有完全实现,可见当时他也是夸大了很多的,实际上感知器的能力非常有限,它识别的图片有半米高,只有黑白两色,对于字母的识别率也只有 70%,而且只能识别单个字母,无法识别多个字母组成的单词。
技术不多聊,故事继续讲,在 1969年,麻省理工学院的 马文·明斯基 和 西摩·派普特 在他们的著作《感知机》中指出,单层感知机无法解决异或问题(XOR),这导致了对神经网络的兴趣急剧下降,进入了所谓的 "AI 冬天"。
AI 寒冬
无法解决异或问题的单层感知机被认为是一个重大缺陷,这意味着它没有逻辑运算能力,这个发现让人们对神经网络的前景感到失望,导致了资金和研究兴趣的急剧下降。
但是,AI 的发展并没有完全停滞,虽然神经网络受到了冷落,但其他领域的 AI 研究仍在继续,例如专家系统、逻辑推理和符号 AI 等。
1966年,麻省理工的 约瑟夫·魏岑鲍姆 教授开发了一个名为 ELIZA 的程序,它没有大脑,只有一堆精心设计的“替换规则”,当你输入“我很难过”时,它会机械地去掉标点,替换掉“我”和“你”,然后反问:“为什么你感到难过?”
魏岑鲍姆原本只想做一个简单的演示,结果却吓了自己一跳,就连他的秘书都深信不疑,对着这台冰冷的机器倾诉心事,甚至不愿让教授查看他们的对话记录,这是人类第一次集体陷入对规则式AI的幻觉。
这里是不是和我们现在有时候使用AI的感觉很像?有时候也经常看到一些报道,说AI像是有了自己的意识,AI会说谎,AI有自己的意识等等。
在随后的几十年里,这种“硬编码”的逻辑登峰造极,1980年,DEC公司推出了 XCON 专家系统,它像一本厚达2500条规则的百科全书。
如果你买了一台VAX电脑,它就会自动检查:“如果内存是512MB,且硬盘是RA90,那么必须配置#12345控制器”,这套系统每年为公司节省数千万美元,但也极其脆弱,一旦遇到规则之外的意外,它就彻底死机。
故事讲到这里,可以看到这个阶段的 AI 其实并不能算是智能,它更像是一个复杂的决策树,依赖于人类专家的知识和规则来做出判断,而不是通过学习和适应来解决问题。
AI 的复兴
到了 1986年,神经网络的研究迎来了新的突破,大卫·鲁姆哈特、杰弗里·辛顿 和 罗纳德·威廉姆斯 发表了关于反向传播算法的论文,这使得多层神经网络的训练成为可能,极大地提升了神经网络的性能。
1998年,卷积神经网络(CNN)登场,杨·勒丘恩在贝尔实验室展示了 LeNet-5,当时办公室旁边的ATM机给了他灵感,他让这个网络学会了识别支票上的手写数字,那是AI第一次真正走出实验室,悄无声息地渗透进了我们的金融系统。
2012年,辛顿的学生 亚历克斯·克里泽夫斯基 带着 AlexNet 横空出世,在 ImageNet 大赛中,这个使用了两块显卡训练的庞然大物,将图像识别错误率从 26% 骤降至 15% 。那一刻,全世界都听到了冰层破裂的声音,深度学习时代正式来临。
卷积神经网络这个名称很多人应该都听过,但是它实际上是一个90后,还有一个90后,循环神经网络(RNN),它是由 1997年由 塞普·霍赫赖特 和 于尔根·施密德胡伯 提出的,当时受限于算力和数据,当时并未大放异彩。
RNN 的故事放在后面讲,故事继续往下,AI 下一步如何发展,棋局上见分晓。
AI 爆发
大家最直观感觉到 AI 爆发的时间是 2022年底 ChatGPT 发布,紧接着各大厂商纷纷推出自己的大语言模型,各种 AI 应用层出不穷,实际上 AI 爆发点要更早。
1997年,IBM 的深蓝(Deep Blue)击败了当时的国际象棋世界冠军 加里·卡斯帕罗夫,这被认为是 AI 在棋类游戏领域的一个重要里程碑。
深蓝 并不是靠智慧取胜的,它是通过暴力计算来评估棋盘上的每一个可能的走法,深蓝每秒可以算出 2亿 个棋步,这种计算能力在当时是无与伦比的,虽然它没有真正的智能,但它展示了计算机在特定领域可以超越人类的潜力。
2016年,谷歌的 AlphaGo 击败了围棋世界冠军 李世石,这次 AI 不是靠暴力计算取胜的,它背后的技术是深度学习和强化学习的结合,AlphaGo 通过大量的自我对弈来学习围棋策略,最终达到了超越人类的水平。
在棋局上的对弈,AI 展现了它的强大,之后 AI 就跳出了棋盘,AI 的进化速度开始按小时计算。
2017年,Google 团队发表了划时代的论文《Attention Is All You Need》,提出了 Transformer 架构,这就像发现了原子能,从此AI不再需要一步步读句子,而是可以同时看到整段话的所有重点。
2022年底,ChatGPT 发布,整个世界沸腾了,人们突然发现,屏幕对面的不再是一个只会下棋或识图的程序,而是一个似乎什么都知道的“伙伴”。
紧接着,各大科技公司纷纷推出自己的大语言模型,微软的 Bing Chat、谷歌的 Bard、Meta 的 LLaMA 等等,AI 应用层出不穷。
插曲
回到上面说的 循环神经网络(RNN),早在 1980年代,RNN 就被提出了,它厉害的地方在于可以将准备输出的内容重新再作为自己的输入,就像是你想说出来口的话先不说,斟酌修饰一下再说,但是它就像是刚出生的婴儿,根本就记不住不住太久的事情。
后来在 1997年,长短期记忆网络(LSTM)被提出,这就像是给 RNN 装上了一个记忆芯片,让它能够记住更长时间的信息,但是当年的算力和数据限制了 LSTM 的发展。
直到 2010 年初,那时候,iPhone 刚刚普及,语音助手 Siri 上线,你的一句“嘿 Siri”,唤醒了 RNN 对语音理解的统治地位,它是那个时代 AI 理解语言的唯一方式。
不过它有一个致命的缺点,它必须一字一句地串行处理数据,这就像是你在读一本书的时候只能一行一行地读,无法跳过不重要的部分,这种处理方式在面对长文本时效率极低。
为了解决这个问题,2017年,Transformer 架构被提出,它引入了自注意力机制,使得模型能够同时关注输入序列中的所有位置,这就像是你在读一本书的时候可以同时看到整页的内容,快速找到重点信息。
这里的插曲对应这上面提到的 Transformer 的诞生,从这再之后的故事大家也都很熟悉了,毕竟是我们正在经历的时代,AI 的发展速度已经快到让人应接不暇了。
AI 的进化
最早引爆 AI 技术的就是 ChatGPT,不同于只会下棋的 AI,ChatGPT 是一个通用的语言模型,我们突然可以和 AI 进行对话了,虽然早期一直被诟病它的回答不准确,但它的潜力已经显现了出来。
随后 AI 开始疯狂进化,从 2018 - 至今,基于Transformer架构的大语言模型(LLM)成为新一代AI的核心。
围绕着 LLM,出现了不少的新概念,搞得人眼花缭乱,再加上各种自媒体的宣传,很多人都开始焦虑,我这个还没开始学怎么又出现新的技术了?
今天就来梳理一下这些概念,扒一扒这些概念高级感外衣,看看它们的本质是什么。
省流:下面的内容可以不用看,直接看最后的汇总就好了,前面只是简单的介绍概念,内容也不够深入,不想看的可以直接跳到最后的汇总部分。
LLM(Large Language Model)
LLM 是我们经常听到的名词,也称为大模型,全称大语言模型,那在没有大模型之前,它叫什么呢?它叫语言模型(Language Model)。
可以看到就是多了一个“大”字,主要体现在参数量的增加,还有模型大小、训练数据和计算资源的增加,变大了就得取个新的名字了,那就在前面加个“大”字吧。
这样来看是不是发现 LLM 这个名称好像也不特殊了。
Prompt
Prompt 直译过来就是提示的意思,所以也叫它提示词,它的本质就是一段文本,也是大模型的输入参数,这一点后面会反复强调。
Prompt 大家其实都很熟悉了,早期还出现过“提示工程师”这个职业传说,也不知道是真是假,我也没去考究,这里我就不展开了。
Agent
Agent 这个词在 AI 领域有很多不同的含义,最常见的就是指智能体,或者说是一个能够自主行动和决策的系统。
使用过 Coze 或者 dify 这类基于大语言模型的工具的人肯定对 Agent 这个概念不陌生了,实际上 Agent 就是一个基于大语言模型的应用程序,它能够根据用户的输入和环境的变化,自动执行一系列的任务和操作。
扒开外衣来看,Agent 的核心就是使用多个不同的处理器来完成不同的任务,再简单一点可以看下面的一个天气查询的 Agent 的工作流程:
- 接收用户输入: 今天的天气怎么样?
- 调用大语言模型进行理解和分析,理解用户的意图是查询天气信息,输出预设的天气查询指令
- 调用天气查询处理器,执行天气查询指令,获取当前天气信息
- 将天气信息返回给大语言模型,生成自然语言的回复
- 将回复发送给用户: 今天的天气是晴朗,温度25度。
用户直观看到的是我在对话框中输入了一个问题,AI 给了我一个答案,但实际上在这个过程中,AI 还调用了其他的处理器来完成查询天气的任务,这就是 Agent 的工作原理。
现在爆火的很多工具其实都是 Agent 的应用,例如大家现在常用的工具 Claude、TRAE、OpenClaw 等等,都是 Agent 的应用。
在这里我先加一个免责申明,Agent 这个概念在 AI 领域有很多不同的定义和理解,不同的人可能会有不同的看法和解释,我仅仅站在我自己的角度和理解,为大家梳理一下这个概念,可能不够全面或者准确,例如 TRAE 可能更加官方的解释是 AI IDE,内置一些什么 Agent,不能纯属 Agent,理性看待这个概念就好。
MCP(Model Context Protocol)
MCP 翻译过来是“模型上下文协议”,是由Anthropic推出的开源协议,旨在规范和促进大语言模型的使用和发展。
看名词好牛好牛的样子,实际上它就是一个协议,约定了大语言模型在使用过程中应该遵循的规则和标准,类似于我们平时使用的 HTTP 协议或者 TCP/IP 协议一样,是为了让不同的系统能够更好地协同工作。
如果把 MCP 看作是 HTTP 协议的话,平时工作也不需要懂 HTTP 协议的细节,使用通用的 API 就可以了,所以不要被这个名字吓到。
MCP 的主要作用其实是为了给大模型提供数据,规范只是为了统一数据的格式和传输方式,例如早期的电子产品一样,每种产品都有自己的充电头,后来有人发明了万能充,直到现在充电线都分 Type-A、Type-C 和 Lightning,由此可见规范有多么重要了。
回归正题,大模型只是基于自己的训练数据来生成回复的内容,对于不知道的内容,它只能根据自己的训练数据来猜测,所以MCP的作用就是为大模型提供更多的上下文信息,让它能够更准确地理解用户的意图和需求,从而生成更有用的回复。
Context(上下文)
上面正好说到了上下文这个概念,别被这个词吓到,实际上它就是指在对话或者交互过程中,用户输入的内容以及之前的对话历史,这些信息对于大语言模型来说都是非常重要的,因为它们能够帮助模型更好地理解用户的意图和需求。
例如,当你在和一个聊天机器人对话时,如果你之前提到过你喜欢吃披萨,那么当你再次提到食物时,模型就可以根据之前的上下文信息来推断出你可能想要吃披萨,而不是其他的食物。
Memory(记忆)
上面刚好又提到之前的对话历史,这就涉及到了记忆这个概念,记忆在 AI 领域通常指的是模型能够保存和利用之前的对话历史或者用户信息,以便在后续的交互中提供更个性化和相关的回复。
如果我把每轮对话都记录下来,然后塞到模型的输入中,这样模型是不是就拥有了记忆了?于是就有了 Memory 这个名称。
实际上还是上面提到的 Context 的概念,如果将每轮对话都保存在本地,于是持久化记忆这个名词就产生了,这样讲是不是突然就不复杂了。
RAG(Retrieval-Augmented Generation)
RAG 翻译过来是“检索增强生成”,这个名字听起来很学术,但其实原理非常直观。
在 RAG 出现之前,大模型就像一个博学但记忆力有限的“书呆子”,它虽然读过海量书籍(训练数据),但记不住所有细节,而且它不知道你电脑里的私有文件,RAG 就是为了解决这个问题而生的。
它的核心逻辑很简单,分为三步:
- 准备知识库:把你想要大模型参考的文档、资料,切片处理后存到向量数据库里。
- 检索:当用户提问时,先在知识库里查找与问题最相关的内容片段。
- 生成:把找到的相关内容作为“参考资料”,连同用户的问题一起交给大模型,让它基于这些资料生成答案。
所以,RAG 的本质就是给大模型配了一个“外挂知识库”,这解决了大模型知识过时、不懂私域知识以及“一本正经胡说八道”(幻觉)的问题,现在你看到的所有“基于XX文档进行问答”的功能,背后几乎都是 RAG 在支撑。
敲重点: 这个外挂的知识库最后还是会被推入到 Context 中的,所以 RAG 其实和 MCP 一样也是向大模型提供上下文信息的一个手段,后面还有也是向大模型提供上下文信息的手段,但是不会再强调了。
Function Calling
在 Function Calling 出现之前,大模型只能生成文本。如果你想让它帮你查天气、发邮件或者操作数据库,那是做不到的,Function Calling 出现后,大模型获得了一项新能力:它不再直接回答,而是学会“发出指令”。
它的工作流程是这样的:
- 你告诉大模型:“如果你需要查天气,就用
get_weather这个函数。” - 当你问“今天天气怎么样”,大模型发现自己不知道,它就会输出一段结构化的 JSON 指令,比如
{"function": "get_weather", "parameters": {"city": "北京"}}。 - 你的程序接收到这个指令,去调用真实的天气 API,拿到结果(比如“25度,晴天”)。
- 最后,程序把结果再还给大模型,由它组织成自然语言回复给用户。
到这里有人就要问了,你这个不是和之前的 MCP 一样的吗?返回结构化的数据是不是就是 MCP 一样的规范?
当然不是,MCP 是一个协议,主要用于和外部系统进行数据交互,而 Function Calling 则是大模型内部的一种能力,它让模型能够生成结构化的指令来调用外部函数,这两者虽然有交集,但本质上是不同的概念。
换个说法就明白了,MCP 就是你发 HTTP 请求,Function Calling 就是你用代码调用第三方库的函数,虽然都是在和外部系统交互,但一个是协议层面的规范,一个是功能层面的能力。
API Call
API Call(应用程序接口调用)是一个非常基础但重要的概念,它指的是程序之间的“打招呼”方式。
你可以把它想象成餐厅的服务流程:你是用户,餐厅是大模型,厨房是数据库或其他服务,你(用户)点了一份“鱼香肉丝”(请求),服务员(API)把菜单送到厨房(服务器),厨房做好了菜,再由服务员端给你。
在大模型时代,API Call 特指我们向大模型的云端服务发送请求并获取回复的过程,比如你在代码里写了一段请求,调用了 OpenAI 或 Anthropic 的接口,这就是一次 API Call,它是大模型与我们现有系统连接的桥梁,是 Function Calling 和 Tool 得以实现的基础设施。
说白了就是发请求,拿结果的过程,不管是调用大模型的 API,还是大模型调用外部服务的 API,都是 API Call 的范畴。
Tool(工具)
Tool(工具)是 Agent 能够感知世界和行动的“手脚”。
在 AI 领域,Tool 特指那些可以被大模型调用、用来执行具体任务的外部函数或接口。比如:
- 搜索工具(Search Tool)
- 代码执行工具(Code Interpreter)
- 访问数据库工具
- 发送邮件工具
如果把大模型比作一个聪明的大脑,那么 Tools 就是这个大脑的“手”和“脚”,没有工具,大模型只能“纸上谈兵”;有了工具,它才能真正“动手”去检索信息、操作文件、控制设备。
这个看着是不是很像 Function Calling ?其实 Tool 是一个更广义的概念,Function Calling 是大模型调用工具的一种方式,但工具的实现不一定非得通过 Function Calling,例如有些工具可能是通过特定的 API 接口来调用的,而不需要大模型生成结构化指令。
Skill(技能)
Skill 的本质是一套预定义的“专家人设”或“任务模板”。
它不是什么新鲜的技术组件,而是对 Prompt、Context 和 Tool 的一种封装。在实际开发中,为了避免重复编写冗长的指令,我们会把针对某一特定任务的最佳实践固化下来,这就形成了 Skill。
简单来说,Skill 是一种工程化手段,目的是降低使用门槛,让 AI 在特定领域表现得像专家一样专业,而无需用户掌握 Prompt 工程技巧
汇总
| 名称 | 本质 | 一句话简介 |
|---|---|---|
LLM | 大模型 | 参数大,模型大,所以叫大模型 |
Prompt | 输入 | 你和大模型对话的内容 |
Agent | 基于大模型的应用程序 | 一次操作多调用多轮大模型 |
Context | 上下文信息 | 发送给大模型的数据 |
MCP | 模型上下文协议 | 往大模型插入额外的上下文 |
Memory | 记忆信息 | 往大模型插入历史对话记录 |
RAG | 检索增强生成 | 往大模型插入大模型不知道的数据 |
Function Calling | 函数调用能力 | 通过大模型返回的规范化指令调用特定函数 |
API Call | 应用程序接口调用 | 调用大模型的接口 |
Tool | 工具 | 大模型可以调用的函数 |
Skill | 技能 | 预设的提示词(Prompt) |
AI 当下
2022年之后的内容,在我这篇文章中就不展开讲了,自 ChatGPT 发布之后,基本上每年都会有一个新的爆点,都多都是自媒体的宣传炒作出来的,虽然有些技术确实是有突破的。
上面讲了这么多,其实不能发现很多技术的概念早在几十年前就已经出现了,突然间的爆发就像是人们突然间的顿悟一样,是技术积累到了一定程度,终于找到了突破口,才有了爆发的那一刻。
在 AI 不断变化的当下,不妨思考一下为什么 AI 会在不断的变化?我的理解是当下的 AI 并不稳定,所以不停的在变,例如我上面提到的那些概念,还有很多已经被淘汰,还有一些很低层的我没写。
例如稳定的 Java 语言,被 Spring 框架完全统治,再看前端百花齐发,React、Vue、Angular、Svelte 等等层出不穷。
我还记 AI 没火的时候,网上的格调是 Angular 要被淘汰了;又或者是说现在市面上的主流是 React,Vue 的市场需求在变少;这种论调和当下鼓吹 AI 如何相似。
说前端已死从 AI 还没爆火的时候就有了,前端死了好几轮了还没死。
总结
我无法预测未来,这篇文章讲的是历史,通过历史可以看到 AI 其实也是一步一步的发展起来的,保持学习的心态,跟上时代的步伐,才不会被时代淘汰。
当下很多人对于 AI 的焦虑,可能更多的是对于未知的恐惧,未知只是因为你不够了解它,把焦虑的时间拿去学习和了解它,自然就不会焦虑了。