SGLang Internals#
这本书把 SGLang 当作一个同时横跨协议表面、请求链、调度、执行和调试面的系统来写。它不是 API 手册,也不是逐目录翻译仓库,而是试图回答另一类问题:一次请求究竟怎样穿过系统,运行时为什么被切成现在这些边界,以及这些边界最后落在哪些真实代码路径上。
这本书解决什么问题#
如果把整本书压缩成四个核心问题,它主要回答:
- SGLang 为什么不能只被看成一个 OpenAI-compatible server。
- 一次请求怎样从外部协议形态进入系统,再收缩成 runtime 内部工作单元。
- Scheduler、KV cache、
ForwardBatch、sampling 和结构化约束各自站在哪一层。 - 当你需要读源码、排障或扩展功能时,最应该先盯哪些对象、调用链和证据面。
这本书怎么组织#
全书目前按四个部分推进。它们不是四组并排专题,而是沿同一条主线层层下钻:
- 第一部分 预备知识:先定义系统外形、读法和源码引用约定。
- 第二部分 请求与运行时:先走通请求主链,再分清 runtime 边界。
- 第三部分 执行核心:进入调度、KV cache、执行模型和结构化约束。
- 第四部分 调试与维护:把理解重新压回源码阅读、证据链和扩展维护。
你应该怎么读#
如果你是第一次进入这本书,最稳的顺序通常是:
如果你已经带着具体问题进来,下面这张最小入口表更有效:
- 问题:请求为什么进不来、回不去、或者卡在中途? 入口:第三章 请求路径 -> 第四章 运行时架构
- 问题:为什么 batch 成不起来、缓存保不住、decode 退化? 入口:第五章 调度、批处理与 KV Cache -> 第六章 执行模型与采样
- 问题:为什么 response format、tool choice 或 grammar 行为异常? 入口:第七章 结构化生成与 API 表面
- 问题:我要改代码、排故障、补证据链,先看哪里? 入口:第八章 代码库导读 -> 第九章 可观测性与调试
叶王 © 2013-2026 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。