还记得你第一次和ChatGPT对话吗?那种感觉,就像在和一个......活生生的东西聊天。你问个问题——它给出深思熟虑的回答。你写得模糊不清——它还是能明白你的意思。
这是魔法吗?不是。是数学。
在那几秒钟的"思考"背后,隐藏着一个可以逐步拆解的过程。从你提示词的第一个字符到回答的最后一个词——一切都是逻辑的、计算出来的、可预测的。理解人工智能的工作原理比你想象的要简单——即使没有技术背景也能搞懂。
这篇文章是你了解神经网络的入门指南。让我们搞清楚,一台只懂0和1的计算机,是如何学会理解人类语言的。
当你写提示词时,神经网络到底在做什么?

任何语言模型的任务都归结为一个简单的原则:接收输入序列(你的提示),将其转换为输出(回答)。在学术圈,这被称为序列转换(sequence transduction)——将一个序列转换为另一个序列。
但首先,让我们弄清楚语言模型到底是什么。它们是在海量文本上训练的神经网络——来自互联网、书籍、代码的数十亿甚至数万亿个词。它们学会了在语言中找到模式:词语如何组合,哪些短语有意义,哪些没有。
但它们如何做到这一点——这是一门完整的科学。
早期的AI模型像我们读书一样阅读文本:逐字逐句,从左到右。现代神经网络学会了做得更好——它们一次性看到整个文本,就像你扫一眼页面就立即抓住了要点。
回答呢?模型总是用老方法生成:逐字逐句。写一个词,"思考",写下一个。你注意到ChatGPT中文本是逐渐出现的吗?这不是为了效果的动画。模型真的就是这样工作的——实时预测每个下一个词。
为什么不一次性输出整个回答?因为这样更简单。你可以监控过程,实时调整,最重要的是——不需要在内存中保存整个文本。计算出下一个词,添加,继续前进。
AI在这整个过程中的主要目标:保留你提示的含义,输出有意义的内容。听起来简单,但背后是几十年的研究。
现在让我们拆解它是如何工作的。从最早的尝试到看似魔法的现代系统。
第一章:神经网络如何学会阅读文本——从RNN到Transformer

还记得在学校读长诗吗?读到中间,开头就已经从记忆中溜走了。你得回去重读。最早的文本处理神经网络的工作方式差不多就是这样。
它们叫循环神经网络,或者RNN。听起来像宇宙飞船的名字,但实际上只是一种逐字阅读文本的方式。想象一下编程中的for循环——你从左到右遍历文本,处理每个词,继续前进。
这是一个简单的句子:"昨天我看到一只猫坐在栅栏上对着月亮喵喵叫。"
RNN这样读它:
- "昨天"——好的,记住了
- "我"——嗯,有了
- "看到"——记下了
- "一只"——存储了
- "猫"——有了
- "坐在"——等等,"坐在"是谁?
到这个时候,网络已经开始忘记开头是什么了。词与词之间的联系丢失了。特别是如果句子很长。现在想象整个段落或文章!
长期依赖问题
这是一个打破了那个时代所有RNN的经典例子:
"我在巴黎长大。在那里度过了整个童年。上了当地的学校,和朋友在院子里玩,学了语言。所以我能流利地说......"
我说什么语言?对,法语。但要理解这一点,你需要记住最开始的巴黎。而到句子结尾时,RNN已经完全忘记了它。
这就像看侦探片却一路忘记线索。到结局时你不知道谁是凶手,因为你忘了那天晚上谁在宅子里。
LSTM——有选择性访问的内存
90年代中期,人们想出了改进方案:长短期记忆(Long Short-Term Memory)。这个名字很矛盾——"长期短期记忆"。听起来像矛盾修辞法,但它有效。
想法很简单:让我们教网络决定什么重要要记住,什么可以忘记。想象你用荧光笔读教科书。重要的地方你划出来,其余的跳过。然后你只回到划线的部分。
LSTM做同样的事。它有一个"门"系统,决定:这个词重要(传递到长期记忆)还是不重要(忘记)。模型学会了自己确定什么重要。
变好了。但没好多少。网络仍然按顺序阅读,逐字逐句。慢。在长文本上还是会出错。
卷积网络——一次读多个词
然后他们尝试了卷积神经网络(CNN)。这些是学会在照片中识别猫咪的那些网络。他们尝试将它们应用于文本。
CNN的技巧:它们不看一个词,而是一次看一组。有点像你不是一个字母一个字母地读,而是整个词。或者甚至短语,如果你的阅读技能好的话。
CNN用"窗口"读文本:三个词一起,然后接下来三个,再接下来三个。在下一层,这些三元组合并成九个词的组。以此类推,直到覆盖整个句子。
但缺点仍然超过优点。工作慢。在长文本上卡住。最重要的是——它们仍然没有一次看到整个画面。
需要一场革命。
第二章:注意力机制和Transformer——现代AI如何工作

