history が長くなり、現在の task に以前の詳細が不要になったら conversation を summarize します。毎 turn で transcript 全体を再送する代わりに、古く解決済みの部分を短い summary に置き換え、key decisions と current state を残し、解決済みの tangent を落とします。
なぜ summarize するのか
- Context window — すべての model には有限の context があります。長く未整理の history はいずれ溢れ、古い message は結局 truncate されます。
- Cost and latency — 再送するすべての message に token cost と待ち時間がかかります。50 message の thread を毎 turn 再処理するのは遅く高価ですが、tight summary は安価です。
- Focus — すでに直した bug や却下した idea のような無関係な back-and-forth は、model を今重要なことから distract します。
