SGLang Internals#

这本书把 SGLang 当作一个同时横跨协议表面、请求链、调度、执行和调试面的系统来写。它不是 API 手册,也不是逐目录翻译仓库,而是试图回答另一类问题:一次请求究竟怎样穿过系统,运行时为什么被切成现在这些边界,以及这些边界最后落在哪些真实代码路径上。

这本书解决什么问题#

如果把整本书压缩成四个核心问题,它主要回答:

  1. SGLang 为什么不能只被看成一个 OpenAI-compatible server。
  2. 一次请求怎样从外部协议形态进入系统,再收缩成 runtime 内部工作单元。
  3. Scheduler、KV cache、ForwardBatch、sampling 和结构化约束各自站在哪一层。
  4. 当你需要读源码、排障或扩展功能时,最应该先盯哪些对象、调用链和证据面。

这本书怎么组织#

全书目前按四个部分推进。它们不是四组并排专题,而是沿同一条主线层层下钻:

  1. 第一部分 预备知识:先定义系统外形、读法和源码引用约定。
  2. 第二部分 请求与运行时:先走通请求主链,再分清 runtime 边界。
  3. 第三部分 执行核心:进入调度、KV cache、执行模型和结构化约束。
  4. 第四部分 调试与维护:把理解重新压回源码阅读、证据链和扩展维护。

你应该怎么读#

如果你是第一次进入这本书,最稳的顺序通常是:

  1. 先读 第一章 系统概览
  2. 再读 第三章 请求路径
  3. 然后进入 第四章 运行时架构
  4. 接着才进入调度、执行和结构化生成

如果你已经带着具体问题进来,下面这张最小入口表更有效: