保持限制范围内
将长时间运行的代理工作保持在当前5小时和每周使用窗口内。在启动重大工作之前以及并行子代理各轮次之间检查使用情况。如果当前5小时或每周限制达到或超过95%,暂停新工作,直到窗口足够空闲,可以安全继续。
核心循环
- 运行一个有限范围的代理工作轮次。默认为最多3个并行子代理,除非用户或主机指定不同的节流值。
- 等待该轮次完成。不要为了节省预算而中断进行中的子代理;这通常会导致工作丢失。
- 使用主机的使用/预算工具检查当前5小时和每周使用情况。
- 如果任一窗口达到或超过95%,停止启动新工作,并安排一个自包含的恢复点,当相关窗口应空闲时进行恢复。
- 恢复时,在继续之前重新检查实际窗口或阻塞条件。不要仅依赖经过的挂钟时间。
使用信号
优先使用第一方主机使用工具(如果可用)。在Claude Code中,使用:
npx -y ccusage@latest blocks --active --json
使用JSON输出识别活动块的开始时间、当前成本或百分比以及剩余时间。唤醒时,将活动块的开始时间戳与上一次进行比较;新的时间戳比“已过去足够时间”更有说服力。
如果工具报告的是成本而不是直接百分比,请在已知当前账户限制的情况下进行转换。对于Claude Max风格的5小时块,一些用户更喜欢较早的警告阈值(约$500-550);将其视为用户配置的防护栏,而非通用规则。默认停止规则仍然是95%的当前5小时或每周限制。
暂停和恢复
当唤醒/恢复工具可用时,安排唤醒时间为:
min(3600, secondsUntilWindowClears)
如果运行时将唤醒延迟限制在60-3600秒之间,则为更长的等待链式安排多个唤醒。每次唤醒应重新检查使用情况,如果仍然超出预算则重新安排,只有当窗口安全低于阈值时才继续。
使唤醒提示自包含。包括:
- 剩余的计划。
- 检查然后重新安排的规则。
- 95%阈值和轮次节流值。
- 确切的使用命令或主机使用工具。
- 先前的块/窗口标识符(如果可用)。
- 下一步验证步骤。
- 如果委托将恢复,提供下一轮次的手续包,包括范围、验证命令和停止条件。
选择等待机制
- 当代理需要将指令附加到未来恢复时,使用唤醒/恢复工具。
- 对于固定定时器以及进程可以直接观察的内容,使用后台休眠或观察者。
- 仅对重复的新会话工作使用cron或定期计划。
避免短间隔轮询那些主机会通知您事情,例如后台任务或子代理完成。对于预算暂停,长时间休眠后提示缓存未命中是可以接受的;保护限制更为重要。
报告
如果暂停,请告知用户哪个窗口超过阈值、观察到的使用情况、您计划或预期下次检查的时间以及剩余的工作。在唤醒提示中保留足够的状态,以便下一次可以恢复而不依赖对话惯性。