文章《The session you cannot take with you》的核心观点是:AI推理API正在偏离其最初“发送输入、接收输出、用户拥有会话记录”的简单承诺,通过多种机制将会话状态不可移植地绑定在提供商服务器端,损害了用户对会话数据的控制权和可转移性。
问题核心:从用户拥有到提供商绑定
最初的推理API抽象是简单的:用户发送输入,接收输出,并拥有完整的会话记录(转录本)。然而,现实并非如此。尽管存在缓存、分词差异等技术限制,但一个语义完整的转录本原本应能被用户检查、归档、重放或交给其他模型继续使用。
现在,API越来越多地返回与提供商绑定的混合状态,这些状态是非移植的,主要包括:
- 加密的推理令牌:用户付费但只能获得无法解密的不透明数据块。
- 隐藏的网络搜索:模型能看到的源材料,客户端却无法访问。
- 加密的压缩上下文:仅原提供商能解密。
- 隐藏的子代理指令与消息:以加密载荷形式存在。
- 不可解析的引用:如文件、向量库、容器和缓存引用。
- 服务器端存储的状态:通过ID键控,数据完全存储在提供商服务器上。
这些特性改变了会话的所有权现实:用户机器上的转录本只是部分视图,实际操作状态属于推理提供商。
会话可移植性的实践测试
一个可移植的会话并不要求不同模型产生相同的下一个token,而是要求导出的归档包含足够可理解的信息,以便另一个模型能够继续工作,而无需原提供商解密、解析ID或重建摘要。可移植性应通过以下五点测试:
- 可检查性:用户能否看到模型看到的内容、工具调用和代理间通信?
- 可导出性:会话是否自包含(普通工件可下载)?
- 可重放性:另一个实现能否重建语义等效的上下文?
- 可审计性:事后能否解释系统为何采取某行动?
- 可删除性:用户能否识别并删除会话依赖的所有服务器端副本?
关键非移植性问题剖析
- 加密为谁? 名为“加密内容”的特性看似保护用户隐私,实则是“提供商密封状态”,只有提供商能解密和使用,对用户不透明。
- 存储对话使转录本变成指针:如OpenAI和Gemini API默认将响应存储在服务器,应用仅记录本地引用(ID),导致数据主权转移。
- 隐藏的推理过程:所有主要实验室均不暴露原始思维链。通过加密或摘要返回,这些推理痕迹无法在不同提供商的模型间移植。
- 隐藏的搜索:托管搜索只返回引用和URL,不返回模型实际看到的完整上下文和排名,导致另一个模型无法获取相同证据进行连贯研究。
- 不透明的压缩:长期会话需要压缩。OpenAI的服务器端压缩返回加密项,而Anthropic等则提供可读摘要。前者仅能在原提供商生态内延续。
- 子代理附带隐藏指令:多代理系统中,代理间通信被加密,任务指令和消息对用户和审计不可见,形成不可转移的状态包。
对用户的利害关系与行业呼吁
即使用户不频繁切换模型,会话可移植性也至关重要。它影响用户与提供商的关系,确保选择自由、应对模型退役、服务中断、审计需求等场景。选项本身能促使提供商在质量、价格和信任上竞争。
作者呼吁推理提供商和代理构建者采纳以下规则:
- 本地事件日志是权威的。
- 存储应是显式的(易用、有文档,默认
store: false)。
- 任何不透明项不应是意义的唯一载体(应附带可读、提供商中立的交接表示)。
- 托管工具应有完整保真度的日志(记录确切输入、输出、证据等)。
- 子代理通信应可审计(持久化可读的任务、消息、结果等)。
- 压缩应是可检查的(返回可读摘要及生成指令)。
- 工件应可导出(文件、容器输出等可下载为本地归档)。
对模型层锁定的批判:蒸馏的双标
文章还指出大模型实验室在“蒸馏”(用模型输出训练其他模型)问题上的道德不对称:它们利用公开互联网数据训练自己的模型,却将竞争对手使用其API输出进行的蒸馏称为“攻击”并禁止。这种态度阻碍了将昂贵前沿能力转化为可在本地、离线、受限硬件运行的小模型,实则是一种锁定策略。
结论:最小的自由
用户应能关闭账户,保留会话,并将其交给另一个模型。作者不反对提供商构建更好的有状态API,但反对将更好的性能与更少的用户控制相绑定。状态存储应可选,托管工具应可观察,压缩应可读,代理通信应可审计,不透明推理应至少具有可移植的交接形式。蒸馏应成为使能力更易获取的途径,而非用于筑起更高壁垒的禁忌。