---
title: "Shadow Calling (影子调用)"
created: 2026-05-29
updated: 2026-05-29
type: concept
tags: ["distributed-systems", "caching", "optimization", "LLM"]
sources: ["https://mp.weixin.qq.com/s/MUWV7eug14bktUMlqsxfQw"]
---

# Shadow Calling (影子调用)

**Shadow Calling** 是 [[active-cache-warmup]] 的核心机制：向目标 LLM 节点发送一个特殊的"预热请求"，其目的不是获取推理结果，而是让 LLM 服务端为指定的前缀上下文提前开辟内存缓存区。

## 三个严苛的工程特征

1. **`max_tokens=1`**：告诉模型不需要生成长篇大论，只需消化前缀并吐出 1 个 Token
2. **显式 `cache_control`**：在预热断点处强行打上缓存标记
3. **零输出下游拦截**：返回结果直接在网络层丢弃（Drop），不触发任何业务状态流转

## 与普通 API 调用的区别

| 特性 | 普通调用 | Shadow Calling |
|------|----------|----------------|
| 目的 | 获取推理结果 | 填充缓存 |
| max_tokens | 正常值（如 4096） | 1 |
| 结果处理 | 注入业务逻辑 | 直接丢弃 |
| 触发时机 | 按需 | 预测性提前触发 |

## 效果

影子调用成功后，目标节点在真实请求到达时，其前缀已 100% 处于热态，响应延迟从秒级降至百毫秒级。

## 相关

- [[active-cache-warmup]] — 包含 Shadow Calling 的预热流水线
- [[cache-cold-start]] — Shadow Calling 消除的问题
- [[distributed-prompt-caching]] — 分布式缓存体系
