云计算百科
云计算领域专业知识百科平台

AI 到底是怎么工作的?从你按下发送键,到答案出现在屏幕上的全过程

AI 到底是怎么工作的?从你按下发送键,到答案出现在屏幕上的全过程

你输入一句话,几秒后,AI 给出一段看起来像“思考过”的回答。这个过程中,AI 是在数据库里搜索答案吗?它真的理解了你的问题吗?为什么它会一本正经地说错话?本文将沿着一次真实请求的生命周期,从网络请求、Token 化、Transformer、注意力、逐词生成,一直讲到 GPU 推理、KV Cache、流式输出、RAG 与安全策略。


一、先给出全景图:一次 AI 对话,其实经过了九站

**先说人话:**一次 AI 问答,不是你把问题直接塞进一个“电子大脑”,它马上把答案吐出来。它更像寄快递:问题先经过包装、安检和分拣,再交给模型计算,答案生成后还要经过检查和传输,最后才显示在屏幕上。这一章干的事情,就是先把整条路线摊开,让你知道后面每个技术名词分别位于哪一站。

很多科普文章一上来就讲“神经网络”“参数”“矩阵乘法”,读者很快就迷失了。更直观的办法,是先把一次问答当成一件快递,看看它经过哪些站点。

在这里插入图片描述

