开发者生态
morning
您无法随身携带的会议
2026-07-31
1 阅读
约5分钟阅读
apitman
字号:
您无法随身携带的会话 日期:2026 年 7 月 30 日星期四 发件人:Earendil Engineering < rfc@earendil.com > 收件人:您 主题:您无法随身携带的会话 推理 API 的最初承诺非常简单:发送一些输入,接收一些输出。如果你保留了两者,你就可以进行对话。您可以检查它、存档它、重播它或将其提供给不同的模型。这种抽象从来都不是完全正确的。提示缓存存在于其他人的 GPU 上,模型之间的标记化有所不同,并且采样不可再现(而且是故意如此)。但以转录形式呈现的会话语义记录仍然可能属于用户。脚本应包含指令、消息、工具调用和工具结果。另一个足够强大的模型可能不会以同样的方式继续,但它可以理解发生了什么并接管。令人沮丧的是,推理 API 正在逐渐偏离这一特性,至少在某种程度上是这样。他们越来越多地返回文本和提供者绑定状态的混合体,这是故意不可移植的。向用户计费但仅以不透明的加密 blob 形式返回的推理令牌,在最好的网络搜索中带有无用的摘要,其中模型看到源材料,客户端永远看不到压缩的上下文,只有原始提供者才能解密从运行代理的应用程序隐藏的子代理指令和消息,这些指令和消息以加密的有效负载文件、向量存储、容器和缓存引用的形式存在,而这些在其他任何地方都无法解析。响应和对话状态完全由完全存储在提供商服务器上的 ID 控制。每个功能都附带一个对于提供商来说很简单的基本理由,以及为什么这对用户有利的良好论据。所有这些事情一起改变了人工智能会话的所有权现实:你机器上的记录不再是你的会话,而是会话的部分视图,其操作状态属于推理提供者而不是你。我们不是这个方向的粉丝,我们想谈谈它对你(作为用户)意味着什么,以及它对我们(作为在这个领域开发工具的人)意味着什么。会话所有权的实际测试 对于可移植会话,我们并不意味着从一种模型切换到另一种模型必须产生相同的下一个令牌。这是必然的,因为模型具有不同的功能、训练有素的个性、上下文窗口以及使用工具的方式。无论如何,这一切都是不确定的。可移植性意味着更适度的东西: const script = session.export();撤销凭证(oldProvider);会话= newProvider. continueFrom(成绩单);存档应包含足够的可理解信息,供另一个模型继续工作。它不应该要求旧的提供者取消引用 ID、解密 blob、记住搜索结果或重建摘要。这为我们提供了五个有用的测试: 检查:用户能否看到模型看到了什么、工具做了什么以及代理互相告诉了对方什么?导出:除了可以下载的普通工件之外,会话是否是独立的?重播:另一个实现可以重建语义上等效的上下文吗?审计:人类能否解释为什么系统在事后采取行动?删除:用户能否识别并删除会话所依赖的每个服务器端副本?响应 ID 不是转录本,用户无法解密的密文不是用户控制的状态,引用列表不是搜索结果放置在模型上下文中的证据。为谁加密?围绕这些功能的命名和营销可能会产生误导。 crypto_content 听起来像是用户控制下的隐私功能。通常它是一个胶囊,客户端无法读取,只有提供者可以打开。提供者选择密钥,为其自己的模型解密内容,并定义可以重播数据的位置。更好的术语是提供商密封状态。提供商密封可以带来真正的隐私优势。例如,OpenAI 可以使用 store: false 将加密推理返回给客户端,然后在下一个请求时在内存中对其进行解密,而无需保留中间状态。这比要求服务器端对话存储更好,特别是对于零数据保留客户而言。但是,请记住,实际上并没有什么东西需要加密!最重要的是,这种加密不会向推理提供者隐藏数据;它对你隐藏它。存储的对话将记录转换为指针 OpenAI 的响应 API 默认存储响应。其文档称响应对象默认保留至少 30 天;对话中附加的项目不受 30 天 TTL 的约束。 store: false 可用并且应该使用,因为它使它的工作方式更像补全:数据不存储在 OpenAI 的服务器上。新的 Gemini Interactions API 也做出了类似的选择。它默认存储:
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