2017年,一篇论文出现了,标题很简单:"Attention Is All You Need"("注意力就是你所需要的一切")。听起来很大胆。但他们是对的。
这是突破。想象一下,不是逐字阅读文本,而是能一次看到所有词。不仅仅是看到,而是立即理解每个词与其他每个词的关系。
一切都变了。
Token——神经网络的语言
首先,让我们理解什么是token。它不是一个词。也不是一个字母。介于两者之间。
当你给ChatGPT写提示时,它看不到你的词。它看到的是token。模型将文本分解成块并将它们转换为数字。计算机只知道如何处理数字。
这是一个简单的例子:
"你好,世界!"
对模型来说,大概是这样:
[你好] [,] [世界] [!]
四个token。不是三个词,不是七个字符。四个token。
但这里变得有趣了。不同语言对相同含义使用不同数量的token。英语实际上是分词效率最高的语言之一。在形态复杂的语言中——如德语、波兰语、阿拉伯语或中文——同一句话通常需要2-4倍的token。
为什么?因为英语语法相对简单,单词较短。有大量格、性别或基于字符的书写系统的语言需要更多token来表达同样的意思。
例子:英语"Hello, how are you?" = ~5个token。德语同样的短语("Hallo, wie geht es dir?") = ~8-9个token。中文 = ~7-8个token。
有10万token的限制?在英语中,那是成千上万字的文本。在许多其他语言中——少2-3倍。
专业提示:如果你有严格的token限制,并且使用非英语语言工作,考虑先将提示翻译成英语。你会在token使用上节省很多。
向量——数字如何获得意义
好的,文本变成了token。Token变成了数字。但数字如何传达意义?
这就是数学之美开始的地方。
每个token被分配的不是一个数字,而是一整组数字。一个向量。想象多维空间中的坐标。不是在二维或三维,而是在数百或数千维。
"猫"这个词——是768个数字的向量。
"小猫"这个词——也是768个数字的向量。
你知道吗?这些向量会彼此接近。因为词在意义上接近。
而"沥青"这个词会离它们很远。
这是一个更简单的例子。看这个短语:"晚上在家看电影。"
在模型的脑海中,它看起来大概是这样的(简化版):
- 晚上: [0.8, 0.3, 0.1, 0.9]
- 在家: [0.7, 0.4, 0.2, 0.8]
- 看: [0.2, 0.9, 0.8, 0.3]
- 电影: [0.3, 0.9, 0.7, 0.2]
看到了吗?"晚上"和"在家"接近(都是关于环境)。"看"和"电影"也接近(动作和对象)。
模型看到这种接近性并理解文本中的联系。
注意力机制——主要突破
现在是最重要的部分。注意力机制。
想象你在读推理小说。开头提到管家在花园里。中间谈到有毒的茶。结尾发现死去的主人。
你的大脑自动连接这三个事实。管家→花园→茶→死亡。嗯,可疑。
注意力机制做同样的事。它看着每个词问:"文本中的哪些其他词与此相关?"
看这个句子:"河岸很陡。"
"岸"这个词可能意味着:
- 金融机构(银行)
- 河边(岸边)
注意力机制看着"河"这个词并理解:好的,这里的"岸"是指边缘。连接两个词,消除歧义。
现在这个句子:"银行提高了利率。"
这里"银行"与"利率"相关。所以它是金融机构。
模型同时检查所有连接。不是顺序的。是并行的。
这是与RNN的关键区别。
自注意力——当文本看自己
有一种特殊的注意力:自注意力(self-attention)。
模型取一个token并检查它与文本中所有其他token的连接。然后取下一个token——再次与所有。就这样循环。
想象一个连接矩阵。每个词与每个词比较。你得到一个交互图。
看这个句子:"猫追老鼠,但它逃跑了。"
自注意力发现:
- "它"与"老鼠"相关(不是"猫")
- "追"与"猫"相关(是猫在追)
- "逃跑"与"老鼠"相关(是老鼠逃跑了)
全部自动。没有语法规则。模型自己在数据中看到了模式。
多头注意力——同时多个视角
但这还不是全部。事实证明,一个注意力机制是不够的。
他们发明了多头注意力——多重注意力。
本质:并行运行多个注意力机制。每个从自己的角度看文本。
一个"头"寻找语法连接。
另一个——语义(基于意义)。
第三个——句法。
然后所有结果被组合。
这就像从不同角度看一幅画。每个视角都给出新的洞察。合在一起你得到完整的画面。
GPT-3使用96个注意力头。Claude 3.5——更多。每个头寻找自己的模式。
位置编码——模型如何记住词序
并行处理有个问题:模型失去了对词序的理解。
"猫吃了老鼠"和"老鼠吃了猫"——意思不同,但如果去掉顺序,对模型来说是一样的。
解决方案:位置编码。
给每个token添加一个特殊的数字,说:"你是第一个","你是第二个","你是第十个"。
这些数字以特殊方式编码(通过正弦波),这样模型不仅理解绝对位置("你是第三个"),还理解相对位置("你离开头两个词")。
现在模型知道:"猫"在"吃"之前,"老鼠"——之后。顺序恢复。
第三章:Transformer架构——构建理解的层次

Transformer不是一个神经网络。它是许多层的堆栈,每层做自己的工作。
想象工厂的传送带。原材料从一边进入,经过几十个工位,作为成品出来。
文本也是一样。
编码器——读取文本
Transformer的第一部分是编码器。它的任务:读取输入文本并理解它。
编码器由几层组成。典型结构:
- 自注意力层(我们看词之间的连接)
- 前馈层(我们独立处理每个词)
- 标准化(我们稳定数字)
- 残差连接(我们保存前几层的信息)
每层添加新的理解层次。
第一层看到简单的连接:名词与形容词相连。
第二层看到短语:"红色汽车"。
第三层看到句子:"红色汽车停了下来"。
第四层看到段落:文本的逻辑,思想之间的转换。
GPT-3有96个这样的层。每个挖得更深。
解码器——写回答
第二部分是解码器。它的任务:生成文本。
解码器类似于编码器,但有一个区别:它按顺序工作。写一个token,将其添加到上下文,写下一个。
解码器层结构:
- 掩码自注意力(我们只看已经写的token)
- 交叉注意力(我们与编码器的输出连接)
- 前馈层
- 标准化和残差连接
掩码注意力是一个重要细节。解码器看不到未来。当它写第五个词时,它不知道第六个会是什么。
这不是bug,是feature。这样模型学会仅根据之前的token预测下一个token。
训练Transformer——AI如何学会写作
训练过程本质上很简单,但实施起来很复杂。
模型获得巨大的文本。数万亿个词。基本上是整个互联网。
任务:预测下一个词。
模型看到:"猫坐在......"
尝试猜测:"栅栏上"。
在文本中检查答案。
错了?调整其权重。
重复数百万次。
逐渐模型学会:
- 语法("在"之后通常跟名词)
- 意义(猫可以坐在栅栏上,但不能在云上)
- 风格(正式文本与口语不同)
- 事实(法国的首都是巴黎)
所有这些——来自统计。模型看到:在90%的情况下,"法国首都"之后是"巴黎"这个词。所以这是正确答案。
训练GPT-3在电费上花了460万美元。GPT-4——数千万。那是几周的超级计算机工作。
微调——使模型有用
经过基础训练后,模型可以预测词,但不知道如何成为帮手。
需要微调——额外训练。
向模型展示对话示例:
- 好的回答(有帮助的、礼貌的、准确的)
- 坏的回答(粗鲁的、虚假的、危险的)
模型学会区分:什么是好的,什么是坏的。
使用的方法是RLHF(基于人类反馈的强化学习)——基于人类评估的强化学习。
过程:
- 模型对一个问题生成多个回答
- 人们评估:哪个答案更好
- 模型学会生成类似于人们高度评价的回答
这就是ChatGPT如何变得礼貌和有帮助的。基础GPT模型只会继续文本,不会回答问题。
第四章:提示工程——如何正确与AI对话

