LLM 推理核心链路&缓存命中讲解
LLM æ¨çæ ¸å¿é¾è·¯&ç¼åå½ä¸è®²è§£
å¹»çµå°ä¾ 2026-08-18 0 é 读8åéæé®ï¼
è¾å
¥ Prompt
â
Token å
â
Transformer å¤ç
â
产çä¸é´è®¡ç®ç¶æ
â
çæåç
Prompt Cache 主è¦ç¼åçæ¯ä¸é´è®¡ç®ç¶æï¼å¸¸è§å®ç°éå¯ä»¥çè§£æ **KV Cache**ã
帮æè®²è§£è¿éé¢çææåè¯ï¼ç¶å串起æ¥
çæ¡ï¼
å¯ä»¥ãä½ ç°å¨é®å°çæ¯ LLM æ¨çææ ¸å¿ç䏿¡é¾è·¯ãæå ä¸è®²å¤ææ°å¦ï¼èæ¯ææ¯ä¸ªåè¯æå¼ï¼åæå®ä»¬ä¸²æä¸æ¡å®æ´çâæ¨¡åå°åºå¹²äºä»ä¹âã
å è®°ä½è¿å¼ æ»å¾ï¼
ä½ è¾å
¥ä¸å¥è¯
â
Prompt
â
Tokenizer
â
Token
â
Embedding
â
Transformer
â
Attention
â
KV Cache
â
颿µä¸ä¸ä¸ª Token
â
䏿éå¤
â
çæåç
è Prompt Cache æ¬è´¨ä¸å°±æ¯æ³åæ³æåé¢å·²ç»ç®è¿çä¸è¥¿ä¿å䏿¥ï¼ä¸ä¸æ¬¡ä¸è¦éå¤è®¡ç®ã
ä¸ãå ä» Prompt å¼å§
åè®¾ä½ é®ï¼
请解éä»ä¹æ¯ JavaScript éå
ï¼
è¿æ´ä¸ªè¾å ¥å°±å«ï¼
Promptï¼æç¤ºè¯ / è¾å ¥æç¤ºï¼
Prompt ä¸ä¸å®åªæä½ è¾å ¥çè¿ä¸å¥è¯ã
å¨ Claude CodeãKimi CodeãChatGPT è¿ç§ Agent åºæ¯éï¼å®é ä¸å¯è½æ¯ï¼
System Prompt
+
å·¥å
·å®ä¹
+
项ç®è§å
+
CLAUDE.md
+
åå²å¯¹è¯
+
代ç å
容
+
ä½ è¿æ¬¡çé®é¢
ä¾å¦ï¼
[System]
ä½ æ¯ä¸ä¸ªç¼ç¨å©æâ¦â¦
[Rules]
项ç®ä½¿ç¨ Vue 2â¦â¦
[History]
ç¨æ·ï¼å¸®æå®ç°ç»å½
AIï¼â¦â¦
[Code]
src/login.vueâ¦â¦
[User]
æç»å½æé®æ¹æèè²
è¿äºåèµ·æ¥ï¼ææ¯æ¨¡åçæ£çå°ç Promptã
äºãPrompt â Token
è®¡ç®æºä¸è½ç´æ¥çè§£ï¼
请解éä»ä¹æ¯ JavaScript éå
ï¼
æä»¥ç¬¬ä¸æ¥è¦åï¼
Tokenizationï¼åè¯ / Token åï¼
ä¹å°±æ¯ææåæææ¨¡å认è¯çåºæ¬åä½ï¼
请解éä»ä¹æ¯ JavaScript éå
ï¼
â
Token Token Token Token Token Token ...
注æï¼
Token ä¸çäºæ±åï¼ä¹ä¸çäºåè¯ã
ä¾å¦ï¼
hello world
å¯è½ç±»ä¼¼ï¼
hello
world
èï¼
JavaScript
å¯è½è¢«ææå¤ä¸ª tokenã
䏿ä¹å¯è½ä¸ä¸ªæ±å对åºä¸ä¸ª tokenï¼ä¹å¯è½å¤ä¸ªåç¬¦ç»æä¸ä¸ª tokenï¼å ·ä½åå³äº tokenizerã
ä¸ãToken æ¯ä»ä¹ï¼
ä½ å¯ä»¥æ Token çè§£æï¼
模åå¤çæåæ¶ä½¿ç¨çâ积æ¨âã
ä¾å¦ä¸ºäºæ¹ä¾¿çè§£ï¼æä»¬å设ï¼
æå欢åè¹æ
被ææï¼
æ
忬¢
å
è¹æ
模åå®é å¤ççæ¯ï¼
[1234, 5678, 2345, 7890]
ä¹å°±æ¯è¯´ï¼
æå
â
Token
â
Token ID
æä»¥æ¨¡åå®é ä¸å¹¶ä¸æ¯ç´æ¥å¤çï¼
æå欢åè¹æ
èæ¯å¤ç类似ï¼
[1234, 5678, 2345, 7890]
åãToken ID â Embedding
æ¥ä¸æ¥ååºç°ä¸ä¸ªé常éè¦çä¸è¥¿ï¼
Embeddingï¼åµå ¥ / åé表示ï¼
Token ID æ¬èº«æ²¡æä»ä¹è¯ä¹ã
æ¯å¦ï¼
1234
è¿ä¸ªæ°åæ¬èº«å¹¶ä¸ä»£è¡¨âè¹æâã
模åéè¦æï¼
1234
è½¬æ¢æä¸ä¸ªé«ç»´åéï¼
[0.12, -0.53, 0.81, ..., 0.27]
è¿å°±æ¯ Embeddingã
ä½ å¯ä»¥ç²ç¥çè§£æï¼
"è¹æ"
â
Token ID
â
Embedding
â
[0.12, -0.53, 0.81, ...]
è¿ä¸ªåéæ¯æ¨¡åå¯ä»¥è¿è¡æ°å¦è¿ç®çå½¢å¼ã
äºãç¶åè¿å ¥ Transformer
è¿æ¶åï¼
æå
â
Token
â
Token ID
â
Embedding
模åç»äºæ¿å°äºå¯ä»¥è®¡ç®çæ°æ®ã
æ¥ä¸æ¥è¿å ¥ï¼
Transformer
Transformer æ¯ç°ä»£ GPTãClaudeãGeminiãKimi ç大è¯è¨æ¨¡åçæ ¸å¿æ¶æã
ä½ å¯ä»¥æå®çè§£æï¼
ä¸ä¸ªé常巨大çâè¯è¨è®¡ç®ç½ç»âã
å®é颿大ééå¤ç Transformer Blockï¼
Transformer
â
âââ Block 1
âââ Block 2
âââ Block 3
âââ Block 4
âââ ...
âââ Block N
æ¯å¦æä¸ªæ¨¡åå¯è½æå åå±çè³ä¸ç¾å±ã
æ°æ®ä¼ä¸å±ä¸å±ç»è¿è¿äº Blockã
å ãTransformer é颿éè¦çä¸è¥¿ï¼Attention
Transformer æèåçæºå¶å°±æ¯ï¼
Attentionï¼æ³¨æåæºå¶ï¼
å®è§£å³ä¸ä¸ªæ ¸å¿é®é¢ï¼
å½åè¿ä¸ª Tokenï¼åºè¯¥å ³æ³¨ä¸ä¸æä¸çåªäº Tokenï¼
ä¾å¦ï¼
å°ææè¹ææ¾å¨æ¡åä¸ï¼å 为å®å¾çº¢ã
è¿éï¼
å®
å°åºæä»ä¹ï¼
模åéè¦å¤æï¼
å® â è¹æ
è䏿¯ï¼
å® â æ¡å
Attention å°±æ¯å¨åç±»ä¼¼è¿æ ·çäºæ ã
ä¸ãQ / K / V æ¯ä»ä¹ï¼
Attention éé¢åæä¸ä¸ªè¶ 级éè¦çä¸è¥¿ï¼
Q = Query
K = Key
V = Value
䏿é常å«ï¼
Query æ¥è¯¢
Key é®
Value å¼
å¯ä»¥ç¨å¾ä¹¦é¦æ¥çè§£ã
åè®¾ä½ ç°å¨é®ï¼
å®æçæ¯ä»ä¹ï¼
è¿å°±æ¯ï¼
Query
æ¨¡åæ¿ç Query å»çå ¶ä» Tokenï¼
è¹æ
æ¡å
å°æ
æ¯ä¸ª Token 齿ï¼
Key
Value
模åå æ¯è¾ï¼
Query å Key
ççï¼
âæç°å¨åºè¯¥å ³æ³¨è°ï¼â
ç¶åå³å®ï¼
è¹æ â 0.8
æ¡å â 0.1
å°æ â 0.1
äºæ¯ä¸»è¦è¯»åï¼
è¹æå¯¹åºç Value
æä»¥ï¼
Q
â
å K æ¯è¾
â
å¾å° Attention æé
â
å æè¯»å V
â
å¾å°æ°çä¿¡æ¯
è¿å°±æ¯ Attention çæ ¸å¿ææ³ã
å «ãé£ KV Cache å°åºæ¯ä»ä¹ï¼
ç°å¨ç»äºå¯ä»¥çè§£ä½ æå¼å§é®çä¸è¥¿äºã
åè®¾æ¨¡åæ£å¨å¤çï¼
ä½ å¥½ï¼ææ¯ä¸åå端å¼åå·¥ç¨å¸ï¼ææè¿å¨å¦ä¹ AI Agentã
模åå¤çè¿äº Token æ¶ï¼ä¼å¨ Attention ä¸äº§çï¼
K
V
ä¹å°±æ¯ï¼
Key
Value
è¿äºè®¡ç®ç»æä¹åè¿ä¼ç»§ç»è¢«ä½¿ç¨ã
æä»¥æ²¡å¿ è¦æ¯æ¬¡é½éæ°ç®ã
äºæ¯æ¨¡åå¯ä»¥æå®ä»¬ä¿å䏿¥ï¼
K
V
â
KV Cache
ä¹å°±æ¯ï¼
æå·²ç»å¤çè¿ç Token 对åºç Key / Value ç¼åèµ·æ¥ã
ä¹ã为ä»ä¹å« KV Cacheï¼è䏿¯ Attention Cacheï¼
å 为 Attention é颿ï¼
Q
K
V
ä½å¨èªåå½çæè¿ç¨ä¸ï¼
Q é常æ¯å½åæ° Token çæ¥è¯¢ï¼èè¿å» Token ç K/V å¯ä»¥å¤ç¨ã
æä»¥ç¼åçéç¹å°±æ¯ï¼
K + V
å æ¤å«ï¼
KV Cache
åãç¨ä¸ä¸ªè天è¿ç¨çè§£ KV Cache
åè®¾ä½ è¯´ï¼
ç¨æ·ï¼ææ¯ä¸ä¸ªå端å¼åå·¥ç¨å¸ã
模åå¤çï¼
ææ¯ä¸ä¸ªå端å¼åå·¥ç¨å¸
产çï¼
K1 V1
K2 V2
K3 V3
K4 V4
...
ä¿åï¼
KV Cache
âââ K1 V1
âââ K2 V2
âââ K3 V3
âââ ...
ç¶å模åå¼å§çæï¼
ä½
æ¥ä¸æ¥çæï¼
好
ç¶åï¼
ï¼
æ¯çæä¸ä¸ªæ° Tokenï¼å°±ç»§ç»äº§çæ°ç K/Vï¼
KV Cache
æ§ï¼
K1 V1
K2 V2
K3 V3
...
æ°å¢ï¼
Kn Vn
æä»¥ KV Cache ä¼ä¸æå¢é¿ã
åä¸ãé£ä¹âçæåçâå°åºæ¯æä¹åäºï¼
è¿æ¯çè§£ LLM çå¦ä¸ä¸ªå ³é®ç¹ï¼
LLM æ¬è´¨ä¸æ¯å¨ä¸æé¢æµâä¸ä¸ä¸ª Tokenâã
ä¾å¦ï¼
ç¨æ·ï¼
ä¸å½çé¦é½æ¯
模å计ç®ï¼
ä¸å½çé¦é½æ¯
â
颿µä¸ä¸ä¸ª Token
â
å京
ç¶åæï¼
å京
å å ¥ä¸ä¸æï¼
ä¸å½çé¦é½æ¯å京
å颿µï¼
ä¸ä¸ Token
å¯è½å¾å°ï¼
ã
ç»§ç»ï¼
ä¸å½çé¦é½æ¯å京ã
å颿µï¼
...
æä»¥ï¼
çæåç
å®é 䏿¯ï¼
颿µ Token 1
â
颿µ Token 2
â
颿µ Token 3
â
颿µ Token 4
â
...
è¿å«ï¼
Autoregressive Generationï¼èªåå½çæï¼
åäºãææ´ä¸ªè¿ç¨ä¸²èµ·æ¥
ç°å¨æä»¬ææææ¦å¿µè¿èµ·æ¥ã
ä½ è¾å ¥ï¼
请帮æè§£é Vue ç computedã
ç¬¬ä¸æ¥ï¼Prompt
Prompt
â
请帮æè§£é Vue ç computedã
ç¬¬äºæ¥ï¼Tokenizer
Prompt
â
Tokenizer
â
Token
â
[Token1, Token2, Token3, ...]
ç¬¬ä¸æ¥ï¼Embedding
Token
â
Embedding
â
é«ç»´åé
ç¬¬åæ¥ï¼Transformer
Embedding
â
Transformer Block
â
Transformer Block
â
Transformer Block
â
...
ç¬¬äºæ¥ï¼Attention
æ¯ä¸å±éé¢ä¼è¿è¡ Attentionï¼
Q
K
V
â
Attention
â
æ°çéèç¶æ
å ¶ä¸è¿å» Token çï¼
K
V
å¯ä»¥ç¼åï¼
K + V
â
KV Cache
ç¬¬å æ¥ï¼é¢æµä¸ä¸ä¸ª Token
Transformer æç»å¾å°ï¼
éèç¶æ
â
Vocabulary 䏿¯ä¸ª Token çæ¦ç
ä¾å¦ï¼
computed 35%
æ¯ä¸ç§ 20%
ç¨äº 10%
...
模åéæ©ä¸ä¸ä¸ª Tokenã
ç¬¬ä¸æ¥ï¼ç»§ç»çæ
å设çæï¼
computed
ç¶å忬¡ï¼
Transformer
â
颿µä¸ä¸ä¸ª Token
ä¸æå¾ªç¯ï¼
Token
â
Transformer
â
颿µä¸ä¸ä¸ª Token
â
å å
¥ä¸ä¸æ
â
Transformer
â
颿µä¸ä¸ä¸ª Token
â
...
ç´å°ï¼
EOS / 忢æ¡ä»¶
åä¸ãç°å¨åçè§£ Prompt Cache
è¿å°±é常容æäºã
åè®¾ç¬¬ä¸æ¬¡è¯·æ±ï¼
System Prompt
+
项ç®è§å
+
10000 tokens åå²ä¸ä¸æ
+
ç¨æ·é®é¢
模åéè¦å¤çåé¢çï¼
System Prompt
项ç®è§å
åå²ä¸ä¸æ
并产ç大é Transformer ä¸é´ç¶æï¼å ¶ä¸å æ¬ KVï¼
K1 V1
K2 V2
K3 V3
...
K10000 V10000
è¿äºå¯ä»¥è¢«ç¼åã
ç¬¬äºæ¬¡è¯·æ±ï¼
System Prompt
+
项ç®è§å
+
10000 tokens åå²ä¸ä¸æ
+
æ°çç¨æ·é®é¢
妿åé¢ç Prompt åç¼å®å ¨ä¸è´ï¼
System Prompt
项ç®è§å
åå²ä¸ä¸æ
é£ä¹æå¡ç«¯å¯ä»¥ï¼
æ§ Prompt
â
å·²ç»ç®è¿
â
KV Cache
â
ç´æ¥å¤ç¨
ä¸ç¨éæ°ä»ï¼
Token
â
Embedding
â
Transformer
â
Attention
æè¿ 10000 tokens å宿´å¤çä¸éã
ç¶ååªéè¦ä»æ°çé¨åç»§ç»ï¼
ç¼åç KV
+
æ° Token
â
Transformer
â
çæåç
ååãæä»¥ä½ ä¹åé£ä¸ªé®é¢ï¼ç°å¨å¯ä»¥ç²¾ç¡®åçäº
ä½ é®ï¼
两次è¾å ¥ç¸åï¼é£ä¹æç¤ºè¯å½ä¸ï¼å¤§æ¨¡åå°±è½ç´æ¥è¿åç»æï¼èä¸ç¨è®¡ç®åï¼
ç°å¨çæ¡å¯ä»¥ç²¾ç¡®å°ï¼
â 䏿¯
èæ¯ï¼
ç¬¬ä¸æ¬¡
Prompt
â
Token
â
Embedding
â
Transformer
â
Attention
â
KV Cache
â
çæåç
ç¬¬äºæ¬¡ï¼
ç¸å Prompt
â
å½ä¸ Prompt Cache
â
å¤ç¨å·²ç»è®¡ç®å¥½ç KV
â
åªå¤çæ°å¢å
容
â
Transformer
â
çææ°çåç
æä»¥ï¼
Prompt Cache èççæ¯âå¤çè¾å ¥ä¸ä¸æâç计ç®ï¼ä¸æ¯âçæçæ¡âç计ç®ã
åäºãæåç»ä½ ä¸å¼ âèå æ¨¡åâ
以åä½ çå°ï¼
Token
Embedding
Transformer
Attention
QKV
KV Cache
Prompt Cache
Context
Input Tokens
Output Tokens
å¯ä»¥ç´æ¥å¥è¿å¼ å¾ï¼
ç¨æ·è¾å
¥
â
â¼
Prompt
â
â¼
Tokenizer
â
â¼
Tokens
â
â¼
Embedding
â
â¼
âââââââââââââââ
â Transformer â
â â
â Attention â
â Q K V â
â â â
âââââââ¼ââââââââ
â
K + V
â
â¼
KV Cache
â
â
â¼
颿µä¸ä¸ä¸ª Token
â
â¼
çæä¸ä¸ª Token
â
â¼
å颿µä¸ä¸ä¸ª Token
â
â¼
...
â
â¼
åç
è Prompt Cache å¯ä»¥çè§£ææ´é«ä¸å±çå·¥ç¨ä¼åï¼
ç¬¬ä¸æ¬¡è¯·æ±
ââââââââââââââââââââââââ
Prompt
â
Transformer
â
产ç KV
â
ä¿å Cache
ç¬¬äºæ¬¡è¯·æ±
ââââââââââââââââââââââââ
ç¸å Prompt
â
â
Cache Hit
â
å¤ç¨ KV
â
æ° Prompt
â
Transformer
â
çææ°åç
æéè¦çä¸ä¸ªå ³ç³»ï¼
Token
= 模åå¤çæåçåºæ¬åä½
Transformer
= çæ£è¿è¡è¯è¨çè§£/颿µè®¡ç®çæ ¸å¿ç½ç»
KV Cache
= æ Transformer å¨åå² Token ä¸ç®åºæ¥ãåé¢è¿è½å¤ç¨ç K/V ä¸é´ç»æä¿å䏿¥
åå¾ä¸ä¸å±ï¼
Prompt Cache
= å©ç¨è¿äºå¯å¤ç¨ç计ç®ç¶æï¼é¿å
æ¯æ¬¡è¯·æ±é½éæ°å¤çç¸åç Prompt åç¼
è¿ä¹æ¯ä¸ºä»ä¹ä½ å¨ç ç©¶ Claude Code / Kimi Code / Pi ç token æ¶èå cache å½ä¸æ¶ï¼ä¸è½ç®åæ input tokens çè§£æâ模åè¿æ¬¡ä»å¤´è®¡ç®äºå¤å°ä¸è¥¿âãInput Token æ¯è¾å
¥éï¼KV/Prompt Cache æ¯è¿äºè¾å
¥ä¸æå¤å°è®¡ç®å¯ä»¥å¤ç¨ï¼è¿æ¯ä¸¤ä¸ªç»´åº¦ã
Aitishiku.com