自治等级、计划依赖与预算保留
辅助式系统每步交给人决定,受控自治允许程序在限定工具与预算里前进,长任务自治增加排队与恢复。开放目标生成属于更高风险研究场景。等级不是质量排名:如果目标无法验证、错误不可逆,缩小自主范围通常更可靠。
在行动前预留资源
如果只在工具结束后累计费用,两个并行任务都看到余额充足,就可能一起超支。控制面应先预留、完成后结算,失败时按照实际计费退还差额。以下完整实验用整数“预算单位”,不是供应商价格。
python
class Budget:
def __init__(self, total):
self.available = total
self.reserved = {}
def reserve(self, task, maximum):
if task in self.reserved or maximum < 0 or maximum > self.available:
return False
self.available -= maximum
self.reserved[task] = maximum
return True
def settle(self, task, actual):
maximum = self.reserved[task]
if not 0 <= actual <= maximum:
raise ValueError("actual exceeds reserved bound")
self.available += maximum - actual
del self.reserved[task]
b = Budget(10)
assert b.reserve("read", 7)
assert not b.reserve("write", 7)
b.settle("read", 4)
assert b.available == 6
assert b.reserve("write", 6)
print(b.available, b.reserved)7 单位先从余额移入保留区,实际花 4 后返还 3,所以余额为 6。已预留值不是已花费值。真实并发下 reserve 要用数据库条件更新,工具与模型输出上限应使最大成本可估算;无法给出上界的动作不能靠本类保证不超支。
计划的执行条件
每项任务保存输入、产物、依赖、允许工具、预算、截止时间与验收函数。依赖尚未验收则阻塞,不能因为子 Agent 说“完成”就解锁下游。失败后局部重规划:保留已证实产物,标记失效依赖,再生成替代步骤;全量重启会重复副作用和费用。
优先执行能减少关键不确定性或阻塞最长路径的任务,而不是拆出最多子任务。队列需记录 pending、running、verified、failed、cancelled,重试次数与最后错误;毒任务超过上限进死信,不能回到队首无限消耗。独立检索可以并行,共享写操作要串行或隔离。
练习
预算10,任务a预留6后实际2;任务b随后最多能预留多少?用断言证明重复 reserve a 不扣第二次钱,以及超过预留的 settle 不损坏账本。