智谱GLM-5Coding Agent推理优化SGLangKV Cache
智谱Coding Agent日均数亿次调用实战:GLM-5把长上下文推理的底层问题全逼出来了
收录于 2026/5/15 18:11:09
智谱Coding Agent日均数亿次调用实战
来源: 智谱技术团队 发布时间: 2026年5月1日
Scaling Pain:超大规模Coding Agent的阵痛
智谱GLM Coding Plan上线后,用户量和调用量快速上涨,每天承受着数亿次Coding Agent调用。
过去几周,部分用户在使用GLM-5执行复杂Coding Agent任务时,遭遇了多种异常:
- 乱码(garbled output)
- 复读(repetition)
- 生僻字(rare character)
这些问题仅在高并发、长上下文的Coding Agent场景下才会触发,在标准推理环境中无法复现。
异常检测创新:投机采样指标
关键发现:投机采样(Speculative Decoding)指标可以作为异常检测的重要参考。
异常模式识别:
| 异常类型 | 投机采样特征 | 原因 |
|---|---|---|
| 乱码/生僻字 | spec_accept_length极低 | KV Cache状态与草稿模型预期存在显著偏差 |
| 复读 | spec_accept_rate偏高 | 损坏的KV Cache使注意力模式退化,陷入重复循环 |
在线监控策略:
- 当spec_accept_length < 1.4且生成长度>128 token,或spec_accept_rate > 0.96时,主动中止并重试
BugFix #1:PD分离架构下的KV Cache竞态
问题根源: Decode侧触发Abort并回收KV Cache后,未正确传播至Prefill侧,导致:
- 新请求分配到相同KV Cache地址
- 原Prefill的RDMA写入继续执行
- 覆盖新请求的KV Cache
修复方案:
- Decode触发Abort后,向Prefill发送通知
- Prefill确认所有写入完成后,才返回"可释放"信号
- Decode收到确认后才回收KV Cache
修复效果:异常输出发生率从万分之十几降至万分之三以下
BugFix #2:HiCache加载时序缺失
问题场景:
- Coding Agent平均输入长度超70K tokens
- 前缀复用率高,HiCache(多级KV Cache)成为关键优化
问题: Load Stream与Forward Stream重叠执行时,Indexer算子启动未对Cache加载完成建立同步约束,导致Read-before-Ready。
修复:在Indexer算子前引入显式同步点,确保Cache完成加载后才启动计算
性能优化创新
投机解码与并行生成:
- 平衡深度推理与时效性
PD分离优化:
- 多级缓存
- 智能调度
- 概率空间裁剪
成果:将推理时延控制在50毫秒以内,端到端时延稳定达标
贡献开源社区
智谱将推理工程实践经验贡献回SGLang开源社区,包括:
- PD分离架构同步机制优化
- HiCache时序一致性修复
- 投机采样监控策略
这些经验可帮助更多模型后续的推理优化、吞吐放量和Agent场景稳定性提升。
行业启示
- 今年是Infra的决胜年:大模型竞争焦点从"谁的模型更强"转向"谁的基础设施更能扛"
- Coding Agent是压力测试场:长上下文、复杂工具调用、高并发下的稳定性挑战远超普通对话场景
- 底层Bug定位难度大:需要在PD分离、HiCache等复杂架构中建立显式同步机制