当你在网页或 App 里输入“为什么天空是蓝色的?”并按下发送键,大致会发生下面九件事:

  • 客户端封装请求:你的文字、历史对话、附件、模型选项等被整理成 JSON 或类似的数据结构。
  • 网络传输与身份验证:请求通过 HTTPS 到达 AI 服务商的网关;网关校验账号、配额、权限与请求大小。
  • 安全与路由:系统进行输入安全检查,并根据模型、地区、负载、延迟目标,把请求送往合适的推理集群。
  • 组装上下文:系统指令、开发者指令、历史消息、工具返回结果和你的问题,被按固定格式拼成模型真正看到的上下文。
  • Token 化:文本不再以“字”或“单词”存在,而被切成模型词表中的 Token,并转换成整数 ID。
  • Prefill(预填充):模型一次并行处理全部输入 Token,建立它对上下文的内部表示,同时生成后续解码要用的 KV Cache。
  • Decode(解码):模型一次预测一个新 Token;新 Token 又成为下一轮输入,如此循环。
  • 流式返回:服务器不必等整篇答案写完,而是把新生成的文本片段通过 SSE、WebSocket 等方式持续推送给客户端。
  • 客户端渲染:浏览器把 Markdown、代码块、公式或引用渲染出来,于是你看到答案像打字一样出现。
  • 这九站中,只有第 5~7 步属于狭义的“语言模型计算”。身份认证、内容安全、负载均衡、缓存、工具调用和页面渲染,都是模型之外的工程系统。今天人们口中的“AI”,通常已经不是一个孤立模型,而是一整套由模型、数据、工具和服务基础设施组成的系统。


    二、先区分两个阶段:训练是在“造大脑”,推理是在“用大脑”

    **先说人话:**训练,就是让 AI 做海量练习题,答错后修改内部的“旋钮”,慢慢获得能力;推理,就是训练结束后,拿已经调好的这些旋钮来回答你的问题。训练是在造和改造这台机器,推理是在使用这台机器。你平时聊天主要发生的是推理,而不是 AI 每回答一句就重新上一次课。

    要理解 AI 回答问题,必须先分清训练(training)与推理(inference)。这两个过程经常被混为一谈。

    在这里插入图片描述

    1. 训练阶段:把大量语言规律压进参数

    在预训练时,模型会看到大量文本片段。假设训练样本是:

    法国的首都是巴黎。

    训练程序可能给模型前半句“法国的首都是”,要求它预测下一个 Token。模型起初也许认为“伦敦”概率最高;正确答案是“巴黎”,于是损失函数会给出一个误差。反向传播根据这个误差计算每个参数应向哪个方向调整,优化器再对数十亿甚至更多参数做一次很小的更新。

    用极度简化的数学语言表示:

    输入 x → 模型参数 θ → 预测概率 P(y|x;θ)

    与正确答案 y 比较

    损失 L = -log P(y|x;θ)

    反向传播求梯度 ∇θL,更新 θ

    这个过程会在海量样本上重复。模型并不是把所有训练网页逐字存进一张可检索的表,而是把统计规律、概念关系、语言模式以及一部分事实压缩进权重参数。参数可以理解为神经网络中大量可调节的“旋钮”。每个旋钮单独通常没有明确含义,知识往往分布式地编码在许多参数共同形成的计算模式里。

    仅靠“预测下一个 Token”的预训练,模型学到的是语言续写能力,却不一定愿意老老实实回答用户。现代助手通常还会经历指令微调、偏好优化、安全训练等阶段。以经典的 InstructGPT 路线为例,研究者先用人工示范做监督微调,再让人类比较多个回答的优劣,最后用这些偏好信号优化模型行为。它解决的不是“让模型多背知识”,而是“让模型更像一个有帮助、守指令的助手”。相关方法可参见 OpenAI 的论文 Training language models to follow instructions with human feedback。

    2. 推理阶段:参数通常不会因为你的问题而改变

    当你和 AI 对话时,模型主要是在使用训练好的参数做前向计算。通常情况下,你发一条消息不会立刻触发一次完整训练,也不会当场修改模型的数十亿参数。

    这是一个重要结论:

    聊天时,AI 主要是在上下文中临时处理信息,而不是现场把信息“学进参数”。

    所以,同一次对话里它能记得你前面说过什么,是因为历史消息被再次放入上下文,而不一定是模型获得了永久记忆。新开一轮对话后它是否还记得,取决于产品有没有额外的记忆数据库,以及是否把相关记忆重新注入上下文。


    三、按下“发送”后,模型最先看到的并不只是你的问题

    先说人话:“上下文”就是 AI 回答当前问题时摆在桌面上的全部材料。它不只包含你刚输入的那句话,还可能包含系统给它定的规矩、前面的聊天记录、你上传的文件以及搜索结果。这一阶段干的事情,就是把所有相关材料按顺序整理成一份“开卷考试资料”,再一起交给模型。

    用户界面里看起来只有一句问题,但服务端交给模型的输入可能更像这样:

    [系统指令]
    你是一个严谨、友好的 AI 助手。遇到不确定信息要说明不确定性……

    [开发者指令]
    回答使用中文;代码采用 Python;引用资料时附链接……

    [历史消息]
    用户:我正在学习机器学习。
    助手:你目前学到哪一部分?
    用户:刚开始接触神经网络。

    [当前用户消息]
    请解释注意力机制。

    [工具结果,可选]
    网页检索结果、数据库记录、计算器结果、文件内容……

    这叫作上下文组装。模型的回答,不只取决于当前这一句话,还取决于上下文里所有可见信息以及不同消息的优先级。

    这也解释了三个常见现象:

    • 同一个问题放在不同对话中,答案可能不同,因为历史上下文不同。
    • 让 AI “忘记前面的要求”不一定有效,因为更高优先级的系统指令仍然存在。
    • 对话越长,成本和延迟通常越高,因为模型需要处理的输入 Token 越多;当内容超过上下文窗口时,系统必须截断、压缩或检索关键信息。

    这里的“上下文窗口”可以粗略理解为模型一次能够放在工作台上的 Token 总量。它更像有限容量的工作记忆,而不是无限硬盘。窗口大不等于模型会同等重视每个细节,也不等于它能永久保存这些内容。


    四、文字进入模型前,必须先变成 Token

    **先说人话:**Token 可以理解成 AI 阅读文字时使用的“小积木”。人看到的是句子,计算机模型只能处理数字,所以系统先把句子拆成若干文字片段,再给每个片段分配一个编号,最后把编号换成可以参与数学运算的向量。这个过程干的事情,就是把人类语言翻译成模型能计算的数字语言。

    计算机神经网络不能直接理解汉字、单词或句子,它接收的是数字。因此,文本首先会经过 Tokenizer(分词器)。

    在这里插入图片描述

    1. Token 既不等于汉字,也不等于单词

    Token 是模型词表中的基本符号单元。它可能是:

    • 一个常见汉字;
    • 多个汉字组成的常见词片段;
    • 一个完整英文单词;
    • 英文词根或后缀;
    • 标点、空格或代码符号;
    • 某些不常见字符对应的字节片段。

    例如,“人工智能正在改变世界”可能被切成“人工智能 / 正在 / 改变 / 世界”,也可能采用另一种切法,具体取决于模型词表与分词算法。OpenAI 对 Token 的简明定义是:模型处理文本时使用的常见字符序列,可在其 Tokenizer 页面 观察实际切分。

    一个 Token 会先被映射为整数 ID,例如:

    “人工智能” → 48291
    “正在” → 11308
    “改变” → 22764
    “世界” → 9981

    这些数字本身没有大小语义,48291 并不比 9981 “更智能”。它们只是词表索引。

    2. Embedding:把离散编号变成可计算的向量

    整数 ID 随后会查 Embedding 表,变成一个高维向量:

    Token ID 48291
    ↓ 查表
    [0.17, -0.42, 0.08, …, 0.31]

    向量的每个维度通常不能被简单解释为“颜色”“情绪”或“名词性”。但在整体空间里,用法相近、语义相关的 Token 往往形成可利用的几何关系。模型接下来做的绝大多数工作,本质上是对这些向量执行矩阵乘法、加法、归一化和非线性变换。

    此外,模型还要知道 Token 的顺序。“猫追狗”和“狗追猫”使用近似相同的词,却含义不同。因此系统会加入位置信息,例如绝对位置编码或旋转位置编码,使注意力计算能够区分先后关系。


    五、Transformer:真正完成“联系上下文”的核心

    **先说人话:**Transformer 是大语言模型内部用来“读懂前后关系”的核心计算结构。它干的事情,可以类比成开会:句子里的每个 Token 都会看看其他 Token,判断谁和自己关系最密切,然后吸收相关信息。这个过程重复很多层后,模型就能逐渐分清谁指代谁、问题在问什么、哪些信息应该放进答案。

    现代大语言模型多数建立在 Transformer 或其变体之上。Transformer 源于 2017 年论文 Attention Is All You Need。用于文本生成的模型通常采用解码器式、带因果遮罩的结构。

    在这里插入图片描述

    一个高度简化的 Transformer 层包含两类核心模块:

  • 自注意力(Self-Attention):让当前位置根据上下文中的其他位置收集信息。
  • 前馈网络(FFN/MLP):对每个位置的表示进行更复杂的非线性变换。
  • 周围还有残差连接、归一化等结构。模型会把这样的层堆叠很多次。底层可能更偏向局部词法与形式特征,中高层逐步形成语义、指代、格式、任务结构等复杂表示;但这种分工不是一张人工设计好的功能表,而是训练中自然形成的分布式计算。

    1. 自注意力到底在“注意”什么

    以句子为例:

    小王把书递给小李,因为他已经看完了。

    要理解“他”更可能指谁,模型需要综合“递给”“看完”“书”等位置的信息。自注意力就是动态建立这些 Token 之间联系的机制。

    每个 Token 的表示会经过不同的线性变换,得到三个向量:

    • Query(Q):我正在寻找什么信息?
    • Key(K):我能提供什么线索?
    • Value(V):如果被关注,我具体提供什么内容?

    最经典的缩放点积注意力公式是:

    Attention(Q, K, V) = softmax(QKᵀ / √dₖ) V

    拆开来看:

  • QKᵀ 计算当前位置与其他位置的匹配程度;
  • 除以 √dₖ,避免维度较大时点积数值过大;
  • softmax 把分数变成总和为 1 的权重;
  • 用这些权重对 V 加权求和,获得融合上下文的新表示。
  • 在这里插入图片描述

    实际模型使用多头注意力。不同“头”拥有不同的投影参数,可以同时捕捉多种关系,例如局部搭配、远距离依赖、指代联系、结构边界等。不要把注意力图直接等同于人类解释:某个头的高权重只能说明该计算路径重视某些位置,不能单独证明模型具有某种人类式推理过程。

    2. 因果遮罩:生成时为什么不能偷看未来

    生成式模型训练时可以把一整段文本并行送入 GPU,但预测第 i 个位置时,绝不能看到 i 之后的正确答案,否则就等于考试偷看答案。因果遮罩会把未来位置的注意力分数屏蔽掉:

    第1个位置:只能看 1
    第2个位置:可以看 1、2
    第3个位置:可以看 1、2、3
    ……

    这让模型在训练时能并行计算许多位置,同时保持“只能根据过去预测未来”的自回归目标。

    3. 前馈网络:不只是搬运上下文

    注意力负责在不同位置之间搬运、组合信息,前馈网络则在每个位置上做非线性变换。简化公式可写为:

    FFN(x) = W₂ · activation(W₁x + b₁) + b₂

    其中 W₁、W₂ 都是训练得到的参数。许多现代架构会用门控线性单元、稀疏专家网络(MoE)等变体提高容量或计算效率,但基本思想没有改变:输入表示经过多层可学习变换,最终得到适合预测下一个 Token 的隐藏状态。


    六、AI 不是一次写完整篇答案,而是一个 Token 一个 Token 地生成

    **先说人话:**AI 写答案并不是先在脑中准备好整篇文章,再一次性复制出来。它更像接龙:先根据问题猜出最合适的下一个文字片段,把这个片段接到后面,再根据新的完整内容猜下一个。不断重复“预测一个、接上去、继续预测”,最终才形成整段回答。

    这是理解大模型最关键的一步。

    假设用户问:

    中国的首都是哪里?

    模型处理完输入后,会输出整个词表上每个候选 Token 的分数(logits)。经过 softmax 后,分数变成概率分布,例如:

    候选 Token概率(示意)
    北京 0.93
    上海 0.02
    中国 0.01
    南京 0.008
    其他数万个 Token 0.032

    解码器按照一定策略选出“北京”,把它追加到上下文,再预测下一个 Token;随后可能选出“。”,最后遇到结束标记。

    在这里插入图片描述

    用伪代码表达:

    tokens = tokenize(context)

    while not finished:
    logits = model(tokens)
    probabilities = softmax(logits[1])
    next_token = sample(probabilities, temperature, top_p)
    tokens.append(next_token)
    stream_to_user(next_token)

    真实系统会利用缓存避免每一轮重算全部历史,但逻辑上就是这个循环。

    1. 为什么同一个问题可能得到不同答案

    如果每次都选择概率最高的 Token,称为贪心解码,结果相对稳定,却可能重复、僵硬。为了增加多样性,系统可能从候选概率分布中采样。

    常见控制参数包括:

    • Temperature:温度越低,分布越尖锐,回答更保守;温度越高,低概率候选更容易被选中,文本更有变化,也更容易跑偏。
    • Top-k:只在概率最高的 k 个候选中采样。
    • Top-p:从累计概率达到 p 的最小候选集合中采样,也叫 nucleus sampling。
    • 重复惩罚:降低已经反复出现的 Token 的分数。

    因此,模型不是从仓库中拿出唯一标准答案,而是在当前上下文与参数共同决定的概率空间中,沿着一条路径逐步生成。第一个岔路稍有不同,后面整段文字都可能变化。

    2. “预测下一个 Token”为什么能表现出推理能力

    乍听之下,“接龙”似乎很初级。但若要在海量文本中持续准确预测下一个 Token,模型必须学习语法、事实关联、文体、代码结构、问题与答案之间的映射,甚至学会生成中间步骤。

    比如要补全:

    17 × 24 =

    只靠记忆表面词频很难覆盖所有组合。训练数据中若包含足够的解题过程,模型就可能学到可复用的计算模式。自回归预测的能力上限并不等同于“只会猜下一个字”;关于这一点,可参考理论工作 Auto-Regressive Next-Token Predictors are Universal Learners。

    不过,能力表现不意味着内部过程与人类思考完全相同。模型没有人类身体经验,也不必拥有稳定的信念系统。更准确的说法是:大规模参数、训练数据与自回归目标共同形成了一台能够执行复杂条件计算的语言系统。


    七、Prefill、Decode 与 KV Cache:为什么第一个字慢,后面逐字出来

    **先说人话:**Prefill 就是 AI 先把你的问题和资料完整读一遍;Decode 就是读完以后开始逐个生成答案;KV Cache 则是模型留下的“阅读笔记”,避免每生成一个字都从头重读全部内容。这三个过程共同解释了为什么长问题要等一会儿才出第一个字,以及为什么后面的文字能比较稳定地连续出现。

    从 GPU 推理角度,一次生成可以分成两个阶段。

    1. Prefill:先读完问题

    Prefill 阶段会并行处理全部输入 Token。假设上下文有 4000 个 Token,模型需要让这些 Token 经过所有 Transformer 层,并为每层保留注意力需要的 Key 与 Value。

    上下文越长,Prefill 通常越费时。因此用户能明显感受到:发一句短问题,首字很快;粘贴一份几十页文档后再提问,AI 开始输出前往往要等更久。

    衡量用户体验时,工程团队常看两个指标:

    • TTFT(Time To First Token):从请求发出到看见第一个输出 Token 的时间。
    • TPOT(Time Per Output Token):进入稳定生成后,每个输出 Token 平均需要的时间。

    2. Decode:每轮只产生一个新 Token

    Decode 阶段是严格串行的:第 n+1 个 Token 必须等第 n 个 Token 确定后才能生成。GPU 可以批量服务多名用户,但同一条输出的时间依赖无法完全消除。

    3. KV Cache:避免每轮重读整本书

    注意力计算需要过去 Token 的 K 和 V。如果每生成一个新 Token 都重新计算全部历史,成本会非常高。KV Cache 会保存每一层中历史 Token 的 K、V;下一轮只计算新 Token 的表示,再让它查询缓存。

    可以把它类比成做读书笔记:

    没有 KV Cache,每写一个字都要从第一页重读到当前页;有 KV Cache,则保留前文的索引笔记,只处理新写的部分。

    代价是显存占用会随上下文长度、层数、批量请求数增长。生产系统通常采用连续批处理、张量并行、流水线并行、量化与缓存分页等技术提高利用率。vLLM 的 PagedAttention 论文 借鉴操作系统虚拟内存分页,减少 KV Cache 的内存碎片与重复;FlashAttention 则通过 IO 感知的分块计算,减少 GPU 高带宽内存与片上 SRAM 之间的数据搬运。

    这说明一个常被忽略的事实:AI 的速度不只由“算力多少”决定,还受显存容量、显存带宽、批处理调度、网络通信和内核实现影响。


    八、为什么答案会像打字一样出现:流式输出不是模型在键盘上敲字

    先说人话:“流式输出”就是生成一点、发送一点、显示一点。服务器不等 AI 把整篇答案写完,而是每得到一小段内容就立刻传给你的浏览器,所以屏幕上的文字看起来像有人正在打字。它改变的是答案的传输和显示方式,并不代表模型真的在使用键盘。

    模型一旦生成新的 Token,服务器就可以把对应文本增量发送给客户端。Web 场景常用 Server-Sent Events(SSE),双向实时场景也可能使用 WebSocket 或 WebRTC。

    简化后的事件流可能是:

    event: response.created

    event: response.output_text.delta
    data: {"delta":"天空"}

    event: response.output_text.delta
    data: {"delta":"呈现蓝色"}

    event: response.output_text.delta
    data: {"delta":",主要因为……"}

    event: response.completed

    OpenAI 的官方 Streaming API 文档 也采用文本增量事件。客户端收到片段后不断追加到页面,所以我们感觉 AI 正在“现场打字”。

    需要注意,Token 边界不一定等于汉字或单词边界,UTF-8 字节也可能跨片段,因此成熟的服务端与客户端会正确处理解码缓冲,而不是把每个网络包粗暴当成完整字符。


    九、今天的 AI 往往还会查资料、调用工具,而不只是靠参数回答

    **先说人话:**模型本身像一个读过很多书、但不能保证记得最新消息的人。RAG 相当于回答前先给它查资料;Tool Use 相当于给它计算器、搜索引擎和业务软件;Agent 则相当于让它根据任务连续决定“下一步该用什么工具”。这一层干的事情,就是把只会处理语言的模型,接到真实信息和实际操作上。

    纯语言模型只能根据参数和当前上下文生成文本。若用户问实时天气、个人账户余额或最新新闻,训练参数显然不够。现代 AI 系统通常在模型外增加工具层。

    在这里插入图片描述

    1. RAG:先检索,再生成

    RAG(Retrieval-Augmented Generation,检索增强生成)的典型流程是:

  • 把用户问题转换为向量;
  • 在向量数据库或搜索引擎中寻找相关文档;
  • 选取若干片段放入上下文;
  • 要求模型依据片段组织答案并给出引用。
  • RAG 相当于给闭卷考试的模型发了一份临时资料。它有三个主要价值:知识可以更新、答案可以追溯、私有资料不必全部训练进参数。原始 RAG 研究可参考 Meta AI 团队的论文 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks。

    但 RAG 并不会自动保证正确:检索可能漏掉关键材料,召回的网页可能本身错误,切片可能割裂上下文,模型也可能没有忠实引用。因此高质量 RAG 还需要重排序、权限控制、时间过滤、引用核验与评测体系。

    2. Tool Use:让模型决定何时调用外部能力

    如果用户问“23.7 × 18.4 等于多少”,系统可以让模型调用计算器;如果用户说“查一下明天上海天气”,模型可生成结构化调用:

    {
    "tool": "weather",
    "arguments": {"city": "上海", "date": "明天"}
    }

    编排层执行工具,把结果作为新消息放回上下文,模型再生成自然语言答案。在这个闭环里,模型主要负责理解意图、选择工具、构造参数和解释结果;真正的计算、检索或业务操作由外部系统完成。

    因此“AI 会联网”并不是模型权重里突然多了一根网线,而是应用给模型接入了浏览器、数据库、代码执行器或企业 API。

    3. Agent:多轮规划与执行

    当系统允许模型反复执行“观察—计划—调用工具—读取结果—修正计划”,就形成了 Agent 式工作流。例如“分析仓库并修复测试失败”可能包含查文件、运行测试、定位错误、修改代码、再次验证等多步操作。

    Agent 的上限不只取决于模型智力,还受工具质量、权限边界、状态管理、失败恢复和结果验证影响。一个很强的模型配上含糊的工具说明,仍可能频繁调用错误;一个良好的编排系统会限制危险操作、记录轨迹,并在高风险动作前要求确认。


    十、为什么 AI 会一本正经地胡说?“幻觉”是生成目标的结构性风险

    先说人话:“幻觉”就是 AI 生成了听起来合理、实际上没有事实依据的内容。原因并不是它故意撒谎,而是它的首要本领是把后面的文字接得通顺,不是自动查验每一句话真假。当信息不足、记忆模糊或前面已经猜错时,它仍可能顺着错误继续编出一个完整故事。

    语言模型的直接目标,是生成在当前上下文下看起来概率较高的后续 Token,而不是访问一台永远正确的事实数据库。只要某段错误内容在语言形式上足够连贯,模型就可能生成它。

    常见原因包括:

    1. 参数中的知识是压缩、分布式且不完整的

    冷门事实、精确数字、长尾人名可能只在训练数据中出现过少数次,甚至彼此矛盾。模型可能掌握“此处应该出现一本论文和作者”的语言模式,却记不清真实标题,于是拼出一个看似合理的引用。

    2. 用户的问题缺少必要条件

    “帮我算一下收益率”却没有本金、期限和现金流。若模型没有先提问,而是自行补齐条件,就会得到流畅但不对应用户实际情况的答案。

    3. 自回归错误会积累

    生成早期选错一个 Token,后续模型会把这个错误也当作既定上下文,继续把故事圆下去。局部看每一步都“顺”,整体却离事实越来越远。

    4. 工具或检索链路也可能出错

    搜索结果过时、网页标题误导、数据库字段含义错误、OCR 识别失败,都可能把错误信息注入上下文。接入工具只能改变错误来源,不能消灭错误。

    降低幻觉的实用办法包括:

    • 对实时、精确和高风险信息使用权威资料检索;
    • 要求逐条附来源,并实际检查来源是否支持结论;
    • 让模型明确区分“已知事实、推断、假设”;
    • 对计算使用计算器或代码,对业务数据使用数据库;
    • 对关键输出做规则校验、单元测试或人工复核;
    • 不要用“说得像真的”代替证据。

    在医疗、法律、金融、生产控制等高风险场景中,AI 更适合作为辅助系统,而不是无监督的最终决策者。


    十一、内容安全与隐私发生在哪里

    **总结:**安全和隐私不是模型自己“自觉做到”的,而是整套系统在多个关口共同把守。它干的事情包括:检查有没有危险内容、确认用户有没有权限、限制模型能看到哪些数据、阻止它直接执行高风险操作,以及记录谁在什么时候做了什么。可以把它理解成机场里的证件检查、安检、登机口和监控系统。

    一次 AI 请求可能在多个位置接受安全控制:

    • 请求前:客户端限制文件类型、大小或敏感操作;
    • 网关层:检测滥用、异常流量、越权访问;
    • 模型前后:对输入和输出进行分类、过滤或策略判断;
    • 工具层:限制模型能调用哪些工具、能访问哪些数据;
    • 执行层:高风险操作使用沙箱、最小权限、审批与审计日志;
    • 产品层:对未成年人、企业数据、地区法规采用不同策略。

    隐私方面,要区分“请求传输”“服务日志”“对话存储”“模型训练”和“工具访问”五件不同的事。HTTPS 只保护传输过程不被轻易窃听,并不等于服务端完全不处理或不保存内容。企业在接入 AI 时应明确数据保留周期、是否用于训练、子处理方、跨境要求、删除机制和访问审计,而不是只看聊天窗口上的一句宣传语。

    另一个重要原则是:模型能看到的内容,不应超过完成任务所必需的范围。若只需读取订单状态,就不要给模型整个客户数据库的写权限。对于能够发邮件、转账、删除文件或部署代码的 Agent,应采用“模型提出动作,确定性系统校验,人类批准高风险步骤”的设计。


    十二、用一条真实链路把所有环节串起来

    **总结:**前面讲的是一堆零件,这一章要把零件装成整台机器。我们用“阅读公司年报并计算毛利率”这个任务,看清文件解析、资料检索、模型理解、计算器、引用检查和页面展示是怎样前后衔接的。目的就是让你看到:可靠答案通常不是模型单独完成的,而是多个组件接力完成的。

    现在假设用户问:

    请根据我上传的公司年报,总结今年毛利率变化,并与去年对比。

    系统可能这样执行:

    第一步:接收请求。 客户端上传 PDF,并发送问题。网关验证用户身份与文件权限。

    第二步:解析文档。 文档服务提取 PDF 文本与表格;如果页面是扫描图,则先做 OCR。系统可能为片段建立向量索引。

    第三步:检索证据。 检索模块找到“营业收入”“营业成本”“毛利率”以及上年同期数据所在页面,并把原文、表格与页码返回。

    第四步:组装上下文。 编排层加入系统要求,例如“只依据年报;金额单位统一;每个关键数字附页码;找不到时不要猜”。

    第五步:Token 化与 Prefill。 问题和检索片段被转为 Token,模型并行读取,生成 KV Cache。

    第六步:决定是否调用计算器。 模型可能构造公式:

    毛利率 =(营业收入 – 营业成本)/ 营业收入 × 100%

    然后调用计算工具,避免心算误差。

    第七步:逐 Token 生成。 模型先写结论,再写计算过程、同比变化和可能原因。服务端把文本增量流式传回。

    第八步:输出校验。 系统检查引用页码是否存在、数字是否与工具结果一致、回答是否泄露无权限内容。

    第九步:页面渲染。 用户看到一份带表格、公式和引用的报告。

    在这条链路中,“大模型”只是核心推理组件之一。PDF 解析、OCR、检索、权限、计算器与校验器共同决定了答案是否可靠。把所有功劳或错误都归因于模型,往往会错过真正的系统瓶颈。


    十三、几个最容易被误解的问题

    **总结:**很多人会把 AI 想成搜索引擎、资料仓库或缩小版人脑,但这些比喻都只说对了一部分。这一章干的事情,就是把几个最容易产生误会的地方重新摆正:它能生成不等于它知道事实,它说得稳定不等于说得正确,上下文很长也不等于每句话都能被准确记住。

    误解一:AI 就是一个高级搜索引擎

    搜索引擎的核心是从索引中找到已有文档;生成模型的核心是根据上下文计算下一个 Token 的概率。带联网能力的 AI 可以先搜索再生成,但这是两种机制的组合,不是同一件事。

    误解二:AI 回答时会从训练集里找到原文

    模型可能复现常见短语,极端情况下也可能记忆训练片段,但一般回答主要由参数化计算动态生成。不能把模型想象成保存了所有训练网页的压缩包,也不能据此认为它的回答天然可追溯。

    误解三:参数越多,回答就必然越正确

    参数规模影响模型容量,但最终质量还取决于数据、训练方法、推理计算、上下文、工具、检索和评测。小一些但经过良好指令对齐的模型,可能在特定任务上优于更大的基础模型。

    误解四:上下文越长越好

    更长上下文能容纳更多资料,却带来延迟、成本和注意力稀释。把整座资料库塞进提示词,通常不如先检索、重排,再提供少量高相关证据。

    误解五:Temperature 设为 0 就绝对确定、绝对正确

    低温度通常降低随机性,但硬件并行、服务实现、模型版本变化仍可能造成差异;更重要的是,稳定地产生同一个答案不代表答案正确。确定性与真实性是两条不同轴。

    误解六:模型给出了推理过程,就等于公开了内部真实思考

    AI 写出的解题步骤,是它生成给人看的解释,不是它内部神经网络计算过程的录像。这些步骤可以帮助我们检查答案,但不能单凭“过程写得很详细”就认定答案正确。真正可靠的做法,是用计算器、代码、资料来源或重复测试验证结果。


    十四、从工程视角看,一次请求的时间和成本花在哪里

    **先说人话:**AI 回答得慢或价格高,不一定只是因为“模型太大”。时间可能花在排队、读长文档、搜索资料、调用工具和逐字生成上;费用则主要来自处理了多少输入、生成了多少输出以及用了多强的模型。这一章干的事情,就是找出钱和时间到底消耗在哪些环节,方便有针对性地优化。

    可以用一个简化式理解总体延迟:

    总延迟 ≈ 网络与排队 + 输入处理/检索 + Prefill + Decode + 工具调用 + 后处理

    其中:

    • 输入很长时,Prefill 成本突出;
    • 输出很长时,Decode 成本突出;
    • 高并发时,排队与批处理调度突出;
    • Agent 多次搜索或执行代码时,工具往返突出;
    • 跨区域访问时,网络延迟更明显。

    成本通常与输入 Token、输出 Token、模型规模、推理硬件和额外工具调用有关。对企业系统来说,优化不只是“换一个更便宜的模型”,还包括:

    • 缩短无用系统提示和重复历史;
    • 对稳定前缀使用提示缓存;
    • 先用小模型做分类与路由,把困难请求交给强模型;
    • 用 RAG 只注入相关片段;
    • 限制无意义的超长输出;
    • 把精确计算交给传统程序;
    • 建立离线评测,避免为了省 Token 牺牲关键质量。

    生产系统经常采用“模型级联”:便宜、快速的小模型处理常见问题;检测到复杂推理、低置信度或高风险任务时,再升级到更强模型。优秀架构追求的不是单次演示最惊艳,而是在质量、速度、成本与风险之间稳定平衡。


    十五、最后,用一句人话总结 AI 的工作方式

    **先说人话:**整件事可以理解成四步:先把你的问题整理好,再翻译成数字;模型根据前后关系逐个生成文字;需要时去外部查资料或调用工具;最后经过安全检查,把内容一点点传回屏幕。AI 的神奇体验来自这四步配合,而不是某一个会魔法的黑盒。

    如果必须把全文压缩成一句话:

    AI 服务先把你的问题和相关上下文变成 Token;大语言模型用多层 Transformer 计算这些 Token 之间的关系,并反复预测下一个 Token;外围系统再负责检索资料、调用工具、安全校验和流式传输,最终把答案呈现在屏幕上。

    再进一步说,AI 既不是装着所有答案的数据库,也不是一个神秘的电子人脑。它更像一台经过大规模训练的通用语言计算引擎:参数提供压缩后的先验能力,上下文提供当前任务信息,工具提供实时世界与精确操作,工程系统负责让这一切可用、可控、可扩展。

    当我们理解这条链路后,许多现象都会变得清晰:

    • 它为什么能写出从未见过的句子——因为答案是逐 Token 生成的;
    • 它为什么会说错——因为语言概率不等于事实保证;
    • 它为什么能记住本轮对话——因为历史被放回上下文;
    • 它为什么能查天气——因为系统给它接入了外部工具;
    • 它为什么第一个字慢——因为要先完成上下文的 Prefill;
    • 它为什么越聊越贵——因为输入上下文和输出 Token 都消耗计算;
    • 它为什么看起来会思考——因为大规模 Transformer 能在语言序列上执行复杂的条件计算和多步生成。

    真正值得关注的问题,已经不只是“模型有多大”,而是:数据是否可靠?上下文是否清楚?工具是否可信?权限是否最小化?结果是否经过验证?

    这也许是使用 AI 最重要的心法:把它当作能力强大的系统组件,而不是永远正确的答案机器。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » AI 到底是怎么工作的?从你按下发送键,到答案出现在屏幕上的全过程
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!