你已经理解模型是如何工作的了。现在让我们学习如何正确地与它交互。
提示不仅仅是请求。它是给AI的指令。答案的质量取决于你如何写它。
好提示的基本原则
1. 要具体
不好:"写篇文章"
好:"写一篇1000字的关于提示工程的文章,面向初学程序员,轻松风格,带实际例子"
2. 提供上下文
不好:"解释递归"
好:"我是Python初学者。用简单的话解释递归,带代码示例和生活类比"
3. 给出示例
不好:"翻译成英语"
好:"翻译成非正式风格的英语。示例:'你好,怎么样?' → 'Hey, what's up?'"
4. 结构化你的请求
不好:一长串要求的混乱
好:编号的任务列表
Few-shot提示——用例子教学
最强大的技术之一:给模型你想要的例子。
任务:分类评论情感。
评论:"很棒的产品,快速送达!"
情感:积极
评论:"包装损坏,产品到达时坏了"
情感:消极
评论:"普通产品,没什么特别的"
情感:中立
评论:"超出了所有期望,会再次订购!"
情感:模型看到模式并继续:"积极"。
这适用于翻译、格式化、分析——任何事情。
思维链——教逐步思考
有时任务很复杂。如果模型试图立即回答会出错。
解决方案:让它逐步思考。
不好的提示:"解决问题:如果商店里的苹果每公斤2美元,我买了3.5公斤并给了收银员20美元。我会收到多少找零?"
模型可能会在算术上出错。
好的提示:"逐步解决问题:
1. 计算购买成本
2. 从给定金额中减去
3. 给出最终答案
问题:如果商店里的苹果每公斤2美元,我买了3.5公斤并给了收银员20美元。我会收到多少找零?"
模型思考:
- 步骤1:2 × 3.5 = 7美元
- 步骤2:20 - 7 = 13美元
- 步骤3:你会收到13美元找零
准确性显著提高。
角色提示——给模型分配角色
想要专家答案?告诉模型它是谁。
"你是有10年经验的资深Python开发者。解释为什么Python中的列表推导式比for循环更高效。"
模型会进入角色并像专家一样回答。
"你是五年级的数学老师。用简单的话解释毕达哥拉斯定理。"
答案会针对受众调整。
负面提示——说不要做什么
有时更容易说你不想要什么。
"写一个简短的产品描述。不要使用'创新'、'革命性'、'独特'这些词。不要营销废话,只要事实。"
模型会考虑限制。
第五章:模型如何出错——幻觉和限制

