核心概念解析:Token、Prompt、Temperature、Top-p、Embedding、Fine-tuning、RAG、Agent

好,咱们直接进入正题。这一章我打算把大模型应用里最基础、也最容易混淆的几个概念一次性讲透。你可能会觉得这些词都听过,但真要用起来,很多人其实是一知半解的。我当年刚接触时也踩过不少坑,今天就把这些经验掰开揉碎了说给你听。

1. Token:大模型的基本货币

Token 是什么?说白了,就是大模型理解语言的最小单位。它不是一个字,也不是一个词,而是一个被切分后的片段。

举个例子:

"我喜欢大模型" → 可能被切分为 ["我", "喜欢", "大", "模型"] 或 ["I", " like", " large", " models"]

中文里一个 Token 通常是一个字或一个词,英文里一个 Token 可能是半个词或一个词。为什么会这样?因为模型训练时就是这么切的。

关键点:Token 数量直接决定了你的调用成本。GPT-4 的定价是按 Token 算的,输入和输出都收费。我见过有团队把整本小说塞进 Prompt,结果一次对话花了几十块钱——嗯,这就是没算清楚 Token 的代价。

我的习惯:每次写 Prompt 前,我会先用 Tokenizer 工具估算一下长度。比如 OpenAI 的在线 Tokenizer,或者直接用 tiktoken 库在本地算。养成这个习惯,能省不少钱。

2. Prompt:你与模型对话的桥梁

Prompt 就是你给模型的输入指令。别小看它,同样的模型,不同的 Prompt 能产出天差地别的结果。

我总结了一个 Prompt 设计的黄金法则:清晰、具体、有上下文

  • 清晰:别让模型猜你要什么。比如不要说"写个文案",要说"写一段 200 字的朋友圈文案,推广一款智能手表,目标用户是 25-35 岁的职场人士"。
  • 具体:给出格式、风格、长度等约束。比如"用 Markdown 格式,分三点列出"。
  • 有上下文:如果对话有历史,把关键信息带上。比如"基于我们刚才讨论的客户需求,现在生成一份报价单"。

我曾经踩过的坑:有一次做客服机器人,我写了个很简单的 Prompt:"回答用户问题"。结果模型开始自由发挥,编造产品信息。后来我加了一句"如果你不知道答案,就说'抱歉,我暂时无法回答这个问题'",问题立刻解决了。所以,一定要给模型设定边界

3. Temperature 与 Top-p:控制模型的"创造力"

这两个参数经常一起出现,它们控制的是模型输出的随机性。

参数 作用 取值范围 典型场景
Temperature 控制输出概率分布的"尖锐度" 0-2(常用 0-1) 低值(0.1-0.3):事实问答、代码生成;高值(0.7-1.0):创意写作、头脑风暴
Top-p 从累积概率达到 p 的 Token 中采样 0-1 低值(0.1-0.3):保守输出;高值(0.9-1.0):多样性输出

简单理解:Temperature 越低,模型越"保守",总是选概率最高的 Token;Temperature 越高,模型越"大胆",会选一些概率低的 Token,输出更有创意但也可能跑偏。

Top-p 则是另一种策略:它不看温度,而是看累积概率。比如 Top-p=0.9,模型只从累积概率达到 90% 的那些 Token 里选,排除了那些极低概率的"噪音"。

我建议:实际使用时,我一般固定 Temperature,微调 Top-p。比如做代码生成,Temperature=0.2,Top-p=0.1;做故事生成,Temperature=0.8,Top-p=0.9。你想想看,这样组合起来,控制粒度更细。

4. Embedding:把文字变成向量

Embedding 就是把文字、句子甚至整个文档,映射到一个高维向量空间里。说白了,就是把"意思"变成数学。

为什么要这么做?因为计算机只懂数字,不懂文字。有了 Embedding,我们就可以计算两段文字的"相似度"——比如用余弦相似度。

# 一个简单的 Embedding 使用示例
from openai import OpenAI
client = OpenAI()

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="我喜欢大模型"
)
embedding = response.data[0].embedding  # 一个 1536 维的向量

