摘要
Vtslx AO 的缓存不是“保存模型回答”的单点功能,而是一组职责分离的性能与可靠性机制:客户端状态缓存服务交互连续性,网关运行状态缓存服务健康与协调,模型前缀缓存服务重复上下文的处理成本,执行状态缓存服务授权范围内的查询与恢复。它们的复用对象、共享范围、失效条件和失败行为不同,不能混作一个通用命中率指标。
本文公开缓存资格、失效与观测语义,不公开基础设施地址、容量、TTL、键格式、哈希材料、租户数据或凭据。核心承诺是:缓存为优化层而非正确性前提;未命中必须回到功能等价的正常路径;跨租户、跨授权边界、含副作用工具调用和进行中的流式事件默认不得共享。
一、研究目标与原则
缓存设计同时面对性能和正确性。性能上,我们希望减少重复上下文处理、重复健康探测和不必要的页面读取;正确性上,必须回答谁能复用什么、工具结果是否仍有效、流式数据是否泄露,以及缓存失效时请求能否照常完成。本文不是容量规划或供应商定价文档,也不把命中率承诺为 SLA。
设计原则是功能等价优先、隔离先于命中率、输入前缀与完整结果分离、副作用默认不可缓存、流式不共享半成品,并且每层都应能解释其范围、年龄、失效原因与回退路径。宁可未命中,也不能让“看起来相似”的请求跨越租户、项目、授权、模型或策略边界。
二、公开参考架构
普通短请求可能只经过资格判断和模型执行;健康检查会读取网关状态;/v1/orchestrations 的流式回合会持续投影事件,但不会把另一个会话的中间流作为缓存答案。客户端缓存也不承担服务端真相:登录变化、组织切换、权限更新或显式刷新后必须舍弃相关本地状态。
三、缓存对象与资格向量
缓存不应直接对原始 HTTP body 建键。字段顺序、瞬态追踪、展示元数据和敏感内容会让“字节相同”与“语义等价”混淆。公开资格向量写为 E=(tenant_scope, authorization_scope, protocol_version, model_route, policy_version, normalized_input, tool_manifest, response_mode, side_effect_class);它不是实际键格式,而是必须隔离或比较的语义维度。
tenant_scope 与授权范围阻止跨主体共享;协议版本防止不同事件语义互相解释;模型路由和策略版本避免在降级、内容治理或计费语义变化后使用旧结果;tool manifest 表示允许工具与版本语义;response mode 区分 JSON、SSE、后台执行和压缩;side effect class 决定请求能否复用、合并或只能单次执行。
缓存语义探索器
选择请求类型与缓存层,查看公开安全边界;不显示缓存键、TTL 或基础设施参数。
写入型工具、一次性令牌、当前时间、随机数、私有文件、动态权限判断、进行中的 SSE/WS、取消的半完成回合、变更后的工具目录或模型路由,默认都没有完整结果复用资格。它们可以在安全前提下使用健康或模型前缀层,但不得被当作共享回答。
四、每一层的语义
客户端状态缓存可以保留已确认页面、草稿和仍获授权展示的只读数据,但不能绕过服务端鉴权、预算或工具授权。断线后的流式 UI 应以运行 ID 与服务端授权重新协商,不应猜测缺失文本。
网关运行状态缓存保存的是短时、可重新验证的健康观察、并发协调锁、路由观察和受控轮询状态。典型流程是读取最近观察;未命中时争取短时协调权;取得者探测并发布,未取得者有限等待再读;仍未知则按本地安全策略验证。未知永远不能升级为健康。
模型前缀缓存面向可重复上下文的计算复用。prompt_cache_key 是归类提示,命中和保留由模型能力与策略决定。稳定系统指令、版本化工具目录和长期项目上下文是合理前缀;用户标识、令牌、时间戳、动态工具结果和每次不同的追踪字段不是。
执行状态缓存记录的是授权回合的进度和终态,而非共享响应缓存。最小生命周期为 created → in_progress → completed | failed | incomplete | cancelled。终态也不是永久可读承诺:到期、撤销或清理后,查询应返回明确不可用语义,不能借用其他回合结果。
完整结果复用是风险最高的一层,只针对可证明纯函数特征的请求:无副作用、无私有上下文、授权范围一致、模型/策略/输出模式一致,且结果本身可被同一范围读取。请求合并可以让同时到达的等价请求等待同一执行者,但仍要保留各自的审计、取消和限额语义,不能让一位用户的失败或取消被错误归因给另一位用户。
五、工具、流式与一致性
模型决定调用工具与工具完成外部动作是两件事。无副作用读取工具经过授权后可以缓存最小化结果摘要,但需要来源范围、数据版本和失效依据;写入、部署、支付、权限变更等工具至多缓存幂等键或审计状态,绝不能把历史成功当成新的执行成功。
流式接口要求 orchestration.output_text.delta 只属于创建它的回合。若缓存命中可交付终态,平台仍必须构造符合公开顺序的对象和事件;客户端取消只影响自己的传输与授权策略;缓存写入必须发生在完整性、授权和内容治理检查后,失败或不完整回合不得成为成功结果缓存。
一致性按对象选择:健康状态可以短时最终一致;权限、预算、工具写入与终态审计需要更强的一致性和幂等保证;模型前缀缓存只需保证未命中正常执行,不应伪装为业务数据存储。语义失效优先于时间失效:授权、租户范围、模型路由、协议、工具目录、系统指令、输出格式、内容策略或数据版本变化时应立即视为不等价。
六、公开指标与治理
| 类别 | 复用对象 | 共享边界 | 默认失效 |
|---|---|---|---|
| 客户端状态 | 已授权 UI、草稿、只读显示 | 当前设备 / 会话 | 登出、权限变化、刷新 |
| 网关运行状态 | 健康观察、协调锁、轮询状态 | 受控平台实例 | 过期、探测失败、路由变化 |
| 模型前缀 | 规范化的可重复上下文 | 同授权、模型与策略语义 | 输入、模型、策略变化 |
| 执行状态 | 被授权的异步回合状态 | 同一调用主体范围 | 完成、取消、过期、撤销 |
| 完整结果 | 明确可复用的纯结果 | 同租户、策略与输入 | 任一语义/授权变化 |
公开指标应按模型、协议版本、请求形态、输入长度段与资格分组并采用最小样本阈值,不能公开租户级命中率、原始键、完整请求体、工具输出、节点名称或精确 TTL。高资格拒绝率不一定代表系统差:它可能表明副作用、授权边界和语义差异正在被正确地阻止进入复用层。回退成功率则直接检验缓存是否只是优化,而不是单点依赖。
主要威胁包括跨租户泄露、权限撤销后的残留读取、投毒、键空间碰撞、陈旧工具结果、侧信道推断和击穿。对应治理是范围绑定、版本化失效、最小化缓存值、来源标注、并发协调、限流、审计与异常回退。最应避免的错误是把缓存命中等同于授权通过,或把历史工具成功等同于新工具执行成功。
七、结论与路线图
Vtslx AO 的缓存架构是一套可解释的多层优化:客户端服务体验,网关状态服务可靠性,模型前缀服务成本与首 token 延迟,执行状态服务受控恢复。它们共享“未命中功能等价、跨边界不共享、副作用不重放、流式不转售”的底线。
下一步是建立缓存资格 conformance 测试,在唯一输入与固定输入下分别测量缓存影响,为工具读取结果加入版本化来源标签,并发布按模型与协议形态聚合的命中和回退指标。任何性能结论都必须在不泄露实现细节的前提下,明确缓存条件、输入分布、模型、区域和并发。
