☰
关于Claude防蒸馏数字的探索。Datawhale组队学习,task1,ai-agent从工程到实践
2026/10/15 2:49:42 网站建设 项目流程

学习文章地址来源:学习地址

思考:“该怎么让服务端在多轮对话中,稳定地恢复上下文状态,并确认客户端传回的历史思考(Thinking)没有被篡改或伪造呢?”
原因:大模型 API 并不在乎是不是“同一个用户”(它连 Session 都不存),它在乎的是“你这次传过来的历史上下文和思考过程,是不是我上一轮原原本本生成的那一份”。这样改完,就能和你结尾的“Cookie vs JWT”完美呼应!
答案:我们可以借鉴传统后端开发中在HTTP请求头上设置一个cookie来唯一标识一个用户,每次同一个用户再带着请求来到服务端的时候服务端通过检查这个http请求有没有我们特定的cookie值来看我们当前的用户的请求是不是第一次请求,如果没有这个cookie,服务端就默认是第一次请求,给他分配一个唯一的cookie值,然后客户端方面之后每次请求都要带上这个cookie值来标识。
Claude 也是极其类似的无状态校验思路:它通过给每次生成的思考块(thinking block)及其前面的所有上下文前缀(system、tools、历史消息)做一层数字签名。当下一轮请求来到服务端时,服务端会重新计算前缀哈希来校验这个旧签名:

  • 如果校验通过:说明客户端传回来的“历史上下文 + 之前的思考过程”真实完整、一字未改,服务端就会信任并复用这段历史思考,让模型顺着之前的推理脉络继续往下想;
  • 如果校验不通过(或者前缀被改动了哪怕一个字符):说明上下文和当初生成这段思考时的环境已经对不上了,服务端就会直接报错(返回 400),或者静默丢弃所有失效的 thinking block,让模型像“失忆”一样,只能根据当前的消息从头开始重新推理。
  • 本轮结束时:服务端再把本轮新追加的对话和新生成的 thinking block 打包,签发一个新的数字签名,随响应返回给客户端,供下一轮请求继续携带校验。

对于第一次请求,因为客户端发来的消息列表里还没有任何模型生成的 thinking block(即没有携带任何签名),服务端就不需要做签名校验,直接让模型从头开始推理;等模型生成了第一段 thinking block 后,服务端会把它和当前的 [system + tools + 第一条用户消息] 绑定在一起,计算出**第一个数字签名(Sig_1)**返回给客户端,从而正式开启后续轮次的“验签-续写-再签发”循环。

之后的每次请求都会先校验旧历史信息的签名,然后对本次请求的新进服务端的内容进行一个签名,且因为采用的大概率是链式哈希来避免每次都对之前已经签名过的内容重新签名。

cookie机制和Claude的数字签名也有一个不同点就是
普通 Cookie(Session ID):只是发给客户端一个随机号码牌,真实数据存服务端内存里。

Claude 的签名机制(更像 JWT - JSON Web Token):服务端自己不存你的历史记录,而是把历史记录 + 思考过程全发给客户端自己保管,服务端只在上面盖一个防伪钢印(signature)。下次客户端把“历史文本 + 钢印”一起交上来,服务端验一下钢印和文本对不对得上——对得上就接着用,要是客户端偷偷改了里面的字,钢印当场失效!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询