AI不完美。理解其局限性很重要。
幻觉——当模型自信地撒谎
语言模型最著名的问题:它们有时编造事实。
你问:"谁发明了量子计算机?"
模型自信地回答:"量子计算机是由David Deutsch在1985年发明的。"
听起来令人信服。但这是谎言。Deutsch是真正的科学家,但日期和表述不准确。
为什么会这样?
模型不"知道"通常意义上的事实。它预测可能的词。如果David Deutsch在训练数据中经常与量子计算机一起被提及,模型会将它们连接起来。
但细节可能是错的。
如何保护自己:
- 在可靠来源中验证事实
- 要求模型引用来源
- 使用诸如"如果不确定,说'我不知道'"之类的命令
上下文窗口——记忆限制
模型不能永远记住。它有限制。
GPT-4:128,000个token(约300页文本)
Claude 3.5:200,000个token
Gemini 1.5 Pro:100万个token
如果对话变长,模型开始"忘记"开头。
最初的消息从上下文中掉出。模型不再看到它们。
解决方案:定期总结对话,用前一个会话的简短摘要开始新会话。
偏见和有毒内容
模型在互联网数据上训练。而互联网......嗯,不完美。
训练数据包括:
- 性别刻板印象
- 种族偏见
- 有毒表达
- 政治倾向
模型可能吸收这些模式。
开发者通过以下方式对抗:
- 数据过滤
- RLHF消除有毒内容
- 提示中的特殊限制
但问题没有完全解决。
计算成本
在一个请求上运行GPT-4大约花费0.03美元。看起来少?
如果你有100万用户,每个每天发出10个请求——那是每天30万美元。每月900万美元。
这就是为什么许多服务限制请求数量或收取订阅费。
计算能力是瓶颈。在模型变得更轻之前,成本将保持高位。
第六章:模型演进——从GPT-3到现代系统

自GPT-3问世(2020年)以来的三年里,发生了一场革命。
GPT-4——迈向多模态
GPT-4不仅读文本。它看图像。
上传界面照片,让它为其编写代码——你得到可用的HTML/CSS。
展示一幅画,要求解释——你得到详细描述。
这是迈向理解世界的模型的第一步,就像我们一样:通过词语和图像的组合。
Anthropic的Claude——专注安全
Claude由前OpenAI员工创立的公司创建。他们的重点:安全和诚实。
Claude较少产生幻觉。它在不确定时承认。更一致地拒绝有毒请求。
而且Claude有巨大的上下文窗口。200,000个token。你可以上传整本书并使用它。
Google的Gemini——速度和多任务
Gemini 1.5 Pro可以处理100万个token。那大约是1,500页文本。
上传整个项目代码库,要求找到bug——它找到。
给它几小时的视频,要求总结——它总结。
Google押注于速度和容量。
多模态模型——一体化
GPT-4o:
- 看图像
- 听音频
- 读文本
- 用文本、语音或图像回答
一个模型理解一切。这是未来。
你可以上传照片,用语音问"这是什么?"——并且也用语音得到答案。
第七章:未来已经到来(但分布不均)

