SPT术语库

无状态请求 Stateless Request

用户第一轮让 AI 整理订单表格,下一轮只说“继续”。应用必须知道服务端不会自动保留上一轮,并在第二次请求中显式带上表格、目标和必要结果。

AI 与智能体约 10 分钟 · 从真实需求理解

1为什么第二次只发“继续”,AI 还是不知道?

STATELESS REQUEST · SEND THE CONTEXT下一次调用不会自动记得上一次

请求 A 结束后服务端清空,能否继续取决于请求 B 实际带了什么。

SEND → CLEAR → SEND AGAIN
REQUEST APOST /chat
整理这张订单表格table: orders · task: sort by date↳ 已按日期整理
STATELESS SERVERMEMORY: EMPTY等待请求完成RUNNING
REQUEST BPOST /chat
message: 继续只有 message: 继续
PAYLOAD CHECK请求 B 需要自己带上继续所需的资料

无状态请求只依据本次收到的内容。请求 A 完成后,服务端不会自动把上一轮的表格、目标和结果留给下一次调用;客户端要在请求 B 中重新放入本轮需要的资料。

  • 聊天界面可以保存旧表格,但页面还看得到,不代表它已经进入请求 B。
  • 只发送“继续”时,模型没有对象、目标和上一轮结果,无法判断要继续什么。
  • 应用要检查实际 payload,把表格、未完成目标和必要结果一起发送。

2无状态不等于产品不能保存记录

无状态说的是一次模型调用不自动继承上一轮输入和结果,不是说产品不能保存聊天记录。应用可以保存记录,但每次调用仍要把需要的部分明确放进请求。

  • 页面显示上一轮表格,只说明产品还有这份记录,不能证明当前 API 请求带了它。
  • 把“继续”与表格、目标和上一轮结果一起发送,模型才有足够背景。

排查上下文问题时,检查请求 payload,而不是只检查聊天窗口的显示状态。

3无状态请求的四个边界

REQUEST APOST /chattable: orders · task: sort by date
MEMORY: EMPTY服务端清空上一轮不会自动进入下一次
REQUEST Bmessage: 继续新请求,不自动指向旧表格
EXPLICIT CONTEXTtable + task + result应用把需要的资料重新放入 payload

拆开这条请求路径,可以看到上一轮结果在哪里结束、服务端何时清空,以及下一轮资料怎样重新进入 payload。

  • REQUEST A 是一次完整调用,输入和结果都属于这一轮。
  • MEMORY: EMPTY 表示服务端完成后不会自动替下一轮保留上下文。
  • REQUEST B 的“继续”只是新目标,不能单独指向上一轮表格。
  • EXPLICIT CONTEXT 把本轮依赖的表格、目标和结果放回实际 payload。

4怎样把无状态请求需求交给 Agent?

请检查这条 AI 调用是否真的按无状态请求工作:第一轮发送订单表格并得到整理结果;第二轮即使用户只说“继续”,也要从应用保存的记录中取回当前表格、未完成目标和上一轮结果,并把它们与本次消息一起放入请求。验收时检查实际 payload,不要只看聊天页面是否还显示旧表格。

5不用背,看看你能不能判断

1 / 3

请求 A 完成后,服务端会自动把订单表格留给请求 B 吗?

请选择一个最符合题意的答案

选择答案后自动进入下一题

社区延伸

看别人真实遇到过什么

社区帖子还没有关联到这个词条。