核心概念解析: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)是目前最实用的大模型应用模式之一。它的核心思想是:模型不需要记住所有知识,只需要知道去哪里查。
工作流程很简单:
- 用户提问
- 从知识库中检索最相关的文档片段(用 Embedding 做语义搜索)
- 把检索到的内容作为上下文,拼接到 Prompt 里
- 模型基于这个上下文生成回答
这样做的好处很明显:
- 知识实时更新:你只需要更新知识库,不需要重新训练模型
- 减少幻觉:模型有参考资料,不会凭空编造
- 可追溯:你可以知道模型是根据哪份文档回答的
我的实践经验:做 RAG 系统时,最关键的其实是检索质量。我建议用混合检索:关键词匹配 + 语义搜索。另外,文档切分的大小也很讲究,我一般控制在 500-1000 Token 一段,太长了模型会丢失重点,太短了上下文不够。
7. Agent:让模型学会"动手"
Agent 是大模型应用里最"高级"的概念。它不只是回答问题,而是能自主地执行一系列操作:调用 API、查询数据库、发送邮件、甚至控制硬件。
一个典型的 Agent 工作流程:
- 接收用户指令(比如"帮我查一下明天的天气,如果下雨就提醒我带伞")
- 模型理解意图,拆解成子任务
- 调用工具(天气 API、日历 API)
- 根据工具返回的结果,决定下一步行动
- 最终生成回复或执行操作
目前主流的 Agent 框架有 LangChain、AutoGPT、CrewAI 等。它们本质上都是在做一件事:让模型学会使用工具。
关键洞察:Agent 的难点不在于模型本身,而在于"规划"和"容错"。模型可能会误解指令,也可能会调用错误的工具。我建议给 Agent 加一个"反思"步骤:每次执行完一个操作,让模型自己检查一下结果是否合理。
总结:这些概念怎么串起来?
好,咱们捋一捋。这些概念不是孤立的,它们构成了一个完整的大模型应用栈:
- Token 是基础货币,控制成本
- Prompt 是输入设计,决定输出质量
- Temperature/Top-p 是参数调优,控制风格
- Embedding 是语义理解,让机器"懂"意思
- Fine-tuning 是模型定制,适应特定场景
- RAG 是知识增强,解决实时性和幻觉问题
- Agent 是行动能力,让模型从"说"到"做"
你想想看,一个成熟的大模型应用,往往是这些技术的组合。比如一个智能客服系统:用 RAG 接入知识库,用 Fine-tuning 优化回复风格,用 Agent 调用工单系统,用 Temperature 控制回复的严谨度。
嗯,这一章的内容就到这儿。下一章我们会深入讲 Prompt 工程的具体技巧,到时候我会分享更多实战中的"骚操作"。记住,理论是基础,但真正值钱的是你怎么用这些工具解决实际问题。