当前位置: 首页 > news >正文

为什么简单的Agent循环会崩成slop?结构化验证才是解药

在构建前沿机构级投资流程(@openforage)时,我们只用Agent就花掉了上万亿token。现在看来,循环(loops)几乎是所有有意义agentic工程的核心

扔更多token能提升解的质量,这点已经不是新鲜事。但很多人在实际落地长时运行的Agent会话(有时长达一周)时,却发现天真的循环几乎必然产出大量无用slop——要么严重偏离原始意图,要么充斥无法修复的bug。

为什么?

因为在朴素的循环里,同时发生了三件事,而这三件事会把你的工程拖进深渊。

为什么扔更多token有效?(先把基础说清楚)

和人类一样,Agent第一次输出的结果几乎永远不是最好的。

扔更多token能让Agent:

  • 广度探索更大范围的解空间
  • 深度推理更多维度的权衡

这能产生真正新颖、分布外(out-of-distribution)的方案。

但前沿模型被训练成“token高效”和“快速响应”,这与“多token=高质量”直接冲突。于是我们发明了循环——既满足想快速聊天的人,又让想解决难题的builder能轻松扔几十亿token。

天真的循环为什么必然崩盘

1. 错误会指数级 compounding

早期Agent犯的错误会像在不稳的地基上建摩天大楼,越往上越危险。

一个早期做出的糟糕设计决策,后续Agent会因为context compaction而“忘记”它只是妥协方案,反而把它当作既定事实,并在此基础上继续构建整个基础设施。

这不是Agent笨,而是上下文压缩让它失去了对“这是妥协”的记忆。

2. 缺乏有意义的迭代

很多聪明人困在自己脑袋里,只用廉价的内心模拟和现实对抗,结果影响力为零。

Agent也一样。让它用相同上下文审查自己的工作,几乎只能得到边际改进。

人类和Agent都是从给定上下文对应的解分布中抽取方案。没有上下文变化,就很难跳出当前解的附近。

你有没有过这种经历:刚写完/画完/做完一个东西时觉得“这是我目前最好的”,几天后回头看却觉得“这是垃圾”?

那是因为你给了自己新的上下文(不同日子、不同心境),从而从不同的解分布中重新抽取。

朴素循环里的Agent做不到这一点。

3. 没有北极星(North Star)

没有明确的验证目标和实现方向,Agent会无限漂移。每一次上下文压缩都让它离原始意图更远。

最终你得到的,可能是一幅印象派小船,而你本来要的是能真正航行的船。

更好的循环该怎么写

要解决以上三个问题,我们需要同时实现三件事:

  1. 尽早拦截错误,阻止它们 compounding
  2. 给Agent提供有意义的迭代(引入不同上下文 + 明确的优化目标,让它真正能hill-climb)
  3. 提供一个清晰的北极星

验证(Verification)恰好同时解决这三件事。

核心做法是:在实现Agent完成工作后,创建一个全新上下文、未被污染的验证Agent,让它审查实现Agent的工作。

  • 早做:在早期就捕获误解和bug,防止它们变成后续Agent不再认为是“妥协”的永久设计。
  • 常做:频繁反馈让实现不断迭代。这既是“扔更多token”的机制,也是防止spec drift的北极星。

把心态调整为:你想要的解在第一百次迭代之后。验证Agent要尽可能频繁介入。

验证虽然很贵(token消耗大),但频率和强度的权衡正是harness优化的核心。验证做得越好、越频繁,最终方案质量就越高。

什么才算好的验证?

好的验证必须有有意义的rubric(评分标准)

你几乎总应该花时间设计清晰的验证维度。

例如验证“代码整洁度”时,你可能关心:

  • 代码可扩展性
  • 变量命名
  • 模块化程度
  • 有意义的规范化

在每个维度下,再进一步拆解出可量化的细粒度字段,并定义如何打分、如何聚合成分数。

没有rubric,验证就会变得极度模糊,迭代也会充满噪声。

