在大语言模型(LLM)和人工智能对话系统中,Context(上下文)、Memory(记忆)、Prompt(提示) 和 Token(标记) 是四个密切相关但含义不同的概念。下面分别解释它们的区别与联系:
Token
Token 是模型处理文本时的最小单位。它可以是一个字、一个词,甚至是一个标点符号,具体取决于所使用的分词器(Tokenizer)。 所有输入和输出文本都会被转换为 Token 序列,供模型处理。模型有最大上下文长度限制(如 8192、32768 tokens),超过会截断或报错。 经验说明:在实际开发中,程序员可能更关心上下文的字符数,Token与字符数量之间是存在一些近似关系的,但是会因具体模型及其分词器实现而有所差异。一般经验而言,仅供参考:1个Token约对应3~4个英文字符;通常约对应 1.5~1.8 个中文字符,工程上通常取约1.7个中文字符作为经验估算值。
Prompt
Prompt 是用户输入给模型的指令或问题,用于引导模型生成期望的输出。Prompt 本身是由 Tokens 构成的文本,可能包含指令、示例、问题等。 Prompt 是一次交互中的“输入部分”,直接影响模型的响应质量。
Context
Context 指的是模型在生成当前回复时所能“看到”的全部信息,通常包括: - 用户当前的 Prompt(System Prompt+User Prompt); - 之前的对话历史(包括模型输出,工具执行结果); - 工具清单(MCP&Function Calling) - ReAct Agent的Thought/Action/Observation等内容 - 外部知识注入(如 RAG 检索结果)。 Context 是由多个 Tokens 组成的完整输入序列,是模型理解当前任务的依据。受模型最大上下文长度(max context length)限制。 通常会把上下文归个类,分为指令(Instructions)、知识(Knowledge)和工具(Tools)和状态(State)。 - 指令:提示词(用户+系统) - 知识:记忆(长期+短期)、外部知识 - 工具:工具定义描述、工具调用结果
Memory
Memory 并非模型原生能力,通常指人为实现的长期或短期记忆功能,用于在多轮对话中记住关键信息。 - 短期记忆:即对话上下文(Context),随对话结束而消失。 - 长期记忆:通过外部数据库、向量存储等方式保存用户偏好、历史行为等,在后续对话中检索使用。 注意:标准 LLM 本身没有持久记忆——每次请求都是无状态的,除非开发者显式加入 Memory 机制。
总结:
- Token 就像字母或音节;
- Prompt 是你此刻问的问题;
- Context 是你和朋友聊天时,他记得的你们刚刚聊的所有内容;
- Memory(Long Term) 是他回家后写在笔记本上、下次见面还能记得的事情(需要主动记录和查阅)。