跳到正文

devlog/flow-recipes/avoiding-context-switching-when-tools-are-slow-509.md

终端里的等待账单:工具变慢时,少切窗口也少花钱

请求没返回,先别打开第二个聊天窗口

写代码时最容易浪费钱的瞬间,是终端里的请求迟迟不结束。我会想换个模型再问一次,顺手打开网页,把同一份日志重新贴进去。结果往往是两边都开始生成,我却忘了最初要验证哪个假设。

慢工具带来的不只是等待,还有重复输入、重复输出和重新理解代码的成本。我的省钱原则是:先管理等待,再考虑换模型,不把焦虑变成第二笔请求。

给等待设阈值,不给重发开绿灯

我给交互任务设一个个人阈值,例如二十秒;这不是服务承诺,也不是超时后自动重发的条件。到点还没返回,就转去做同一任务里不依赖答案的步骤,例如补复现用例、检查差异或运行已有测试。

  • 发送请求之前,先在当前任务笔记里写清目标、输入范围和验收命令。
  • 超过等待阈值之后,只做相关检查,不启动另一份内容相同的生成请求。
  • 确实需要取消请求时,先确认客户端状态,并检查是否已经产生计费用量。

终端多开一个窗格通常就够了:一边保留请求状态,一边跑测试。不要为了等答案,临时开始另一个功能。

按任务分流,别让所有问题都读整个仓库

我会先让 DeepSeek V4 Flash 处理边界清楚的小任务,例如根据一段报错列出排查顺序。涉及跨文件设计、失败原因仍不明确时,再考虑让 Claude Sonnet 5.5 接手。这里不是预设谁一定更快或更便宜,而是用自己的成功率和实际账单决定分工。

升级模型时也不重贴整个会话。我会整理一份交接摘要,只保留复现步骤、相关文件、已排除的假设和期望结果。旧模型的长篇推理,不必成为新请求的输入。

统一入口,保留编辑器里的操作习惯

我把 Fluxo 当作连接配置层:一个密钥、一个基础地址 https://api.fluxorelay.com,可以接入不同厂商的模型。它可用于 Claude Code、Codex、Gemini CLI,以及使用 OpenAI SDK 的工具,切换时不必再去维护另一套聊天窗口。

实际配置仍要检查各客户端的环境变量和模型参数,不能假定所有工具的写法相同。密钥放在本地环境或密钥管理器里,不写进仓库;先用一个小请求确认连通,再交给长任务。

把缓存读写和失败重试一起记账

Fluxo 没有月费,按实际令牌用量计费,缓存读取和写入也在其中。所以我不把缓存命中当成免费,也不为了“可能命中”反复发送无用上下文。先记录实际用量,再判断复用是否划算。

  • 保留稳定的项目说明,并在工具支持时核对缓存读写是否实际发生。
  • 每次只附上相关差异和必要日志,避免重复发送整个仓库内容。
  • 对临时错误设置有上限的退避重试,遇到参数或鉴权错误就先修配置。
  • 要求先给诊断和验证命令,确认方向之后再生成完整修改方案。

我每周看一次“完成一个有效任务花了多少”,而不只看单次请求价格。便宜但反复失败的调用,未必真的省钱。

用一个真实任务验证等待成本

如果你想试这套流程,可以创建一个 Fluxo 账号,从一次小型修复开始,记录耗时、用量和重试次数。先证明工作流能减少重复劳动,再扩大使用范围。

Fluxo 也提供邀请分成:受邀用户付费后,邀请人可获得相应分成。我会把它与开发预算分开记,不拿尚未发生的收入抵扣调用成本。真正稳定的节省,还是来自少发重复请求、少搬运上下文,以及等待结束后能立刻接着写代码。

缓冲区里的下一篇

一分钟注册,赠送额度足够把文中提到的模型都试一遍。 注册 →