120 Runs, Five Session Strategies: No Universal Winner in Agent Handoff Experiment
Choosing whether to continue, compact, fork, or start fresh with a summary can change agent run costs and latency by more than 10x on the same task, without any guaranteed delivery benefit. The results invalidate the simple "more context is better" assumption and push teams to measure handoff strategy per model and per workload instead of trusting a default.
FridaySunny's experiment compared five handoff strategies — fresh session, continue, compact, fork, and fresh-plus-short-summary — across two models, two old task histories, and two target tasks, with three repeats each. The headline result: no strategy wins everywhere. In the Sol complex-history E2E group, continue sessions cost $2.29 on average and took 14 minutes versus $0.19 and 2.7 minutes for a fresh session, yet all three delivery outcomes were identical (3/3). On DeepSeek's complex E2E task, the pattern flipped: fresh took 6.8 minutes while continue took 3.0 and fork 2.2, all completing fully.
Cost analysis shows why full history can be expensive even when cache hit rates are high. In the Sol E2E group, continue sessions averaged $1.266 in cache-read fees alone, versus $0.194 total for a fresh task, because roughly 6.33 million cached tokens were re-read across many calls. Long-input pricing surcharges accounted for about 47–49% of recorded costs for continue and fork in that group. Short summaries matched fresh on Sol's E2E and beat it on DeepSeek's E2E, but on bugfix tasks they failed functional acceptance 2 out of 6 runs versus 0 for fresh.
The experiment also separates delivery failures: 102 of 120 runs fully qualified; 14 failed by runtime error or timeout, and 4 had functional boundary defects. The author is explicit about limits — three runs per group, one fixed history per round, uncontrolled cache warmth, and API-equivalent pricing — and concludes that session strategy must be evaluated per model, per task, and per delivery requirement, not by context length alone.
The expensive part of full-history handoff is not a single large input but the cumulative re-sending of old context across many tool calls, so cache hits mask a real cost problem.
Model behavior flips the cost equation: DeepSeek gets faster with inherited history while Sol gets slower, meaning handoff strategy is a per-model tuning knob, not a universal rule.
Attributing cost growth to "context gravity" is wrong when long-input pricing surcharges alone inflate continue and fork costs by nearly half; that is a pricing artifact, not model degradation.
Short summaries lose on bugfix tasks because the desensitization rules exist only in the old chat; delivery success cannot be inferred from cost and time improvements alone.
Separating runtime failures from functional defects matters: calling all 18 incomplete runs "code failures" would disguise that 14 were operational issues, not model reasoning problems.
最好一个模块任务做完后新开对话,然后把任务状态和进度写进文档中,这样既不会丢失进度,也不会遇到上下文爆炸的问题。试过一直用工具自带的压缩,没有用,大模型思考2轮就得压缩一次,太浪费时间。
按模块完成后交接,我认为关键是把后续任务真正需要的信息留下,而不是把旧聊天完整搬过去。你提到反复压缩的等待,也应该算进任务总耗时。 我们这轮“新开”组仍能读相同的代码、文档和任务说明,所以比较的是要不要额外继承聊天历史。同一轮 E2E 中,Sol 新开更省时,DeepSeek 却是继承历史更快;短摘要也没有稳定胜过直接新开。每组只有三次,暂时还不能得出所有任务都该新开的结论。 如果把交接落到文档里,我会建议除了状态、进度,再写清已确认的约束、关键决策及原因、验证过什么、还有哪些未完成;尤其区分“试过失败”和“只是讨论过”。下一轮也可以专门检查这些决策有没有保留下来,而不只看摘要是否流畅。 你现在写回文档的是进度清单,还是也会保留被否决的方案和原因?这部分可能更能解释新会话能否顺利接手。
我用的是spec-superflow这个插件,插件会自动设置任务状态和进度,新开聊天会查询上次任务的节点,然后接着执行。