2025年2月。GitHub宣布Copilot的Agent模式。
现在AI不仅完成代码。它自己执行任务。
你设定任务:"向项目添加OAuth认证。"它:
- 分析当前代码
- 找到必要的库
- 编写代码
- 测试
- 创建pull request
你只检查结果。
2025年5月。宣布Coding Agent——更自主的版本。它在云开发环境中工作,自己提交,自己推送更改。
这不是科幻。这已经在工作。
专业模型
通用模型很好,但专业的在它们的任务上更好。
Med-PaLM(Google):
在医疗数据上训练
为医生提供建议
在医疗问题上比GPT更准确
LawGPT:
法律咨询
合同分析
判例搜索
BioGPT:
生物、化学、药理学
蛋白质结构预测
新药开发
这些模型在专业数据集上进行微调。它们的分词也进行了调整:法律术语和医学缩写是单独的token。
伦理问题
这一切都很酷,但有问题。
版权:
模型在公共数据上训练。但其中很多受版权保护。法律诉讼正在进行。GitHub Copilot已经面临诉讼,因为生成的代码与他人相似。
关键领域的幻觉:
AI医生可能出错。AI律师也是。后果很严重。
代码漏洞:
记住:来自Copilot的40%的代码可能不安全。开发者必须检查。
工作替代:
文案、艺术家、程序员——每个人都感受到压力。但新职业正在出现:提示工程师、AI培训师、AI伦理专家。
接下来是什么?
模型会变得更聪明。
GPT-5已经在开发中。会更好地理解,犯更少错误。
上下文会变得更大。
数百万token的上下文——这是几年的事。你将能够上传整个文档库并使用它。
代理将成为常态。
AI不仅会回答。它会行动。预订机票,编写代码,创建内容。自主地。
个性化将加强。
你的个人AI助手,了解你的偏好、工作风格、目标。只为你工作。
但有一件事不会改变:AI仍然是工具。强大,但需要理解。
关于神经网络工作原理的常见问题
什么是神经网络中的token?
Token是语言模型使用的最小文本单元。不是完整的词,也不是单个字母,而是片段。在英语中,一个token平均等于四个字符;在俄语中——一个字符。模型将所有文本分解为token,将它们转换为数字,然后才开始处理。
为什么ChatGPT有时给出错误答案?
语言模型不"知道"通常意义上的信息。它们根据在训练数据中看到的统计模式预测下一个token。模型可以创建看似合理但虚假的答案——这被称为幻觉。这在罕见事实、模型训练后的日期或非常具体的问题上尤其常见。
什么是注意力机制?
注意力机制允许模型同时看到文本中所有词之间的联系,而不是顺序处理它们。当你写"河岸很陡"时,模型看到"河"这个词并理解这里的"岸"是边缘,不是金融机构。它并行检查所有token之间的连接。
Transformer与常规神经网络有何不同?
Transformer使用注意力机制进行并行文本处理。旧架构(RNN、LSTM)按顺序读取文本,就像人读书一样——逐字逐句。Transformer一次看到所有文本,就像看整页一样。这更快更准确。
如何为AI写好提示?
好的提示应该具体:指明目标受众、风格、数量、回答结构。不好:"写篇文章。"好:"写一篇1000字的关于提示工程的文章,面向初学程序员,轻松风格,带实际例子。"使用few-shot提示(给例子)或思维链(要求逐步思考)等技术。
为什么某些语言对神经网络"更贵"?
因为分词效率因语言而异。形态复杂的语言(大量词尾、前缀、后缀)或基于字符的书写系统需要更多token来表达相同含义。英语相对高效——一个token平均约四个字符。在德语、波兰语、阿拉伯语或中文中,分词器通常需要2-4倍的token来处理等效内容。结果:在形态复杂的语言中,相同文本的token成本比英语高得多。
能欺骗AI文本检测器吗?
AI文本检测器寻找统计模式:重复的结构、下一个词的可预测性、没有错误。如果你在文本中添加不规则性——不同的句子长度、意外的转折、生动的例子——检测器会不太确定。但没有100%的保证能欺骗它。最好的方法——用AI写作但以你自己的方式重新加工文本。
什么是上下文窗口?
上下文窗口是模型一次可以处理的最大token数量。对于GPT-4,是128,000个token(约300页文本);对于Claude 3.5——200,000;对于Gemini 1.5 Pro——100万。如果对话变长,模型开始"忘记"开头——最初的消息从上下文中掉出。
结论:现在你看到了引擎盖下的东西
现在当你给ChatGPT写提示时,你理解内部发生了什么。
分词——文本被分解成块
嵌入——块通过向量获得意义
注意力机制——模型看到词之间的联系
Transformer——从简单到复杂的分析层
生成——回答逐个token创建
不是魔法。数学、架构、工程。数十亿个数字加起来成为有意义的文本。
这些知识很有用。
你可以写更好的提示。理解限制。不会被幻觉欺骗。更有效地使用AI。
十年前,这一切似乎像科幻。现在——普通。十年后?会更酷。
但基础将保持不变。Token、向量、注意力、transformer。
理解机器语言正成为一项基本技能,就像知道如何在互联网上搜索信息一样。
记住CodeGym的老原则:学习的最好方法是实践。尝试提示。试不同的模型。看它们如何反应。
只有这样你才能真正理解AI。
祝你好运!🚀
附言想更深入地了解改变世界的技术?我们不仅教编程——我们展示未来工具的工作原理,从基本算法到使用AI助手。
了解更多:
- CodeGym编程课程——通过现代工具进行实践学习
- Java课程——从基础到高级
- Python课程——AI和机器学习的语言
加入成千上万的开发者,与我们一起构建未来。
GO TO FULL VERSION