昨日 dig 把「控制进代码、压缩不改写、分数带栈与 E2E、可靠性看重复成功与记忆校准」写成工程口诀。今日窗口(~2026-09-23→25)把问题再推一层:最小 harness 原语能否替代外挂记忆/自改进;状态该如何地固与编辑;压缩何时才安全;产出何时才有权进入 merge/deploy;安全干预何时介入;小模型靠什么结构化失败记忆站住。
本仓 tip 已有 Growing Harness / CliffCompaction / FIRE / Jev-Mem / MemCalib 等(SB-20260924),以及 Pi+Jev / formal-verification 语境。下文对照今日 primary sources,不重述昨日 keepers。
01找 · 读
一、Harness 两端:极简 invoke 语言 vs 状态地固 wrappers
JAZ:Harness as a Language——一个 invoke 原语走完记忆与自改进
Harness as a Language / JAZ问:现代 agent 常在 agent loop 之外再叠 memory、自改进等专用系统;一个几乎只有 loop 的最小 harness 能走多远?JAZ 暴露单一 LLM 原语 invoke,加约束与监控 hooks。相对 code-mode loop,invoke 满足两点:(1) LLM 可写含递归 invoke 的任意可执行代码;(2) 对 LLM 可见的一切——invoke 输入与其和环境的交互历史——都是代码环境变量。作者把 invoke 视为「每次调用由 LLM 提供实现」的语言原语。
验证时只用 prompting,无手工工具、无外挂 harness、无外部 memory/文件系统:长 horizon 回忆上,StuLife 回忆重段相对 Letta (MemGPT) +8% 且成本约一半;持续自改进上 AppWorld 相对 ACE +4% 且成本更低。
对实践
先问「这套记忆/自改进是否必须外挂」,再问「能否用 code-mode + 递归 invoke + hooks 表达」。落地清单:(1) 把控制与状态写成代码环境变量,而不是只塞 system prompt;(2) hooks 管约束与可观测性,不要先上第二套记忆服务;(3) 验收对照:同任务成功率、$/task、相对 MemGPT/ACE 类基线。与昨日 Growing Harness 互补:Growing 把 recurring control 编译进 harness 代码;JAZ 把表达力压回 单一语言原语。
SGC:State-Grounded Conditioning——防「任务完成但方向漂」
State-Grounded Conditioning面向依赖实时用户状态(对局状态、会话史、库存)的 user-facing agent,定义失败类 direction drift:回复任务完成,但所选方向与当前状态错位。SGC 把状态依赖控制外置为规则核 + Perception / Grounding / Interaction 三层 wrappers。200 会话(约 1000 assistant turns)游戏内教练:Perception 把 mean first-token latency 压到 1.5s(生产 PE-Agent harness 6.1s);三层全开后 turn-level grounded accuracy 96.7%(Prompting 61.1% / PE-Agent 69.8%),session-level 83.5%(20.0% / 26.5%),session 级 grounding 失败相对最强基线约 -78%。
对实践
User-facing / 状态敏感 agent:把「方向是否贴合 live state」与「任务是否完成」拆开验收。清单:(1) 结构化状态切片进 Perception;(2) Grounding 绑权威状态源;(3) Interaction wrapper 管状态依赖交互;(4) 报表加 grounded_accuracy 与 direction-drift 事件,不要只报 task-complete。与 generic harness 可组合:harness 管完成,SGC 管方向。
02找 · 读
二、上下文:StateComp——问「何时可安全替换」,不只问「相关吗」
StateComp指出:长 horizon 历史重要性随 agent 状态变;现有压缩多靠固定窗、周期或当前相关性,却忽略 过去交互何时才安全可替换。过早压会丢未来仍需信息;过保守则上下文膨胀。StateComp 用两阶段标注构造 KEEP / READY,在冻结 LM 隐表示上训 imbalance-aware router;有界状态表示降低长史评估成本;相邻 READY 成段后替换为摘要。WorkBuddyBench:agent+summarization tokens -52.27% 且任务表现保持;表示提取 12.67× 加速。
对实践
相对昨日 CliffCompaction「只截不断写」:StateComp 补「何时才允许压」。落地:(1) 压缩决策绑 agent state,不是纯相似度;(2) 监督分 KEEP vs READY,READY 才能进摘要;(3) 主指标同时看 token 与任务成功,禁止「压了就算赢」。与 Cliff 组合时:StateComp 选窗口,Cliff 管 faithful drop;禁止对已 compaction 再叠压。
03找 · 读
三、世界模型:AEWM——编辑任务状态,而不是预测工具回包
Agent-Editing World Model认为:语言世界模型常预测环境观测,但高熵、执行依赖的工具回包在真实反馈可用时价值有限;agent 更受害于 task-state contamination——无支撑假设与过期计划残留历史、扭曲后续决策。AEWM 建模「推理与动作如何改变任务进度」,含 Action Judge(Critical / Exploratory / Noisy)与 State Revision(同观测史上编辑 noisy 推理—动作续写);EditAct 与真实执行结合,直接改后续决策所依据的状态。Action Judge macro-F1 70.5%(超最强 frontier 基线 +10.6);六基准 × 三 backbone,EditAct 平均 +3.2–6.7;对 verified EditAct 轨迹做 RFT(AEWM-RFT)相对 Self-RFT +2.2–2.6。
对实践
长 horizon harness:在「再调一次工具」之前,先做 状态卫生——判 Critical/Exploratory/Noisy,修订污染续写。清单:(1) 轨迹里标 noisy 假设并可编辑掉;(2) 世界模型优先服务「下一步该信什么状态」,而非复述工具 JSON;(3) 用 EditAct 轨迹做离线 RFT 前必须有验证门。与 SGC 同向:一个管 user-facing 方向地固,一个管任务态污染清理。
04找 · 读
四、评测两面:动态执行推理(SWE-Flux)与主动轨迹安全(PASTABench)
SWE-Flux:仓库级「跑得怎样」而不是「静态读得怎样」
SWE-Flux补仓库级动态执行推理:480 实例 / 12 真实 Python 仓,金标来自插桩测试执行而非人工或 LLM judge;覆盖控制流、循环、程序状态、数据流、异常、不变量等。五模型最佳仅 37%;局部行为(不变量、过程内控制流、异常、简单循环)尚可,数据流、跨过程执行、精确状态与 suite 级聚合明显弱。输入扰动可再生变体(约 90% 实例可收成有效变体),且更难。
对实践
Coding agent 评测加一列 execution-reasoning,勿只报静态 repo QA。清单:金标尽量 execution-harvested;分项报 dataflow / inter-procedural / suite;用 perturbation 防榜单过拟合。与昨日 Serving Stack / SWE-Serve 并列:栈协议、生产 E2E、动态执行推理是三条不同混淆源。
PASTABench:主动干预窗口,而不是事后打安全分
PASTABench形式化 Decoupled Proactive Safety Monitoring(是否干预、何时干预、风险是什么);1139 多轮轨迹、5 大类 / 13 子类风险;提出 Optimal Intervention Window(OIW,锚定 Earliest-Signal 与 Trigger)。16 模型最佳仅 40.74% 最优时机干预;细粒度诊断暴露 lexical overfitting——小模型安全分常靠关键词过敏,中和危险词后主动能力塌缩。
对实践
安全层验收改「最优干预时机命中率」,不要只报事后 trajectory 违规率。清单:(1) 标注 earliest-signal 与 trigger;(2) 中和 hazard 词做对照,抓 lexical overfitting;(3) 策略同时输出是否/何时/何种风险。可与 FIRE 运行时策略、Assurance Spine 门禁串联。
05找 · 读
五、工程生命周期:Authorized Transition——产出 ≠ 有权生效
From Agent Output to Authorized Transition把保证问题从「agent 能否产出」转为「工程生命周期是否有理由根据对该产出的声明采取行动」。提出 Agile-V Assurance Spine:证据仅在满足权威源配置、绑定精确产物与冻结策略基线、相对声明依赖仍新鲜、满足风险相称独立性与权限时才准入;门禁决策记为 receipts;批准与例外精确范围且有时限;在 merge / deploy / flash / release / 制造等效应边界再复核授权。论文给词汇、组合架构、域配置与对抗评估议程,不声称监管符合或生产优越。
对实践
Agent 改仓/发版流水线:把「绿测」与「授权移交」拆开。清单:(1) 证据绑定 exact artifact + frozen policy;(2) 门禁出 receipt;(3) 效应边界再 check(merge 前与 deploy 前都要);(4) 例外有 scope 与 TTL。与昨日 SWE-Serve「local pass ≠ E2E」同构,再加一层 authorization。
06找 · 读
六、小模型工具执行:FRESH——失败感知异构图记忆
FRESH面向中小模型作 tool-using 执行器:长 horizon 有状态环境里常见结构性错误(缺观测、过早写、重复失败调用、违反前置条件)。微调贵;扁平记忆会检索到失败动作却丢因果与安全条件。FRESH 把成败经验建成异构图(任务、动作、错误、修复、执行条件),让冻结 LM 复用可靠策略、避开复发失败。τ-Bench / AppWorld 上相对无记忆与代表性记忆基线,任务成功与 tool-use 可靠性一致提升。
对实践
本地/小模型 agent:记忆默认结构化失败图,而不是扁平 episode 向量。清单:(1) 显式建模 error→repair→precondition;(2) 检索时过滤「无因果上下文的失败动作」;(3) 与昨日 Jev-Mem / MemCalib 对齐——热路径可控 + 过用/欠用校准。Growing Harness 改代码面;FRESH 给执行器外置经验;二者可叠。
07找 · 读
总览
flowchart TB
subgraph harness [Harness]
jaz[JAZ invoke]
sgc[SGC wrappers]
end
subgraph ctx [Context/State]
sc[StateComp]
aewm[AEWM EditAct]
end
subgraph eval [Eval/Safety]
flux[SWE-Flux]
pasta[PASTABench]
end
subgraph ship [Ship]
spine[Assurance Spine]
fresh[FRESH graph mem]
end
jaz --> sc
sgc --> aewm
aewm --> flux
sc --> fresh
flux --> spine
pasta --> spine
fresh --> jaz
口诀:原语先极简,方向要地固;压缩问何时,状态先修订;评测看执行与干预窗;上线看授权移交;小模型靠失败图。