值得读 Agent 系统 / 评测与基准
追踪记录 ↗
Plawan Rath、Akhil Jindal、Ashwini Verma / Meta Engineering 工具与产品 2026-10-19
Meta 这篇工程记录讨论的是推荐系统的数据列接入:新增一个字段后,要让它从配置定义、生成代码一路进入处理服务和分析系统。这里的配置本身也是代码,Python 配置会驱动 C++ 代码生成;一列数据最多经过六个阶段,修改涉及三个仓库、三种语言。只改好其中一个文件,不能保证上下游仍把它当作同一种数据处理。
旧方案把配置结构、命名规则、生成代码的方法和十多种数据源的填充方式都放进同一个 Agent。生产中出现的错误很具体:把一个子系统的字段命名惯例套到另一个子系统,或者用数据源 A 的生成模式处理数据源 B。团队认为,知识全放在一起反而增加了规则混用的机会,因而把流程控制和领域推理拆开。
新的固定编排器约 1,300 行,只负责顺序和检查。每次请求先读取对应专门 Agent 的说明,确认目标是否已存在,向用户收齐必需字段,自动查找仓库类型与已有配置,再检查警告和所需审核人;这些条件齐备后才派发任务,最后接收结果、报告错误或确认完成。真正解释配置与修改代码的是 14 个专门 Agent:例如 schema(结构定义)Agent 管配置注册,population(数据填充)Agent 管按数据源生成代码,validation(验证)Agent 管构建与质量检查。它们执行时只加载所需的领域知识,而非共享全部上下文。
专业 Agent 的协作顺序由工作流模板规定。原文的数据列接入依次经过定义、验证、填充、测试;事件接入还要增加事件处理;迁移则先评估与规划,再复用已有 Agent 完成后续步骤。这样,新增工作流可以改变组合顺序,而不必再造一组角色。知识也独立存放,更新知识文件即可供下一次执行读取。
作者报告,单列配置准备从人工三四天、早期配置驱动系统约一天,缩至一小时以内;约三分之二的改动无需重大人工修改。另一个单 Agent 方案在工程师逐任务精写提示时成功率为 70%—80%,没有这种辅助时为 10%—20%。这些是不同工作方式的内部经验比较,提示准备、人力与流程同时变化,不能把差额全算成增加 Agent 数量的收益。
查看大图 ↗ 图片暂不可用,请查看来源。
Meta 原文架构图:左侧入口负责路由与协调,中间的工作流管理不承载领域知识,右侧模板隔离各领域的推理与检查。图展示的是职责分工。Meta Engineering · Plawan Rath、Akhil Jindal、Ashwini Verma · 原文架构图 · 图片出处 ↗ 编辑评读
这套设计的贡献,是让错误能够落到具体环节。以重复接入为例,目标是否已存在可以在派发前核对;以命名规则混用为例,则需要缩小专门 Agent 能看到的规则范围。两种故障有不同修复办法。把它们都交给一个更长的系统提示,会让维护者难以判断是流程漏做,还是模型读错了领域条件。原文给出的七步协议和工作流模板,使这种区分有了可维护的落点。
值得借鉴的还有复用单位的变化。新增迁移任务时复用 schema、population 等能力,只调整阶段顺序,意味着团队维护的是一组有明确输入和职责的步骤。知识文件更新与编排代码分开,也减少了每次修规则都要改路由的牵连。不过,这要求领域边界足够清楚;若两个步骤必须共同决定某个约束,就需要显式传递该约束,隔离上下文本身不会保证它们达成一致。
因此,迁移这套方法时,可以先找流程中已经稳定的前置条件和交付物,再决定哪些判断交给模型。原文的时间下降支持它在这一成熟数据流水线中的实用价值;约三分之一改动仍需较大人工修改,则提示接下来应看返工集中在哪些领域、由谁补足。对需求仍在探索的工作,固定模板也应允许退回澄清,否则只是更快地执行了一个尚未说清的流程。
依据 1
值得读 Agent 系统 / 评测与基准 / 训练与对齐
追踪记录 ↗
Robert Kim、Din / Laminar 工具与产品 2026-10-19
Agent 的一次运行会留下“轨迹”:按顺序记录模型收到什么、调用了哪些工具、工具返回什么以及最后如何回答。隐性错误往往藏在这些步骤之间,接口没有报错,Agent 也说完成了,但交付物遗漏要求或解释与日志不符。Laminar 的 Signals 就是读取轨迹、调查这类问题的检查程序;flow-1 是在其中工作的专门模型,原始发布于 10 月 1 日,本次讨论线索来自 10 月 19 日的 Hacker News。
Signals 把一条轨迹当作代码仓库,把每段模型或工具调用记录当作可读取的文件。模型先看整条轨迹的概览和用户的检查要求,例如查找逻辑错误;再用搜索定位相关片段,打开完整记录补齐上下文,判断证据是否支持某个问题,最后按用户规定的结构输出 JSON。训练也使用这套搜索和读取工具,让模型学习的不只是给结论,还包括去哪里找依据。Signals 还可以按指定要求提取用户不满、交接原因等信息,并不限于报错。
原文的一份合同案例说明了它为什么需要跨步骤核对:双方约定把影片可用窗口改为 105 天,Agent 在问题清单里标记已解决,合同附表却仍写 90 天。flow-1 不只指出合同遗漏,还把它与清单中的错误完成状态联系起来。另一个代码案例里,Agent 把多项测试失败都归为已有问题,检查器发现日志只能支持其中一项的归因。原文也公开了漏检:flow-1 放过了一份缺少必需 AI 治理条款的合同修订。
厂商在 523 条涉及编程、法律、客服、CRM 等场景的困难轨迹上,用同一 Signals 程序替换不同模型比较。检测 F1 为 0.835,衡量发现错误时误报与漏报之间的平衡;它综合精确率和召回率,不是“83.5% 的任务做对了”。描述 F1 为 0.741,另看对问题的描述是否正确对应所要识别的错误,不能与有没有发现错误混为一项。文章没有展开描述匹配的完整评分细则,因此不把这个分数解释成某种具体的逐词或因果解释准确率。表中 Opus 5 两项均更高,flow-1 的定位是以较低检查费用取得有竞争力的结果。
费用表只统计总 LLM token 少于 10 万的轨迹,计入完整 Signals 调查及检索步骤:flow-1 每条约 0.0011 美元,GPT-6-sol 约 0.026 美元。这是检查轨迹的模型费用,不包括被检查 Agent 原来的运行成本。评论区关于漏跑任务、过期输入以及开发者对训练效率的回应,另按作者保留在下方。
查看大图 ↗ 图片暂不可用,请查看来源。
Laminar 自测图:横轴是每美元可分析的轨迹数量,纵轴是问题描述的 F1。图中 flow-1 与 GPT-6 Sol 的描述质量接近、单位费用覆盖更多轨迹;这不表示 flow-1 在所有质量指标上最好,完整比较条件见正文。Laminar 团队 · 原文矢量图截图 · 3× · 图片出处 ↗ sebastienburel · 原帖 / 原文 语境:在 Laminar 发布帖下描述自己的常驻 Agent,未声称测试过 flow-1。 · 读取时间:2026-10-20
回应原帖:查看原帖上下文
逐句忠实转述(非原文) 他的 Agent 本该早晨启动,但宿主机器的计时方式与休眠交互,导致任务根本没有运行,也没有重试。他追问:能否把“预期运行的任务”与“实际发生的运行”相对照?如果只检查产生出来的轨迹,安静的遗漏仍会被漏掉。
语境:在同一帖中提出输入层面的辨别问题,不是独立性能实验。 · 读取时间:2026-10-20
回应原帖:查看原帖上下文
逐句忠实转述(非原文) 工具可以成功返回,却交回过期缓存或带有提示注入的文本;后面的推理在这些输入上仍可能很连贯。他关心的是,检查器如何区分“模型误解了正确输入”与“模型从一开始就拿到了错误输入”。调用成功本身并不能回答这个问题。
skull8888888(Robert Kim) · 原帖 / 原文 语境:开发者回应训练与效率问题;属于作者补充,不能算独立评价。 · 读取时间:2026-10-20
回应原帖:查看原帖上下文
逐句忠实转述(非原文) 训练使用了检查流程实际提供的搜索、读取工具,并采用适合长提示的 GSPO。他说奖励与探索之间很难平衡;当前检查点在复杂轨迹上产生过多思考 token,会拖慢检查。下一步希望在较少思考量下保住质量。
编辑评读
flow-1 最值得借鉴的做法,是把“看完日志给分”改成带着问题取证。合同的 105 天约定、90 天附表和已关闭的事项,需要一起出现才构成完整错误;单看工具调用是否成功,或只读最后一句完成报告,都无法得到这组对照。先搜索再读取的设计,使长轨迹检查有机会把预算集中在相关证据上。它的价值应体现为找出可以复查的矛盾,而不只是生成一段看似合理的批评。
原文同时给了正确克制与漏检的例子:一条审查轨迹正确指出 yaml 被换成 pyyaml 的导入错误,flow-1 没把这条正确发现再报成问题;另一份合同缺少必需条款,它却没有发现。这意味着评估不能只收藏抓得漂亮的案例。试用时应分别记录真实错误的召回、正常轨迹上的误报,以及解释是否足以指导修复;未告警样本也要抽查,否则容易把沉默误当成通过。
评论者的漏跑经历又界定了产品入口:任务根本没有启动,就没有轨迹送进 Signals,这不是检测 F1 能回答的问题。另一位评论者指出,即使调用成功,返回的缓存或文本也可能不可信。由此看,轨迹检查适合成为已有运行中的语义复核,部署方仍需提供预期任务清单、输入来源与版本信息。便宜的检查扩大了可检查范围,但只有这些参照齐全,发现问题后才知道该补调度、换输入还是改推理。
依据 1 · 依据 2 · 依据 3 · 依据 4 · 依据 5
值得读 Agent 系统 / AI 编程 / 评测与基准 / 训练与对齐
追踪记录 ↗
Linji Hao 等 / arXiv v1,10 月 14 日 研究进展 2026-10-20
Interlock 是经 Hugging Face Daily Papers 发现的一篇长任务训练论文,v1 发布于 10 月 14 日。它针对的不是某一步不会做,而是局部做对之后漏掉关联义务:例如机票订对了,日程和预算却没更新;几份文件也可能彼此一致,却共同采用了一个没有来源支持的假设。论文把“完成”写成三种依赖关系:证据要支持决策,多个选择要共同满足约束,决策还要落实到所有受影响的产物。
这张关系图用来约束训练任务的生成。三个生成角色依次构造可重置的工作区、公开请求与交付约定、私有验收规则。工作区提供资料、规则和初始文件,公开请求告诉求解 Agent 要交付什么,私有规则用于检查结果;具体资料对应和行动选择仍留给求解者完成。生成后先追踪原始要求是否在工作区、请求和验收中保留下来,再从求解者视角检查:仅凭公开材料能否推出验收所要求的内容,产物是否真的可检查。这样可以分别抓住“生成时漏了要求”和“暗中要求了读者无从知道的答案”。
执行完成后,带终端工具的裁判根据验收规则检查文件与工作区变化,必要时编写并运行验证脚本。只有所有必需条目通过、另设质量门槛也满足的轨迹才被保留。两个 Qwen3.6 骨干分别用自己的合格轨迹做监督微调,论文称为拒绝采样微调(RFT):先筛选完整成功的执行,再学习这些执行,不是单靠把对话拉长来训练。
培训排程案例把三种关系落到了实处。同一模型面对相同公开输入,一次尝试让日程与发布表彼此相符,却漏掉六名应训人员中的两名;安排的 12:00—14:00 课程又超出 08:00—11:30 放行窗口,还把资格 2 月 12 日到期的讲师排到 16 日。另一次尝试纳入全部六人、使用共同的 09:30—11:30 窗口,并把该讲师排到 11 日。这个案例解释了为何文件之间一致仍不够;它是两次执行的对照,不是训练前后的成效演示。
主实验每个骨干使用 8,957 条自身合格轨迹、约 1.54 亿监督 token,并与原模型及 ClawGym-SFT 比较。Qwen3.6-27B 在 AutomationBench 的任务通过率从 14.33% 到 18.33%,35B-A3B 从 9.00% 到 13.50%。另外,JobBench 的任务加权得分增加 3.20—6.64 分,Harvey LAB 的验收条款通过率增加 3.89—4.16 个百分点;后两者不能换算成完整任务成功率。外部评测题未进入任务合成和训练,这些结果支持所选训练经验能迁移到不同环境。
论文还单独比较了轨迹裁判:固定候选轨迹池、裁判骨干、验收规则及训练预算后,能查文件和运行脚本的裁判比只读工作区文本与差异的裁判,筛出了下游表现更好的训练数据。它支持的是主动核验产物这一环节的价值;完整关系图、任务生成和训练的各自贡献,仍要与这项较窄的对照分开看。
查看大图 ↗ 图片暂不可用,请查看来源。
Interlock 论文图 1:订好机票不等于完成出差安排,还要更新日程与预算。右侧把证据、决策间的约束和必须产生的后续结果连在一起,说明任务合成要保留哪些关系;这是方法动机示意,不是实验结果。Interlock 论文作者 · arXiv:2610.19686v1 · 原论文图 1 · 图片出处 ↗ 编辑评读
Interlock 把训练目标从“产出一份像样的答案”移到了“兑现所有被激活的义务”。培训案例中,日程与发布表一致只能验证两份产物彼此对得上;查全应训人员、核对放行时间和资格有效期,还需要回到原始资料。关系图的用途正是保留这些回查路径,让验收不被漂亮的最终文件替代。对工程团队而言,先把决定会影响哪些记录列清楚,即使暂不生成训练数据,也能改善任务交接与验收。
两层任务审查同样有实际意义。只检查公开请求与私有规则彼此一致,可能让它们一起遗漏最初的要求;只保护原始要求,又可能把无法从公开资料推知的条件塞入验收。来源覆盖和公开输入审查分别处理这两种错误,使通过更接近“完成了可知的任务”。这不是给任务增加越多条件越好,而是要求条件有来处,并保留求解者需要自己作出的选择。
实验证据应逐层使用。主表支持整套合成、筛选与微调方案的训练价值;固定 8,957 条轨迹、增加领域覆盖的实验支持多样情境的帮助;裁判对照则更直接支持检查实际文件和重新计算。后者在 Qwen3.6-27B 上把 AutomationBench 从文本筛选后的 13.17% 提到 18.33%,但裁判平均输出也由每条约 11.03k 增至 12.28k token,且不计工具返回内容。收益需要和取证费用一起考虑,不能据此宣布核验几乎免费。
这里仍有一个具体的选择:若最终产物的关键条件可用脚本重算,把检查预算放在那些条件上,比继续增加自由文字评价更可追溯;若条件本身模糊,裁判依旧需要判断。后续最有价值的证据是换一批领域后,哪些义务仍被漏掉、哪些合格轨迹被误拒。它能帮助确定训练数据该补什么,而不只是继续增加已经会做的长轨迹。
依据 1
值得读 AI 编程 / 系统与效率
追踪记录 ↗
doubleAI / Maxwell 工具与产品 2026-10-19
doubleAI 的 Maxwell 尝试把优化放在程序运行过程中:观察当前硬件、数据形状与类型,找到耗时部分,再生成适合该机器的底层二进制。源码保持原样,替换的是机器实际执行的代码。它与编程助手的分工不同:后者帮助写程序,前者希望根据运行时才知道的条件持续调整执行方式。官网称它同时覆盖 CPU 和 GPU,例如将 Python 运算换成低层实现,为 PyTorch 生成适合当前 GPU 的内核;产品仍处于 early access 阶段。
运行中自动换代码,首先要回答新旧行为是否相同。官网把做法描述为“同时生成优化代码与语义等价证明”:在规定输入和条件下,结果及外部效果都应保持一致,证明再由机器检查。页面用一个刻意简化的例子解释:双层循环逐次累加,可以换成 n×(n−1)÷2;但给出的替换代码使用有限范围整数,证明注明 0≤n≤3037000500,条件不满足时,由运行时的条件检查(guard)转回原代码。这个例子说明了条件与回退的作用,不代表完整 Python 运行时已由这段演示覆盖。
官网展示的演示让同一个 Python 脚本在同一块 RTX 4090 上从冷启动开始,用 Whisper-small 做 180 次转写,总时间从 106.23 秒降至 49.82 秒,展示的文本输出相同。它提供了一个具体速度样本,但“这些转写相同”“某个替换在明确条件下等价”“整个运行系统及其依赖可信”是三层承诺,不能互相替代。
合作方 LTX-2 的 1.5.0 更新记录还披露了与 doubleAI 的性能优化,包括算子、切块和数据精度相关变化,同时明确新旧版本并非逐比特一致。这不直接否定某个特定 Maxwell 替换的等价证明,却说明评价产品和合作版本时,需要分清到底要求文本结果相同、数值容差内相同,还是每个比特完全相同。
Remote-Telephone-682 · 原帖 / 原文 语境:根据官网提出工程取舍问题,未实际测试 Maxwell。 · 读取时间:2026-10-20
回应原帖:查看原帖上下文
逐句忠实转述(非原文) 他问:如果性能剖析发现了新的优化规律,为什么不把它们加进编译器,而要给每一份构建出的二进制增加一个独立优化阶段?他能理解这种产品形态的商业理由,但对工程上新增环节是否值得持保留态度。
编辑评读
Maxwell 有吸引力的地方,是利用实际运行条件寻找静态源码看不出的优化机会,同时把替换行为是否保持纳入承诺。官网的求和例子虽然简单,却解释了一个关键取舍:利用有限输入范围可以获得更快的实现,运行时检查则负责确认这个范围仍成立。因此,评估时不应只看新代码有多快,还要看检查条件、生成优化与不满足条件时回退的费用,是否被端到端收益覆盖。
Reddit 评论者问“为什么不把发现的规律放进编译器”,正好提供了另一种取舍。可以普遍复用的变换进入编译器后,很多程序都能受益;依赖某台机器和当前数据的改写,则可能有在运行时专门优化的理由。这是依据产品机制展开的工程判断,尚需以优化耗时、版本复用和长期运行收益来比较,不能仅凭多了形式证明就认定额外环节一定划算。
等价性还必须绑定具体对象。Whisper 演示检查的是有限次转写结果,条件证明检查的是形式模型中的替换关系,LTX-2 更新记录描述的是整个合作版本的行为变化。把这三种对象分开,才能既保留正面速度证据,也正确理解输出不逐比特一致的披露。实际采用前最值得取得的材料,是证明覆盖的语义、guard 与回退边界、第三方库的假设,以及包含优化开销的同任务测量。
依据 1 · 依据 2 · 依据 3