The context usage awareness is a bit boost for this in my experience. I use speckit and have setup to wrap up tasks when at least 20% of context remaining with a summary of progress, followed by /clear, insert summary and continue. This has reduced compacts almost entirely.
If you use very long threads and treat it as a long-and-winding conversation, you will get worse results and pay a lot more.