Embedding 最常见的应用就是语义搜索。传统搜索靠关键词匹配,搜"苹果"不会返回"iPhone"。但 Embedding 搜索可以,因为它们的向量是相近的。

核心价值:Embedding 是 RAG(检索增强生成)的基石。没有它,你就没法从海量文档里找到最相关的内容。

5. Fine-tuning:让模型更懂你

Fine-tuning 就是在预训练模型的基础上,用你自己的数据再做一次训练。目的是让模型适应你的特定任务或领域。

什么时候需要 Fine-tuning?

  • 你的任务有特定的输出格式(比如生成 JSON)
  • 你的领域有大量专业术语(比如医疗、法律)
  • 你需要模型模仿某种特定的语气或风格

但注意,Fine-tuning 不是万能的。我见过有人拿 100 条数据就去 Fine-tune,结果效果还不如写个好点的 Prompt。

我曾经犯过的错:有一次为了优化客服机器人的回复质量,我 Fine-tune 了一个模型,花了三天时间准备数据、训练、评估。结果上线后发现,模型对未见过的用户问题表现很差。后来我改用 RAG + Prompt 工程,两天就搞定了,效果还更好。所以,先试试 Prompt 和 RAG,最后才考虑 Fine-tuning

6. RAG:给模型装上"外挂"知识库

RAG(Retrieval-Augmented Generation)是目前最实用的大模型应用模式之一。它的核心思想是:模型不需要记住所有知识,只需要知道去哪里查。

工作流程很简单:

  1. 用户提问
  2. 从知识库中检索最相关的文档片段(用 Embedding 做语义搜索)
  3. 把检索到的内容作为上下文,拼接到 Prompt 里
  4. 模型基于这个上下文生成回答

这样做的好处很明显:

  • 知识实时更新:你只需要更新知识库,不需要重新训练模型
  • 减少幻觉:模型有参考资料,不会凭空编造
  • 可追溯:你可以知道模型是根据哪份文档回答的

我的实践经验:做 RAG 系统时,最关键的其实是检索质量。我建议用混合检索:关键词匹配 + 语义搜索。另外,文档切分的大小也很讲究,我一般控制在 500-1000 Token 一段,太长了模型会丢失重点,太短了上下文不够。

7. Agent:让模型学会"动手"

Agent 是大模型应用里最"高级"的概念。它不只是回答问题,而是能自主地执行一系列操作:调用 API、查询数据库、发送邮件、甚至控制硬件。

一个典型的 Agent 工作流程:

  1. 接收用户指令(比如"帮我查一下明天的天气,如果下雨就提醒我带伞")
  2. 模型理解意图,拆解成子任务
  3. 调用工具(天气 API、日历 API)
  4. 根据工具返回的结果,决定下一步行动
  5. 最终生成回复或执行操作

目前主流的 Agent 框架有 LangChain、AutoGPT、CrewAI 等。它们本质上都是在做一件事:让模型学会使用工具

关键洞察:Agent 的难点不在于模型本身,而在于"规划"和"容错"。模型可能会误解指令,也可能会调用错误的工具。我建议给 Agent 加一个"反思"步骤:每次执行完一个操作,让模型自己检查一下结果是否合理。

总结:这些概念怎么串起来?

好,咱们捋一捋。这些概念不是孤立的,它们构成了一个完整的大模型应用栈:

  • Token 是基础货币,控制成本
  • Prompt 是输入设计,决定输出质量
  • Temperature/Top-p 是参数调优,控制风格
  • Embedding 是语义理解,让机器"懂"意思
  • Fine-tuning 是模型定制,适应特定场景
  • RAG 是知识增强,解决实时性和幻觉问题
  • Agent 是行动能力,让模型从"说"到"做"

你想想看,一个成熟的大模型应用,往往是这些技术的组合。比如一个智能客服系统:用 RAG 接入知识库,用 Fine-tuning 优化回复风格,用 Agent 调用工单系统,用 Temperature 控制回复的严谨度。

嗯,这一章的内容就到这儿。下一章我们会深入讲 Prompt 工程的具体技巧,到时候我会分享更多实战中的"骚操作"。记住,理论是基础,但真正值钱的是你怎么用这些工具解决实际问题。