Skip to content
🔗 分享本题
查看我的学习进度 →

无状态 LLM API 动漫知识图:每次调用都是独立计算,应用层维护会话 ID、历史消息、摘要、长期记忆检索和持久化,并在每次请求重建上下文

🧠 图解记忆:模型没有上次,记忆是应用每次重新提供的上下文;点击图片可查看原图。

模型推理本身不会凭空记住上一轮;当前输出只能依赖本次实际提供或由平台关联进来的上下文。

核心认知

基础模型推理 ≈ f(本次上下文、采样参数、运行环境) → 输出

你上次说了什么? → 模型不知道(它没有"上次")
"记忆"的本质 → 应用或平台保存状态,并在下一次推理时重新提供相关上下文

为什么常说无状态? 模型参数不会因为一次普通请求自动更新。即使某些 API 提供 Conversation、Thread 或会话 ID,状态也是平台编排层保存并在后续调用中关联,不是模型获得了永久记忆。

对工程的影响(面试重点)

需求谁负责怎么做
多轮记忆应用层或平台会话层传递历史消息,或使用平台提供的会话状态对象
记忆裁剪应用层超出上下文就截断/摘要/检索(见 Q16)
用户隔离应用层会话、租户、权限和存储键必须显式隔离,不能假设天然不会串号
持久化应用层会话结束存数据库,下次重建 messages

无状态带来的"福利"(回答加分)

  • 便于水平扩展:计算节点可以保持无状态,会话状态放到数据库或平台会话层
  • 状态可治理:历史、摘要和长期记忆可以独立做权限、保留期限和删除
  • 但不天然幂等:采样、并行计算和工具副作用都可能导致重试结果不同;涉及写操作时必须使用幂等键、去重和事务保护

面试话术:

"模型不会自动记住上一轮。多轮体验来自应用或平台保存历史,并在下一次推理时重新提供相关上下文。计算层可以无状态扩展,但会话隔离、持久化、重试幂等和工具副作用仍必须由系统显式治理。"


📚 参考:OpenAI Chat Completions API Reference