此外,至少有一个主要验证维度必须直接绑定到项目规格/问题本身——“这个方案在多大程度上解决了我的原始问题/达成了spec”。这才是真正的北极星。

停止条件(Stopping Criteria)

你可以组合使用:

  • 固定阈值(总分超过90分就停)
  • 改进阈值(连续几次改进小于10%就停)
  • 早停(连续N次尝试无改进就停)

定义“好分数”的同时,也自然定义了循环的终止点。

规范的Agentic循环(Canonical Loop)

想要构建某物

设计清晰的验证Rubric

设定“好”的阈值/停止条件

实现Agent执行

验证Agent早且频繁审查
新鲜上下文

验证通过?

结束循环
输出最终方案

把验证反馈注入实现Agent

这就是最基础却极其实用的结构。

验证的层级与实践意义

验证可以设计得非常强大(多层级、不同模型角色、校准机制等),足以对抗“agentic slop炮”。

但即使只是一个设计良好的基础验证系统,也能让你走得很远。

在真实构建机构级投资流程的过程中,我们深刻体会到:循环本身不是魔法,结构化的验证才是让循环真正工作的引擎

它把“扔更多token”从赌博变成了可控的、持续收敛的工程过程。


实践建议
下次你用Agent做任何非 trivial 的任务时,先花15-30分钟设计一套rubric(至少包含1个直接绑定spec的维度 + 2-3个质量维度)。然后把验证频率调高到“早且频繁”,观察最终输出质量和迭代次数的变化。

你目前正在构建的Agent工作流里,最该加入验证机制的是哪个环节?

我是紫微AI,在做一个「人格操作系统(ZPF)」。后面会持续分享AI Agent和系统实验。感兴趣可以关注,我们下期见。

http://www.jsqmd.com/news/1125469/

相关文章:

  • 基于51单片机水平倾角检测仪系统 三轴ADXL345加速度 嵌入式开发21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 2026年短视频矩阵服务商怎么选?实用指南揭秘
  • GPT充值以后怎么用才不浪费?开发者把 ChatGPT 用进接口文档、代码审查和回归测试的 4 个工作流
  • (其他)服务器上传和下载文件
  • OpenClaw模块化机器人抓取系统技术解析与应用案例
  • Nacos配置中心敏感数据加密实战:从原理到部署的完整指南
  • 散列表(Hash Table)从理论到实用(上)
  • NSK精细滚珠丝杠W1602MS技术指南
  • ACL包过滤、NAT技术、广域网协议
  • Linux文件操作核心命令与实用技巧详解
  • GORM的字段类型推导源码解析
  • 1.逻辑结构与逻辑工程学
  • 【电赛/毕设终极杀器】超越 PID 与 LQR!控制界的黑魔法:自抗扰控制 (ADRC) 原理与 STM32 硬核部署指南
  • 基于51单片机的火灾报警系统设计 智能烟雾报警器温度检测21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • C盘清理工具合集 Windows系统垃圾深度清理 磁盘瘦身 下载
  • YOLO11视频目标检测实战:从环境配置到高级应用
  • Engine-Sim技术深度解析:实时发动机模拟与音频合成的工程实现
  • NSK滚珠丝杠W3205SS技术解析
  • Dify新手入门:从账号界面到AI工作流实战指南
  • 手把手教你用8款一键生成论文工具,极速搞定各类论文
  • Agent 架构
  • 基于PyTorch与UrbanSound8K数据集的环境声音分类实战
  • 智能项目管理周报:AI 可以汇总状态,不能替代判断
  • SRS 4.0 HTTP回调实战:SpringBoot 实现 7 种事件鉴权与业务集成
  • Vite 环境变量治理:别把构建时配置当运行时开关
  • Linux syslog日志权限出错
  • Wishbone BFM 设计与实现:从手写总线到自动化自检
  • 什么叫Padding Oracle
  • 说说程序员、博客、论坛及个人专业相关知识的提高
  • 基于大数据Hadoop+Spark的汽车销售数据分析系统设计与实现任务书