一、Token 机制核心逻辑
- Token 本质大模型处理文本的最小计算与计数单位,中文中 1 个汉字 ≈ 1.5~2 Token,所有输入输出(角色设定、用户问题、历史回复、约束条件)都会折算成 Token。
- 上下文窗口 = Token 总容量上限上下文窗口是模型单次能 “看到” 的全部文本空间,常见规格:4k/8k/16k/32k Token。总 Token = 角色 Prompt + 历史对话 + 当前提问 + 模型回复。
- Token 溢出逻辑(关键必记)
- 当总 Token 超出窗口上限时,模型不会报错、无提醒、肉眼不可见;
- 模型会自动从最早的内容开始截断丢弃,优先保留最新对话;
- 最先被删掉的通常是初始角色设定、约束规则、核心指令;
- 直接后果:模型遗忘身份、不遵守规范、输出漂移、产生幻觉、出现 BadCase。
二、上下文管理核心逻辑
- 上下文是什么上下文 = 本轮对话内所有历史交互记录 + 系统指令 + 角色约束,是模型生成回答的全部依据。
- 为什么会出现上下文管理不当
- 长期不清空对话,历史无限堆积,挤占 Token 空间;
- 约束指令放在对话最前方,极易被溢出截断;
- 冗余对话过多,稀释关键约束,模型更关注最新内容而忽略早期规则;
- 未做历史精简,无效信息大量占用上下文容量。
- 标准上下文管理方法
- 用例隔离:每条测试用例独立新开对话,保证上下文干净无干扰;
- 约束后置:角色与约束固定放在每轮对话末尾,提升模型关注度;
- 历史精简:长对话用摘要(Summary)替代完整原文,大幅降低 Token 占用;
- 阈值控制:监控 Token 用量,接近上限时清理早期无关历史;
- 重复强化:多轮对话中定期重申关键约束,防止遗忘。
三、一句话高度总结
Token 决定上下文容量上限,溢出会静默丢弃早期内容;
上下文管理的核心,就是控制历史长度、保护关键指令、避免约束被截断或稀释, 从而保证模型输出稳定、评测结果可复现。