反思怎样通过外部验证变成改进
反思输出“报告更准确了”是另一次模型判断。可检验的修订应指向具体缺口,例如缺少来源、测试不通过或任务漏项,并给出下一次修改。验证器用独立规则检查,连续无改进时停止,保留最好版本而不是最后版本。
保留最好版本
下面完整实验以必须出现的两个来源标记作为狭窄质量规则。它不能判断事实正确,只证明控制器不会把较差候选覆盖最好结果。
python
def score(text):
return int("[A]" in text) + int("[B]" in text)
def improve(candidates, patience=2):
best, best_score, stagnant = "", -1, 0
for text in candidates:
value = score(text)
if value > best_score:
best, best_score, stagnant = text, value, 0
else:
stagnant += 1
if best_score == 2:
return best, "verified"
if stagnant >= patience:
return best, "no_progress"
return best, "budget_exhausted"
assert improve(["x [A]", "x", "y"])[0] == "x [A]"
assert improve(["x [A]", "x", "y"])[1] == "no_progress"
assert improve(["x [A]", "x [A] [B]"])[1] == "verified"
print("best version retained")评分函数是外部规则,不读候选中的“我已满足要求”。但它只检查标记存在,伪造标记也会通过,因此生产引用检查应加载文档、核对 ID 与对应命题。代码任务运行测试,订单任务查询业务系统;不同目标不能统一成一个“自信分数”。
记忆写入需要证据门槛
工作记忆保存当前计划,情景记忆保存过去任务的步骤和结果,语义记忆保存可引用事实,用户记忆保存授权偏好。反思“改小超时后成功”可能只是外部服务恢复,不能立刻写成通用经验。记录条件、实验、反例与有效期,跨任务复用前重新检查适用性。
失败分类决定修订:缺资料先检索,工具限流退避,权限不足结束或授权升级,目标漂移回到原约束,计划环路修改依赖。浏览器或代码 Agent 的反馈必须来自真实页面状态、文件差异或测试,不把工具退出零等同于目标完成。多模态任务还要区分 OCR 误读和模型推理错误。
传统“循环直到模型说 done”的程序可先保留原模型接口,仅加入外部验收与无进展计数,观察相同任务是否更早停止;随后再迁移到图式执行,避免一次改变过多因素导致无法归因。
练习
把正文评分目标改成必须包含[A]、[B]、[C]三项。实现独立函数,测试分数倒退不丢最好版本,三项齐全才 verified。