Files
myWiki/concepts/shadow-calling.md
2026-06-01 10:46:01 +08:00

38 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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]] — 分布式缓存体系