[Model Routing] claude-sonnet-5 swallows streaming assistant.reasoning_delta; flushes all thinkingContent at completion
- 主要言語
- Java
- スター
- 10.5k
- フォーク
- 1.5k
- 平均マージ
- 1日 11時間
- マージ済み PR(30日)
- 127
説明
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.
コントリビューションガイド
調査の方向性
Start at the implementation behind subscribe('assistant.reasoning_delta') and follow the model-routing path for claude-sonnet-5. Compare its handling with claude-sonnet-4.5 and verify whether upstream reasoning frames are emitted immediately rather than buffered. Done means real-time reasoning_delta events and low TTFT for claude-sonnet-5, without waiting for final completion.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github, java
- 領域
- ai, api, performance
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100