背景与问题
很多开发者第一次接触大语言模型时,容易把它当成一个“更聪明的接口”:传入一段话,等待一段回答。真正落地后,问题很快出现:模型为什么会忘记前面的要求?为什么长文档粘贴进去后反而答非所问?为什么同样的问题,不同提示词会得到截然不同的结果?要理解这些现象,绕不开三个基础概念:Transformer、上下文窗口和提示词。

本文面向开发者与 AI 从业者,尝试用工程视角讲清楚:大语言模型是如何处理文本的,一次请求的可见范围有多大,以及我们应如何组织输入,让模型更稳定地完成任务。
核心概念
Transformer:大语言模型的主流骨架
据公开资料,当前主流大语言模型大多基于 Transformer 架构。它的核心突破并不神秘:不再像早期循环网络那样逐词顺序处理,而是通过自注意力机制一次性计算序列中各个词之间的关系。
可以把自注意力理解成一种“查找与加权”过程:每个词会生成 Query、Key、Value 三类向量,模型通过 Query 和 Key 的相似度得到注意力分数,再用这些分数对 Value 加权求和。这样,句子中的每个位置都能参考其他位置的信息。
# 极简示意:自注意力中的分数计算
scores = Q @ K.T / (d_k ** 0.5)
weights = softmax(scores)
output = weights @ V
这段伪代码不是为了实现完整模型,而是说明:注意力本质上是一组可学习的权重,决定模型在当前任务中更关注哪些上下文。实际 Transformer 还包含多头注意力、位置编码、残差连接、层归一化和前馈网络等模块。原始论文中常见编码器与解码器结构;而当前许多对话模型更常见 decoder-only 自回归结构,即根据前文逐个预测下一个 token。不同模型在结构细节上有差异,请以官方文档为准。
上下文窗口:模型一次能看见的范围
上下文窗口通常指模型在一次推理中能够处理的 token 上限。注意,这里说的是 token,不完全等于汉字、单词或字符。中文场景下,一个汉字可能对应一个或多个 token,具体取决于分词器。
工程上要把上下文窗口理解为“工作记忆”而不是“长期记忆”。如果历史对话、系统说明、检索资料、用户问题加起来超过窗口,通常会被截断或报错;即使没有超过,信息过多也可能导致关键内容被稀释。
提示词:输入组织方式,而不是咒语
提示词并不只是“问一句话”,而是整个输入的结构化设计。常见输入包括系统指令、背景资料、用户问题、示例、输出格式约束等。好的提示词往往不是堆砌形容词,而是明确任务边界、输入格式和验收标准。
实践步骤或检查清单
- 先定义任务:是摘要、分类、抽取、改写,还是代码生成?不同任务需要不同的上下文和输出约束。
- 控制上下文:不要把全部资料原样塞入窗口。优先保留与当前问题强相关的内容,必要时先做摘要、分段或检索。
- 使用结构化指令:明确角色、目标、输入、限制和输出格式。例如要求模型只输出 JSON,或先给出结论再给出依据。
- 提供少样本示例:如果任务格式复杂,可以给一到两个高质量示例,减少模型对格式的猜测。
- 设置参数并测试:温度、最大输出长度等参数会影响结果稳定性。分类、抽取类任务通常更适合较低温度。
# 一个常见的消息组织示例
messages = [
{'role': 'system', 'content': '你是严谨的技术编辑,回答要简洁。'},
{'role': 'user', 'content': '用三句话解释上下文窗口。'}
]
这段代码展示的是对话式接口中常见的消息结构。实际字段名和调用方式会因平台而异,请以官方文档为准。
常见坑与建议
- 把上下文窗口当永久记忆:模型不会自动记住窗口之外的历史。跨会话记忆需要外部存储、摘要或检索系统。
- 盲目追求长上下文:窗口越大不等于效果越好。无关内容过多会增加成本,也可能让模型抓不住重点。
- 忽略 token 计数:长文本应用应提前估算输入与输出 token,避免超限截断。
- 提示词含糊:例如只写“帮我优化一下”,模型可能无法判断优化目标是性能、可读性还是风格。
- 缺少验证:大语言模型可能生成看似合理但错误的内容。关键字段、数字、代码都应加入校验或测试。
- 泄露敏感信息:不要把密钥、隐私数据或内部机密直接拼进提示词,除非已确认合规与安全边界。
延伸阅读方向
- 注意力机制与模型结构:进一步理解 Query、Key、Value、多头注意力与位置编码。
- Tokenizer 与 token 计数:了解不同分词器如何影响长度、成本与多语言效果。
- RAG 检索增强生成:当知识量大且更新频繁时,可结合检索系统管理上下文。
- 结构化输出与函数调用:学习 JSON Schema、工具调用和 Agent 设计。
- 评估与回归测试:建立提示词版本管理、样例集和自动评估流程,让效果可度量。
总体来说,大语言模型不是黑盒魔法,而是可以被工程化约束的概率序列模型。理解 Transformer 的处理方式、上下文窗口的边界和提示词的组织方法,是进入 LLM 应用开发的第一步。
参考来源
免责声明:本文内容整理自公开网络资料,仅供学习交流参考,不代表观山书院立场。如涉及版权侵权,请联系我们删除。
联系邮箱:chenxj.g@gmail.com
