[Model Routing] claude-sonnet-5 swallows streaming assistant.reasoning_delta; flushes all thinkingContent at completion
- 主要语言
- Java
- 星标
- 10.5k
- 派生
- 1.5k
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 129
描述
Environment Details:
Working Model: claude-sonnet-4.5 (streams perfectly)
Failing Model: claude-sonnet-5
Integration: GitHub Copilot SDK (subscribe('assistant.reasoning_delta'))
Observed Behavior:
When routing requests to claude-sonnet-5, the SDK emits zero assistant.reasoning_delta events during the generation lifecycle. Instead, it accumulates them in the background, resulting in a ~25,000ms Time-to-First-Token (TTFT) and blocking client-side UI rendering. A complete, non-empty thinkingContent block is delivered atomically only when the final text stream buffer flushes or the file completes.
Expected Behavior:
The SDK should map Anthropic's streaming reasoning frames into real-time assistant.reasoning_delta events immediately upon receiving them from the upstream model router, preserving low operational TTFT just as it successfully does for claude-sonnet-4.5.
贡献指南
调研方向
从 subscribe('assistant.reasoning_delta') 背后的实现开始,跟踪 claude-sonnet-5 的模型路由路径。将其处理方式与 claude-sonnet-4.5 进行比较,并验证上游推理帧是否会立即发出,而不是进行缓冲。完成标准是 claude-sonnet-5 能够实时发出 reasoning_delta 事件并保持较低的 TTFT,而无需等待最终完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github, java
- 领域
- ai, api, performance
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100