Agent 记忆与可验证自我改进怎么设计
微信公众号「架构师(JiaGouX)」作者若飞 2026-07-19 推送。本文把 Agent Memory 从“存历史”推进为“经验变更系统”:核心不在记得多,而在什么经验何时能影响未来。
正文
做 Agent 记忆,我现在最担心的已经不是它忘了什么。
更麻烦的是,它记住了一条并不可靠的经验,后面每次都照着做。
比如,一个自动修 CI 的 Agent 遇到测试超时,把等待时间从 30 秒调到 90 秒,测试绿了。系统把这次处理写进长期记忆。几周后,同一组测试再次失败,Agent 取回旧经验,又去调大超时,还顺手把重试次数写进了 Harness。
可这一次,根因是依赖升级。
Agent 没有忘记。它记得很快,也学得很快,只是把一次偶然有效的处理,慢慢变成了默认做法。
这类事在研发之外也很常见。Pod 被
OOMKilled
后,重启能恢复服务;把它写成“出问题就重启”的自愈策略,风险就大了。接口加一层缓存,P99 延迟下来了;照搬到所有慢接口,又可能带来一致性和回源问题。暴雨天绕路快了十分钟,也只说明那天那条路更合适。
这一刻有效,只能说明结果变好了。根因是什么、适用于哪些条件、下次是否还成立,还得继续查。
我们之前梳理 Agent Memory 时,重点是“过去的信息凭什么影响未来”。走到 Self-Harness 和持续学习这一步,问题又多了一层:
一段过去要经过什么,才有资格修改未来的运行方式?
我的看法是,
生产级 Agent Memory 更适合按“经验变更系统”来设计。它不只负责保存和检索,还要管理证据、状态、作用域、验证、晋升和回滚。
沿着这条线看,可验证自我改进也没那么玄。它要解决的,是一次运行结果怎样从“发生过”,逐步变成“以后可以照着做”。
一次有效,离可靠经验还很远
•
记忆一旦参与决策
,就不再只是存档。它在给历史分配未来影响力。
• 原始证据、当前状态、候选经验、已验证记忆、Skill/Harness 和 Policy 是不同资产,
不能都塞进一个
memory
字段
。
• 记忆读取要回答两件事:
当前任务要不要用历史,取回来的又是哪一版历史
。
• 一次成功先记成观察。能复现、有外部证据、作用域清楚,才有资格晋升为长期经验。
• Memory 进入 Skill 或 Harness,意味着“参考信息”开始变成“默认行为”,验证要求也要随之提高。
• Agent 可以生成候选、分析失败、运行实验。
评估器、权限、评估集、晋升和回滚
放在另一个信任域会更稳。
图 1:Agent 经验变更系统,由读取链、写入链和控制面共同约束
记忆一旦参与决策,就不再只是存档
很多团队第一次做 Agent Memory,会从数据库和向量检索开始。
存对话摘要、用户偏好、历史任务,再按相似度取
top-k
,拼回上下文。这个版本能跑,也能解决一部分连续性问题。
可一旦 Memory 会影响工具选择、代码修改、任务计划和权限申请,问题就变了。
系统需要知道:
• 这条信息来自用户、工具、代码仓库,还是 Agent 自己的推断;
• 它描述的是当前事实、历史事实,还是一次状态变化;
• 它在哪个用户、项目、版本和任务类型里有效;
• 它是否经过验证,谁做的验证;
• 它什么时候过期,被哪条新记录替代;
• 用错以后,怎样找到影响链并撤回。
这些都不是存储引擎能独立回答的。
《
Agent Memory 架构解析:过去的信息,凭什么影响未来
?》里,我们把 Memory 定义成跨会话持续存在、可更新、可审计,并且会影响未来决策的结构化历史。
现在可以再往前推一步:
Memory 的写入是经验获得长期影响力的入口,读取则是历史进入当前任务的准入过程。
因此,Memory 至少有两条完全不同的链路:
读取链:当前任务允许哪些过去进来
写入链:当前结果凭什么影响未来
只盯着向量库,会同时漏掉这两条链路里最难的部分。
日志、状态和经验,更新规则并不一样
如果要把这件事做成系统,我通常先把 Agent 运行后留下的东西分成六层。
层次
它解决什么问题
默认状态
原始证据
当时发生了什么
只追加、可追溯
当前状态
任务现在走到哪里
一个权威版本
候选经验
哪条做法可能有用
未验证、可过期
已验证记忆
哪类场景可以复用
有来源和作用域
Skill / Harness
以后默认怎样做
有版本、可回归
Policy
哪些动作允许或禁止
外部维护、单独审批
这六层看起来都和“过去”有关,更新规则却完全不同。
原始证据包括日志、Diff、测试输出、退出码、工具调用和环境信息。它们的价值在于保留现场,不能只剩一段模型总结。
当前状态描述任务已经完成什么、还差什么、哪条结论得到确认。它更像状态机或账本,需要一个权威版本,不能散落在几个 Agent 的摘要里互相打架。
候选经验允许系统先记下一个可能有用的观察,但要明确“原因未确认”“只在某个版本出现”“等待复现”。这层给不确定性留了位置。
已验证记忆才适合跨任务复用。它需要来源、时间、作用域、验证结果和失效关系。
走到
Skill
和
Harness
,系统开始改变 Agent 的默认执行方式,例如先做依赖预检、相同命令最多重试一次、修复后固定运行哪些测试。
Policy 再往外一层,负责权限、安全、预算和审批。Memory 可以引用规则,不能把一次任务里的权宜处理写成新规则。
如果这六类东西都叫 Memory,系统很快会分不清一条记录到底是日志、推断、经验,还是必须遵守的约束。
拿 Pod 被
OOMKilled
后自动重启来说,这六层会落得很具体。
容器退出原因、内存曲线、GC 日志和版本号属于原始证据;“重启后服务恢复”是当前状态;“某个版本在特定流量下可能存在内存泄漏”只能先算候选经验。等到泄漏可以复现、修复也通过回归,它才适合进入长期记忆。
再往上,“先保存退出信息和内存曲线,条件允许时采集堆转储,最多自动重启一次,仍然异常就通知值班人员”可以成为 Harness 里的处理流程。至于 Agent 有没有生产重启权限、能不能自动扩容,则属于 Policy。前者是故障处理,后者已经进入权限边界。
写入链:一次成功,只能先算观察
再看开头那次 CI 修复。
Agent 调大 timeout,测试通过。这个结果可能有几种解释:
- 超时确实是根因,修改解决了问题;
- 超时只是症状,真正的问题暂时没有触发;
- 测试本来就有抖动,这次只是碰巧通过;
- 当前用例通过了,性能或依赖问题却被掩盖了。
单次
pass
只能确认当前检查通过,无法自动排除后面三种情况。
第一次写回时,我会先把它记成观察:
Observation:
在 commit a1b2c3 上,将 timeout 从 30s 调整到 90s 后,目标测试通过。
Cause:
未确认。
Scope:
repo-x / integration-test-y / dependency-lock-z
Evidence:
原始失败日志、代码 Diff、测试命令、退出码、运行环境。
Status:
candidate
这条记录以后可以参与检索,也可以帮助排障,但它还不能直接驱动默认动作。
运维故障里很容易把这几件事写混。
kubectl rollout restart
是动作,告警消失是当时的结果,内存泄漏是不是根因,还要看 GC 日志、堆转储、流量和版本变化。若最后只剩一句“重启解决了故障”,Agent 学到的往往只是最容易执行的那个动作。
《
Loop Engineering再看:真正该设计的,是反馈契约
》里,我们把一轮任务最少要留下的内容整理成五类:
Goal:这一轮要完成什么
Evidence:看到了哪些原始事实
Action:做了哪些动作
Verdict:谁判定通过或失败
Next state:下一轮继承什么
一条候选经验要想往上走,还得补齐几个问题:
• 失败能不能在相同环境稳定复现;
• 只应用这项修改,结果是否稳定变化;
• 有没有反例或其他解释;
• 这条经验在哪些版本和任务里有效;
• 由测试、编译器、规则引擎、评审 Agent 还是人来验证;
• 什么时候重新检查,出错后回滚到哪一版。
实际做的时候,不必一开始做得很重。一张轻量的晋升单,已经能把这些信息留下来:
candidate_id:
ci-timeout-20260719-01
type:
memory
claim:
Increasing
timeout
may
mitigate
integration-test-y
failures.
scope:
repository:
repo-x
test:
integration-test-y
dependency_lock:
lock-z
evidence:
-
run_id:
run-1042
commit:
a1b2c3
command:
make
integration-test-y
exit_code:
0
counter_evidence:
[]
verifier:
kind:
test
status:
pending
expected_change:
Reduce
timeout-related
failures.
regression_risk:
Hide
dependency
or
performance
regressions.
expiry:
2026-08-19
rollback_to:
memory-version-18
pending
很重要。字段写得完整,只能说明候选可追溯,还不能说明它已经正确。
图 2:一条经验从运行结果到灰度生效的晋升流程
读取链:旧经验何时进来,哪一版进来
Memory 的读取通常被简化成一句
retrieve(query)
。
放到长任务里,至少要先过两道判断。
此刻真的需要历史吗
固定
top-k
有一个隐含假设:每一步都需要同样多、同样深、同样类型的过去。
实际运行很少这么整齐。
任务刚开始时,系统可能没有多少可用经验;已经有成熟成功计划时,几段相似日志不如一份完整计划;Agent 卡住以后,继续用原查询检索,也只会拿回相近结果;当前步骤如果只是读取一个确定文件,检索历史反而会增加噪音。
MemCon 在现有记忆后端外面增加了一层控制器,根据任务阶段、是否卡住、记忆规模和计划状态选择动作:
•
RETRIEVE
:按当前策略检索;
•
PLAN_INJECT
:注入已经提炼的成功计划;
•
RE_RETRIEVE
:发现卡住后换查询再检索;
•
CONSOLIDATE
:合并重复和零散记忆;
•
FORGET
:删除或降低无用信息的影响;
•
NO_OP
:当前步骤不使用记忆。
论文在 6 个基准、3 个 Agent 框架和 3 个模型上评估,任务成功率最高提升 15.2 个百分点,Token 消耗降低 5% 至 20%。这些数字来自指定实验,不能直接当成生产收益。
更有用的信号是,Memory 开始拥有“不读取”的能力。
在 CI 场景里,第一次看到失败日志,可以先不让旧经验定义根因;连续重复同一动作后,再用错误码、依赖版本和失败阶段重构查询;仓库和依赖已经变化,旧经验就该降权或退出默认检索。
生活里的绕路也一样。记忆里写着“上周走 B 路快了十分钟”,这句话可能完全准确,但那天 A 路正在施工。道路恢复以后,如果系统只按“更快路线”检索旧记录,不看当时的路况和有效时间,记忆越准,决定反而可能越偏。
取回来的到底是哪一版
控制了“何时取”,还要解决“取回哪一版”。
A-TMA 把一种常见故障叫作“幽灵记忆”:旧事实、当前事实和状态变化都保存在记忆库里,系统却没有标明它们在这次任务里分别扮演什么角色。
同一个 CI 问题里,记忆库可能同时有:
• 历史事实:旧依赖版本下,延长 timeout 曾让测试通过;
• 转换记录:依赖升级后,失败从启动缓慢变成协议不兼容;
• 当前事实:当前根因是依赖兼容问题,延长 timeout 已经无效。
三条记录都是真的,也都和“CI 超时”语义相关。只按相似度取回,Agent 很可能拿到最像成功方案的那一条,却忽略它已经失效。
A-TMA 没有替换原有记忆系统,而是在记忆库、检索和回答三个位置补状态语义:记录标记为
active
、
superseded
、
transition
或
unknown
;检索时按当前、历史或变化过程构造证据包;回答时明确区分不同状态。
在 LTP 基准上,Graphiti/Zep + A-TMA 的冲突准确率从 0.480 提升到 0.720。在 LoCoMo 上,temporal F1 从 0.0295 提升到 0.1705,平均 F1 从 0.0809 提升到 0.1556。
这些收益依赖宿主系统和具体指标,不能笼统概括成“准确率提升近六倍”。
从工程实现看,一条长期记忆至少需要几类状态字段:
status
valid_from / valid_to
scope
source
supersedes / superseded_by
transition_type
evidence_ref
时间戳只能说明何时发生。
supersedes
和
transition_type
才能解释一条旧经验为什么不再适用于现在。
OpenAI 的 Dreaming 也把新鲜度、连续性、相关性和随时间更新放在一起处理,并允许用户查看、修改和纠正记忆摘要。原文提到的“约 5 倍”优化,只对应免费用户版 Dreaming 的服务计算量。
记忆会影响后续决策,维护者就要能看见它、改正它,也要知道哪次运行曾经用过它。
记忆什么时候可以升级成 Skill 或 Harness
从候选经验到已验证记忆,系统只是让一段历史变得更可信。
一旦它进入 Skill 或 Harness,影响方式就变了。
Memory 通常在运行时提供参考;Skill 会把经验整理成可重复执行的流程;Harness 则会改变提示词、工具协议、控制流、重试、验证和产物规则。
简单说,记忆告诉 Agent “过去发生过什么”,Harness 开始决定“以后默认怎么做”。
这一步的晋升条件更严格。我通常会看三件事:
• 同类失败是否重复出现,而且根因相近;
• 候选规则能否在目标任务上稳定改善;
• 原本能做对的任务有没有退化,成本和权限有没有恶化。
比如,前面的 CI 经验如果反复得到验证,最后进入 Harness 的规则与其写成“超时就加到 90 秒”,更稳的修改可能是:
• 第一次超时时先收集失败阶段、资源占用和依赖变化;
• 相同参数最多重试一次;
• 第二次失败后重构诊断查询;
• 修改 timeout 前运行依赖与性能预检;
• 修复后运行目标测试和保留回归集。
它针对的是一类失败机制,没把某个偶然有效的数值写成永久答案。
架构评审里也有同样的问题。一次压测中,加缓存把接口 P99 从几百毫秒降下来,这当然是好结果。可如果缓存失效、数据一致性、热点 Key、降级和回源压力都没验证,把经验写成“慢接口优先加缓存”,迟早会在另一个系统里付学费。
如果它要进入架构 Skill,留下的更适合是一套检查顺序:先看查询计划和调用链,再确认数据新鲜度要求、失效策略和回源上限,最后跑压测、数据对账与故障演练。
Skill 保存的是解决这类问题的方法,缓存只是其中一种候选方案。
图 3:Memory、Skill / Harness 与 Policy 的影响范围和治理方式对比
到了这里,可编辑范围也分出了三层。
适合自动提案
• 任务协议和提示词片段;
• 工具说明与参数提示;
• 重试、停止和产物检查规则;
• Skill 草案和错误恢复流程;
• 低风险的上下文整理策略。
沙箱里先验证
• 工具实现;
• 中间件和控制流;
• 长期记忆的写入与合并逻辑;
• Subagent 配置;
• 预算分配和并行策略。
留在改进循环外
• 评估器和保留评估集;
• 权限策略和生产凭证;
• 模型与推理配置;
• 预算上限;
• 晋升、回滚和审计机制。
Lilian Weng 在 Harness Engineering for Self-Improvement 中提到,Self-Harness 的可编辑表面需要被限制。她介绍的 Agentic Harness Engineering 实验会把 runs 目录、tracer、verifier 和 LLM configuration 保持只读,避免候选 Harness 通过关闭验证器、替换模型或抬高预算来制造“提升”。
Polar 从另一个角度说明了 Harness 对行为的影响。它在模型 API 边界捕获原生执行轨迹,用同一个 Qwen3.5-4B 基础模型在四个 Harness 上训练:
Harness
训练前
训练后
Codex
3.8%
26.4%
Claude Code
29.8%
34.6%
Qwen Code
34.6%
35.2%
Pi
34.2%
40.4%
Codex 上的增幅最大,论文解释为基础模型原本不熟悉 Codex 的动作协议、上下文策略和补丁提交方式。训练以后,模型逐渐适应了这套运行方式。
这些数字不适合拿来比较四个产品。它们说明,Harness 承载了一部分可学习的行为协议。修改 Harness,也是在修改 Agent 以后怎样工作。
验证器决定自我改进能走多远
生成候选修改正在变得越来越容易。难的是证明它改对了。
一篇调研 1250 篇 2024 至 2026 年 arXiv 论文的综述,把当前工作分成有界自我改进和开放式递归自我改进。前者在固定目标、外部评估器和受限搜索空间里优化;后者连“什么算更好”以及怎样评估都可能一起变化。
当前绝大多数工作仍属于有界改进。放到工程里,它更接近自动提案、自动试验和受控晋升。
综述把验证信号分成四层:
1.
形式化验证器
:证明检查器、类型系统、可判定规则;
2.
执行反馈
:测试、编译器、仿真环境、真实运行结果;
3.
学习型评判器
:奖励模型、LLM-as-a-Judge、规则模型;
4.
模型内在自评
:置信度、自洽性、自我批评。
前两层的信号更硬,覆盖范围通常较窄。后两层能处理更多开放问题,也更容易受评判器能力、提示方式和指标漏洞影响。
Coding Agent 的自我改进进展更快,很大一部分原因就在这里。编译器、测试、静态检查和行为对比,可以从模型外部判错。研究方向、产品体验和架构取舍没有这么便宜的验证器,最后还得依赖业务语境、用户反馈和长期维护成本。
同样叫验证,换到不同现场,盯的东西并不一样。
•
研发修改
:代码能编译只是起点,还要看目标测试、保留回归集、Diff 和依赖变化。
•
运维动作
:告警消失也不够,还要看一段时间内的错误率、延迟、内存曲线、是否复发,以及回滚是否真的可用。
•
架构调整
:压测变快以后,还要补数据对账、故障演练、容量余量和成本变化。很多架构问题,恰恰躲在“正常流量下看起来没事”的那一段。
“执行者和验证者分开”,如果只是再叫一个 reviewer 模型,独立性仍然不够。
独立性至少包括:
•
证据独立
:读取日志、Diff、测试和环境,不只看执行 Agent 的总结;
•
上下文独立
:不继承执行者为了完成任务形成的全部假设;
•
环境独立
:在干净环境里复现,不沿用已经被修改的现场;
•
目标独立
:验证器的得分不依赖执行 Agent 是否“看起来成功”;
•
权限独立
:候选 Harness 无法修改验证器、评估集和通过阈值。
OpenAI 的 Confessions 提供了一个监测思路:模型在主答案之外再输出一份“自白”,只按诚实程度训练和评估,用来暴露走捷径、奖励黑客和违反约束的行为。
它适合发现问题,不能阻止已经发生的副作用。Agent 即使坦白“我绕过了测试”,也不能恢复被写坏的数据,权限系统仍然要在动作发生前挡住高风险操作。
这里我还没有完全想通的是,评估器自己该怎样更新。两个模型可能共享盲区,固定测试也会被任务分布变化慢慢掏空。评估器更新后由谁回归、又用什么证明新评估器更可靠,仍然是这条链路里最难自动化的一层。
两条路径,一个控制面
把这套机制收起来,系统里其实只有两条路径和一个控制面。
读取路径
当前任务与状态
↓
判断是否需要记忆
↓
选择当前 / 历史 / 变化视角
↓
构造带来源和状态的证据包
↓
进入当前工作集
写入路径
运行任务
↓
保存原始证据
↓
更新当前状态
↓
生成候选经验
↓
复现、归因和外部验证
↓
晋升为已验证记忆
↓
必要时生成 Skill / Harness 候选
↓
回归、灰度、观察和回滚
控制面
这里说的控制面不一定很重。它负责目标、评估器、评估集、权限、预算、晋升和回滚,其中既可以有人,也可以有测试、类型系统、策略引擎、独立评审 Agent 和发布平台。
这里我会单独划一条边界:Agent 接受评估时,评估器、通过阈值和生产权限留在它的可编辑范围之外。
我自己的版本是五道门:
门
通过条件
不通过时
证据门
日志、Diff、环境和版本齐全
只留事件,不生成经验
归因门
结果可复现,有对照和反例检查
保持候选状态
回归门
目标集改善,保留集无明显退化
拒绝晋升
权限门
未扩大权限和副作用范围
转人工审查
发布门
影子或灰度指标稳定,可快速回滚
回退上一版
这五道门解决不了所有错误。它们的作用是防止一次错误未经检查,就获得跨任务、跨版本的长期影响力。
同样是一次成功,为什么会停在不同层
研发:测试重试一次,绿了。
这时最多能确认“本次重试通过”。如果没有保存首轮失败日志、随机种子、依赖版本和多次运行结果,证据门都还没有走完,更谈不上把“失败就重试”写成默认规则。
运维:Pod 重启后,告警消失。
证据齐全以后,它可以成为一条候选排障经验。泄漏原因还没找到、观察窗口还没走完时,我会让它停在候选层。更稳的自愈流程是“先留现场、满足条件后重启一次、失败就升级处理”,并且给重启次数设上限。
架构:加缓存后,P99 降了。
它通过了目标性能检查,还没有自动通过一致性、回源、故障和成本几项回归。等这些结果稳定,才适合把检查流程沉淀成架构 Skill。至于缓存参数和拓扑,仍然要跟着业务场景走。
三个方案都可能是对的,差别只在于当下的证据允许它们走多远。这个边界比“成功或失败”两个状态更有用。
真要在团队里试,我会从小闭环开始
如果团队已经在做长任务 Agent、自动修复 Loop 或自生成 Skill,我不会一开始就放开 Harness 自动晋升。第一版甚至不用急着谈“自我进化”,先让 Agent 把现场记清楚、把候选说清楚,就已经很有价值。
这条路大致可以分成四段。
第一阶段,只记账
第一阶段只记录任务、工具调用、Diff、测试、退出码、状态和 Harness 版本。目标很朴素:一次失败能复盘,Agent 暂时不修改自己。
第二阶段,开始提候选
Agent 可以聚类重复失败,提出候选记忆和规则修改。人或独立验证器确认作用域、证据和风险,候选不自动生效。
第三阶段,候选自己跑回归
目标集、保留集和干净运行环境固定下来,候选自动跑回归,报告收益、退化和成本变化,再由维护者批准。
第四阶段,只开放低风险晋升
能自动晋升的规则,我会限制在输入稳定、验证明确、权限窄、失败容易撤回的范围里。高风险修改继续走人工审查。
如果一时不知道从哪里开始,CI 失败归类是个不错的小试点。输入是日志、命令、退出码、commit 和依赖版本,输出只是失败类别;验证可以用已有人工标注的历史样本和一组保留样本,分错以后也不会直接改生产系统。
文档链接修复、依赖预检、测试产物检查和重复报错聚类也有类似特点:结果容易检查,环境相对容易复现,副作用不大。它们通常比自动改生产配置更适合拿来走第一遍闭环。
我通常不会只看任务成功率。重复失败率、回归逃逸率、验证分歧率、证据完整率、规则变更频率、回滚率、执行成本和权限变化,能更早暴露“看起来成功,实际在积累风险”的情况。
安全边界同样要落到具体权限上。Anthropic 的 agentic misalignment 研究来自受控的虚构场景,他们明确表示目前没有在真实部署中观察到这类行为的证据。它更适合提醒我们关注一组条件同时出现时的风险:较高自主性、敏感信息访问、不可逆外部动作和缺少独立监督。
在权限设计上,我会把读取、写入、外发和规则修改分开。不可逆动作单独审批,候选 Harness 无法修改评估器和晋升机制,发现异常时能降级到只读或人工接管。
写在最后
回到开头那条 CI 经验。
如果第一次通过只被记成一条带 commit、依赖锁和“原因未确认”的观察,第二次失败时,Agent 仍然能参考它,却不会直接把它当成当前规则。
如果系统保留了状态变化,依赖升级后的新事实会替代旧经验。即使 Agent 进一步提出 Harness 修改,归因、回归、权限和发布几道门也会继续检查它。
研发里的重试、运维里的重启、架构里的缓存、生活里的绕路,本来都可以是好经验。问题只在于,它们有没有把当时的条件、证据和失效时间一起带回来。
这就是我理解的 Agent 记忆与可验证自我改进:
记忆负责保留可以影响未来的历史,验证负责决定这段历史能影响到哪一层。
有些信息只该留在日志里,有些可以进入当前状态,有些经过验证后成为长期经验。再往上的 Skill、Harness 和 Policy,需要更慢、更独立的变更流程。
系统不可能保证每次都学对。更现实的目标,是让每次学习都有来源、有作用域、有验证、有失效条件,也能退回上一版。
做到这一步,Agent 的“自我改进”才算有了可维护性,而不只是演示里又多跑了几轮。
参考资料
• Memory as a Controlled Process: Learned Adaptive Memory Management for LLM Agents
https://arxiv.org/abs/2607.13591
• A-TMA: Decoupling State-Aware Memory Failures in Long-Term Agent Memory
https://arxiv.org/abs/2607.01935
• Recursive Self-Improvement in AI: From Bounded Self-Refinement to Autonomous Research Loops
https://arxiv.org/abs/2607.07663
• Polar: Agentic RL on Any Harness at Scale
https://arxiv.org/abs/2605.24220
• Lilian Weng, Harness Engineering for Self-Improvement
https://lilianweng.github.io/posts/2026-07-04-harness/
• OpenAI, Dreaming: Better memory for a more helpful ChatGPT
https://openai.com/index/chatgpt-memory-dreaming/
• OpenAI, How confessions can keep language models honest
https://openai.com/index/how-confessions-can-keep-language-models-honest/
• Anthropic, Agentic misalignment: How LLMs could be insider threats
https://www.anthropic.com/research/agentic-misalignment
标签:#主题/AI-Agent #主题/记忆系统 #主题/Harness #主题/验证 #场景/公众号长文