# vLLM Cache Salt：相同长前缀按租户隔离，分别测同组命中与跨组不复用

已审计作者盐命名空间与跨租户配置；未运行vLLM缓存，SHA参考不是真实缓存命中，性能字段保持未测。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 固定足够长且逐字相同的前缀

三次请求使用同一原创手册，任何空白变化都另记。cache_salt讨论的是缓存命名空间，不是模型答案的权限控制。

## 2. 用作者哈希检查盐配置

A1/A2相同盐、B1不同盐；audit.py只证明输入命名空间不同，不是vLLM真实块哈希或缓存命中日志。

## 3. 启用实际prefix caching

在目标vLLM版本确认prefix caching及cache_salt请求入口，记录服务参数、硬件和模型。没有该字段的旧版先升级或明确不支持。

## 4. 冷启动后发A1与A2

保存两次实际usage缓存token、服务指标与首token延迟。相同盐也不保证缓存未被逐出，不能只凭第二次更快宣布命中。

## 5. 再以B1测试跨盐隔离

保持内容与采样配置相同，仅更换盐。核对对应缓存指标与日志，不把网络波动当作隔离证据。

## 6. 加入共用盐的反例

在纯测试环境比较误用shared盐；部署时由可信租户边界赋盐，不能让任意客户端自报他人的租户盐。

## 7. 交付命名空间与真实观测

保留请求原文、盐分配、缓存指标和时延。包内真实命中、TTFT均为未测，不以作者SHA计算替代服务观测。

## 官方依据

- vLLM 官方文档或源码：https://docs.vllm.ai/en/latest/design/prefix_caching/
