背景与问题
很多开发者第一次接触大语言模型时,容易把它当成一个“更聪明的文本补全接口”。但真正落地到问答、摘要、代码生成或企业知识库时,常会遇到三类问题:模型为什么会答非所问?为什么长文档后半部分信息被忽略?为什么同样一个问题,换一种问法结果差异很大?

这些问题通常都绕不开三个基础概念:Transformer、上下文窗口和提示词。Transformer 决定了模型如何理解与生成文本;上下文窗口决定了模型一次能“看到”多少内容;提示词则决定了你把什么信息、以什么结构交给模型。理解这三者,是从调用 API 到构建稳定 AI 应用的第一步。
核心概念
Transformer:用注意力机制理解序列
据公开资料,Transformer 由 Vaswani 等人在 2017 年论文《Attention Is All You Need》中提出。与传统 RNN 逐词处理不同,Transformer 的核心是自注意力机制:模型在处理一个词时,可以同时关注句子中其他位置的信息,并计算它们之间的关联强度。
可以用一个工程化类比:如果把一句话看成一组服务调用,自注意力就像在每次处理某个节点时,动态查询其他节点的相关性,再按权重汇总结果。典型流程包括:将文本转成词向量,叠加位置编码,计算 Query、Key、Value,通过缩放点积得到注意力分数,再聚合得到新的表示。
现代大语言模型常见结构包括 Encoder、Decoder 或 Decoder-only。据公开资料,BERT 一类模型更偏 Encoder 表示,GPT 一类生成模型通常采用 Decoder-only 结构。对应用开发者来说,不必从零实现模型,但需要知道:模型不是逐字检索,而是基于上下文概率分布进行预测。
上下文窗口:模型一次能看到的 token 范围
上下文窗口通常指模型在一次推理中可处理的 token 数量上限。这里的 token 不完全等于汉字或英文单词,可能被分词器切成子词或字符片段。窗口越大,模型能同时参考的历史越多,但不等于无限记忆。
上下文窗口带来三个工程约束:
- 容量限制:输入、系统提示、历史对话和输出预留都会占用 token。
- 注意力成本:窗口越长,推理延迟与显存开销通常越高。
- 信息衰减:即使窗口足够长,模型也可能对中间或靠后内容关注不足,需要结构化排版。
因此,长文本应用不能简单把所有资料塞进去,而要做摘要、检索、分块和排序。
提示词:把任务变成可执行的输入协议
提示词不是“咒语”,更像接口文档。一个好的提示词应明确任务目标、输入材料、输出格式、约束条件和示例。对于复杂任务,还可以加入角色设定、推理步骤要求或拒绝回答策略。
例如,让模型做技术摘要时,与其写“帮我总结一下”,不如提供结构化字段:背景、方案、风险、结论。这样输出更稳定,也便于程序解析。
实践步骤或检查清单
- 第一步:明确任务类型。判断是分类、抽取、摘要、改写、问答还是生成代码。任务越明确,越容易设计提示词。
- 第二步:估算上下文预算。为系统提示、用户输入、参考资料和输出分别预留 token,避免超限。
- 第三步:组织输入结构。使用标题、编号、列表和分隔线,把关键信息放在显眼位置。
- 第四步:提供最少但充分的示例。如果输出格式严格,给 1 到 3 个示例通常比长篇解释更有效。
- 第五步:要求模型标注不确定性。例如“若资料不足,请说明缺少哪些信息”,可降低幻觉风险。
- 第六步:做回归测试。准备一组典型问题、边界问题和异常输入,持续比较不同提示词版本。
一个简单示例是构造对话消息列表,把系统指令、用户问题和上下文资料分开:
messages = [{'role': 'system', 'content': '你是技术文档编辑,只根据资料回答'}, {'role': 'user', 'content': '资料:... 问题:上下文窗口是什么?'}]这段代码不是完整调用,而是说明:在工程实践中,应把角色、规则和问题分层传入,而不是混成一段自然语言。
常见坑与建议
- 把长窗口当成无限记忆。窗口大只表示可输入更多 token,不代表所有细节都会被同等利用。建议对长文档做目录、摘要和检索增强。
- 提示词过度依赖模型自觉。如果要求 JSON 输出,应明确字段名、类型和空值处理,必要时用后处理校验。
- 忽略 token 计算差异。中文、英文、代码和标点的分词方式不同,不能只按字符数估算,请以所用模型的分词器或官方文档为准。
- 频繁改提示词但没有评估集。没有固定测试集,很难判断优化是真实提升还是偶然波动。
- 把模型输出当事实源。大语言模型可能生成看似合理但错误的内容。关键场景应结合权威数据、引用来源或人工审核。
建议采用“提示词即代码”的思路:版本化管理、写注释、做 A/B 测试,并把失败案例沉淀为回归用例。
延伸阅读方向
- Transformer 原始论文《Attention Is All You Need》及其图解资料,可帮助理解自注意力、多头注意力和位置编码。
- 分词器与 token 计数工具,用于理解上下文窗口和成本估算。
- RAG(检索增强生成)与向量数据库,适合处理长文档、企业知识库和实时数据。
- 提示词评估与自动化优化,例如固定数据集、指标打分和提示词版本管理。
- 模型安全与对齐基础,包括越权提示、敏感信息泄露和输出内容审核。
总体而言,大语言模型应用并不是玄学。理解 Transformer 的序列建模方式,尊重上下文窗口的工程边界,再用结构化提示词把任务说清楚,输出质量通常会明显提升。对开发者来说,这三块基础越扎实,后续做 Agent、RAG 和自动化工作流时就越不容易踩坑。
参考来源
免责声明:本文内容整理自公开网络资料,仅供学习交流参考,不代表观山书院立场。如涉及版权侵权,请联系我们删除。
联系邮箱:chenxj.g@gmail.com
