递归改进闭环:模型如何参与研发下一代模型

面向研究负责人、Agent系统架构师与工程决策者的精简读者版
内容与引用基于原报告,资料截止日期:2026-07-24

1. 三分钟结论

模型已经能实质参与下一代模型研发,但最可靠的角色不是“自由修改自己的生产系统”,而是高吞吐的研发同事:提出候选、调用工具、执行实验、积累可检查的经验和程序,再把结果交给独立评测与版本管理系统。

这里的Agent(智能体)是能够围绕目标调用模型、工具和环境并连续采取行动的软件系统。所谓自我改进,不能只看它是否写了日志、做了反思或在当前任务中重试;关键是一次任务留下的状态,是否真的改变后续任务的提案、搜索、训练或版本选择。公开工作已经证明若干局部做法有效:STaR用正确答案筛选模型生成的推理数据,再训练后继模型;DreamCoder把成功程序压缩成可复用程序库;Voyager把执行成功的代码技能带到新任务;Darwin Gödel Machine(DGM)让Agent代码的后代继续参与搜索;Dreamer和MuZero让学习到的环境动力学参与规划;Population Based Training(PBT,基于群体的训练)通过复制、变异和继续训练探索模型与超参数。[1][4][5][6][10][11][13]

但这些结果不能拼接成“生产Agent已经能长期、安全、稳定地改进自己”。各系统解决的是不同问题,采用的成功标准也不同。答案正确不代表推理过程忠实;开发测试分数提高不代表新分布也提高;群体中的最好成员提高不代表某个固定Agent持续成长;读取长历史答对问题,也不代表系统学会了可靠写入、冲突处理和删除。

对工程负责人,最重要的路线判断有三点。

第一,事件、制度和项目历史应优先放在参数外的版本化记忆中,因为它们需要来源、时效、权限、修订和删除。可执行技能应进入带测试、依赖和失败记录的程序库。只有跨任务、跨时间反复验证的稳定能力,才适合离线写入权重。

第二,模型不能同时垄断提案、评分、记忆写入和版本准入。开发反馈可以丰富,但受保护回归只应给有限反馈;最终评测应在候选冻结后进行,并尽可能由可执行测试、真实结果、人类或不同方法的评估器完成。

第三,近期最值得建设的不是在线改权重,而是受治理的研发栈:真实工具执行,结构化事件记录,经验与技能分库存储,完整父子谱系,三层评测,灰度发布,以及能够清理下游产物的回滚。中期再研究代码库状态预测和跨任务技能治理;生产模型自由修改自身权重与裁判规则,目前只适合隔离实验。

2. 目前四条可行路线

四条路线的差别,不在所用算法名称,而在“什么被保存、什么决定保留、保存物如何影响下一次行动”。实际系统可以组合多条路线。

路线一:由评估结果筛选数据,再更新模型

机制很直观:模型先生成答案、解释或偏好,评估器筛掉不合格产物,通过的样本进入训练集,训练后的模型再生成下一批候选。评估器可以是精确答案、测试、奖励模型、另一个语言模型或人类。

STaR是代表例子。它让模型生成推理过程和答案,只保留最终答案正确的样本,再从共同的预训练基座上微调后继模型。算术实验运行了16次迭代,说明模型生成的数据可以反复影响后继模型;但筛选器只检查最终答案,不检查推理是否忠实,所以不能据此断言模型继承了正确的推理方法。[1]

Self-Rewarding Language Models进一步让模型既回答又评分,用评分构造偏好数据,再更新模型。它证明自评反馈可以进入参数更新,但三个模型快照只对应两次父子更新,而且评分者与回答者共享盲点。论文报告了外部基准和人类偏好结果,却没有报告长期环境变化中的稳定性,因此适合证明机制可运行,不足以证明长期自主增长。[2]

Constitutional AI(宪法式AI)把一组书面原则用于生成批评、修订回答和偏好标签。原则不是旁路政策,而是直接改变训练数据和奖励。其强化学习阶段的偏好模型保持固定,所以更准确的风险是被优化模型逐渐进入评分器不熟悉的输入区域,而不是评分器本身持续变化。[3]

Constitutional AI论文Figure 1:监督学习与RLAIF两阶段流程

图1|Constitutional AI先依据书面原则批评并修订回答,用修订样本做监督学习;随后用AI偏好训练评分模型,再提供强化学习奖励。它说明规则可以直接进入数据和优化目标,但不证明规则在长期更新中自动保持正确。[3]

这条路线的优势是能力可以被压进权重,推理时延迟低。缺点是训练成本高、单条知识难撤销,而且评估器看不到的错误会一并被放大。适合有明确答案、强测试或稳定人评标准的任务,不适合把刚发生的项目事实直接写进模型。

路线二:积累可选择的经验、技能和程序

这条路线不急着改权重,而是把成功产物放入外部库,让下一次生成直接检索或选择它们。产物可见、可单独测试、可删除,因此更适合作为研发系统的第一步。

Voyager在Minecraft中生成JavaScript技能,只有环境反馈和批评模块判断成功后才写入技能库;新任务会检索相关技能放进提示词。它证明可执行技能能在同一环境跨任务复用,但论文没有报告跨领域迁移、长期依赖失效或恶意技能污染。[6]

ExpeL比较成功和失败轨迹,把经验归纳为可增删、修订和升降权的文字见解,再在新任务中检索。它比一次性反思更接近跨任务学习,但经验是否正确仍主要由语言模型判断,来源、冲突和过期规则处理有限。[7]

DreamCoder更结构化:它用输入输出约束验证程序,从已解程序中抽取带类型的可复用部件,同时更新程序先验和识别模型。新程序库会改变之后的搜索顺序和难度。论文报告20次迭代、同领域留出任务曲线和多次内部运行,是程序库持续改进的较强例子;但任务类型和基础操作由人工限定,论文没有证明一个程序库能长期跨领域扩展。[4]

DGM把编码Agent的代码、得分和父子关系放进档案,从中选择父代、生成代码修改、执行基准测试,再保存合格后代。它报告80次迭代并展示了清楚的代码谱系。需要谨慎的是,主要优化曲线反复使用开发基准;因此可以说“Agent代码确实产生并选择了后代”,不能直接说“通用研发能力长期提高”。[5]

路线三:学习环境状态和后果,用于预测与规划

世界模型是对环境如何变化的可学习表示;白话说,它试图预测“做了某个动作之后会发生什么”,并把预测用于行动选择。这里必须区分完整地重建世界,和只学习足以作出好决策的内部状态。

Dreamer从真实交互数据中学习潜在状态转移、奖励和观察,在想象出的轨迹中训练策略,再回到真实环境收集新数据。MuZero不重建完整观察,而是学习搜索所需的奖励、策略和价值,并由树搜索消费这些预测。二者证明学习到的动力学可以改善控制,却不能证明内部表示忠实记录了环境全部事实。[10][11]

World Models还展示了反面:控制器会利用不完美模拟环境的漏洞。[12] 这对代码研发很重要。一个检索相似补丁的系统不是世界模型;真正面向代码库的状态模型,至少要绑定提交、分支、问题和实验版本,预测尚未执行的修改后果,把预测用于计划,并用真实编译、测试、性能和用户反馈持续校正。原报告所覆盖的公开工作没有展示一个系统在跨问题、跨提交的长期运行中完整做到这些。

路线四:让群体、超参数和任务分布共同变化

PBT同时训练多个成员,表现较差者复制较好成员的检查点和超参数,再扰动超参数继续训练。[13] 它把梯度学习、群体选择和超参数搜索结合起来,适合仿真、游戏和可重复训练任务。代价是计算量大,而且“群体最好成绩”可能来自成员替换,并不等于某个固定身份持续学习。

AlphaGo Zero的成功依赖非常特殊的条件:合法动作和状态转移由规则精确定义,终局胜负明确,双方零和且角色对称;候选模型还能与当前最好模型直接对局决定是否晋级。[14] 开放研发没有唯一终局分数,编译和测试也只覆盖部分正确性。可以借鉴的是搜索、真实执行、旧基线对照和候选晋级,而不是简单复制“让模型和自己交互”。

3. 长期员工式Agent如何记忆和学习

长期员工式Agent不是一个拥有超长上下文的聊天机器人。它要在多周、多版本项目中知道当前状态,能用新事实替代旧事实,记得信息来自哪里和谁有权限读取,把过去经验迁移到新任务,并在错误、过期或撤销时修订知识。

最实用的设计是把长期状态分成四层。

第一层是事件与制度记忆。需求变化、实验结果、人员权限、项目决定和用户状态应存入外部系统,每条记录包含来源、时间、项目与版本、权限、置信程度和替代关系。写入时要区分事实、推断、决定和临时工作笔记;遇到新旧冲突时不能只追加两条互相矛盾的摘要。Generative Agents展示了按新近性、重要性和相关性检索记忆并生成反思;MemGPT展示了在有限上下文和外部存储之间分页、搜索与写回。[15][16] 它们证明外存会改变后续行为,但短期模拟和有限跨会话实验没有充分验证长期冲突、删除和组织权限。

第二层是技能与工作流。技能不只是文字建议,而应是带输入输出、前置条件、依赖版本、所需权限、测试、性能范围、失败样例和替代版本的可执行记录。新技能先在隔离环境测试,再用于低风险任务,经过跨任务验证后才成为默认选项。环境接口变化时,系统应能发现技能过期,而不是继续高频调用。

第三层是环境状态与预测。对重复、可观测且有真实反馈的任务,可以维护对依赖、服务、代码和数据关系的估计,用于预测未执行动作的影响。每次预测都应留下动作、环境版本、预期结果、真实结果和误差。高风险或陌生动作不能因为模型“很有把握”就跳过真实测试。

第四层才是权重。权重适合吸收高频、跨场景、经过多次验证的能力,因为调用快且可能产生组合泛化;它不适合作为事件数据库,因为来源、权限和删除难以直接附着在参数上。ROME证明局部事实可以通过定向参数更新写入模型;SERAC则把编辑保存在外部记忆,由范围分类器决定何时调用。[8][9] 前者推理方便但难精确撤销,后者易追踪但增加路由、冲突和检索问题。工程上应先把知识保存在可撤销层,经过时间和任务检验后再离线巩固。

评测也必须从“会不会回忆”升级为“会不会管理知识”。LongMemEval和LoCoMo测试跨会话定位、最新状态和时间关系,是重要读出测试;但它们主要提供既定历史,并不等于Agent会自主决定何时写入。[17][18] 一套长期员工测试应让Agent真实经历需求变化、错误文档、权限调整、依赖升级和旧规则撤销,再分别检查:能否恢复项目状态;能否选择较权威来源;能否删除指定记录及其派生影响;能否在新任务组合使用旧经验;过期技能是否停止调用;交接给新版本后能否解释过去决定。

4. 为什么现有系统还不是真正自我改进

“真正”不是要求系统神秘地改写所有自身代码,而是要求从行动到验证、长期保留、后继使用、独立终评和可恢复发布形成完整生产链。现有公开系统大多只覆盖其中一段。

第一,很多改进发生在当前任务内。SWE-agent把命令输出和测试结果放回当前轨迹,这能显著改善代码修复,但公开机制没有跨任务记忆、技能更新或权重更新。[19] Reflexion把失败压缩成文字反思供下一次尝试使用,也主要证明同一任务多次尝试之间的反馈作用。[25] 任务结束后保存日志,不等于后续任务会使用它。

第二,成功信号通常很窄。答案、单元测试、胜率和仿真奖励便于自动化,却只验证目标的一部分。STaR的答案筛选不验证推理;程序通过现有测试不代表没有隐藏回归;语言模型评分可能与生成模型共享偏见。Weak-to-Strong实验还显示,强模型接受弱模型标签时会模仿部分错误;主实验只完成一次监督者到学生的更新,棋类实验的少量连续替换也不能外推到开放研发。[20]

第三,开发指标可能被搜索过程逐渐耗尽。候选每天根据同一测试反馈调整,即使测试本身不变,系统也会适应它。Ladder的工作说明反复查看自适应测试结果会削弱隐藏集的统计保障。[21] DGM的开发基准既参与选择又用于主要优化曲线,因此代码演化成立,但通用增益需要更独立的终评确认。

第四,群体进步与个体成长经常混淆。PBT的较差成员会被较好检查点覆盖;DGM的最好后代也可能来自不同支系。组织吞吐提高可以是有效目标,但如果产品声称某个Agent像员工一样积累责任和经验,就必须同时报告固定父子链、交接成本和记忆迁移,而不能只报群体最高分。

第五,多次更新可能积累退化。Model Collapse研究让后代继续学习前代生成的数据,并用固定的原始真实测试观察到低概率模式和语义结构逐步丢失。该结果针对受控的递归合成数据设置,不能推出所有混合真实数据、检索和人工修复的训练都会崩溃;但它明确否定了“生成更多数据再训练自然会持续变好”的朴素假设。[22]

Model Collapse论文Figure 2:OPT-125m逐代生成文本退化

图2|在受控OPT-125m实验中,同一提示下的后代文本逐渐偏离主题并出现重复与乱码式模式。它说明连续回灌生成数据会丢失尾部信息,但不能外推为所有包含真实数据与人工校正的训练流程都会同样退化。[22]

最后,公开结果还缺少关键的联合验证。原报告所覆盖的工作中,没有一个同时展示:在持续变化的真实研发环境行动;把经验以带来源、可冲突处理、可删除的方式跨任务保留;经验明确改变后继Agent或模型;候选通过未参与优化的隐藏回归;发布与回滚覆盖派生的记忆、技能、数据和模型。更稳妥的表述是:若干局部改进路径已经存在,全栈、长期、可恢复的生产级自我改进尚未由这些公开材料证明。

5. 路线选择表

先看任务有没有低歧义的验证信号,再看知识是否必须可删除,最后才决定是否动权重。下面的“成本”包括候选采样、工具执行、评估、人力、存储和恢复,不只指训练算力。

路线最适合的条件主要收益主要限制成本与建议
版本化事件记忆知识随项目变化,必须保留来源、权限和时效部署快,可修订、删除和追踪写入错误、冲突与检索错配低至中;所有长期Agent优先建设
技能与程序库候选可执行,有编译、测试或输入输出约束可复用、可审查,错误可单独隔离依赖漂移、库膨胀、测试不完备中;代码与工具任务的首选学习层
数据筛选与参数更新有稳定答案、奖励或人评,能力已反复验证推理延迟低,可能跨场景泛化遗忘、来源不可见、回滚昂贵高;定期离线更新,不宜在线自由修改
环境状态与后果预测环境交互重复、反馈真实且预测能影响计划支持反事实规划,减少昂贵试验分布外误差,策略会利用模型漏洞高;先在低风险、可校准环境试验
Agent代码或群体搜索搜索空间可执行,候选能大量并行评测可改进研发流程本身,探索更广适应开发指标,固定身份可能消失高至很高;必须另设冻结终评和谱系

若任务有便宜、清晰的测试,应优先搜索程序或技能,把所有候选与失败记录留存,通过受保护测试后再考虑训练。若目标含新颖性、安全性、长期价值等难以自动评分的维度,应把模型定位为提案者,引入真实用户结果、人类或不同方法的评估。若知识涉及隐私、法律删除或细粒度权限,就不要把权重当作首选存储。若一次失败会造成高副作用,则无论模型平均分多高,都应采用最小工具权限、沙箱、小流量试用和人工批准。

6. 推荐工程架构与落地顺序

推荐架构不是一个无边界的大Agent,而是四个职责清晰的系统层。

数据与状态层记录每项任务的仓库提交、环境镜像、数据版本、需求、权限、预算和通过条件。每次工具调用产生结构化事件,包括输入、输出、真实执行结果、成本和环境版本。事实、经验和技能分库存储,并保留从来源到派生产物的反向依赖。ML Metadata一类谱系系统可以记录数据、代码、执行和模型关系;SWE-bench以问题、基础提交、补丁和测试绑定任务,提供了较小的任务契约示例。[23][24]

行动与学习层负责检索、计划、执行和候选生成。在线运行时允许更新外部记忆、技能库和经过校准的环境状态,但写入必须由测试、真实结果或授权人员提高可信度,模型自述不能单独把经验变成默认规则。技能先进入隔离区,检查边界输入、依赖、权限和副作用;通过后只用于低风险任务;有足够跨任务记录后才成为默认技能。权重更新集中到离线批次,训练集保留失败轨迹、反例与旧能力回放,而不是只收成功样本。

评测层分为三部分:开发反馈用于快速调试,可以较详细;受保护回归只返回粗粒度结果并限制访问次数;最终晋级在候选冻结后一次性评估,覆盖新能力、旧能力、安全、成本和环境变化。提案模型不能是唯一裁判,语言模型评分只能作为一个信号。可执行测试优先,但还要检查测试覆盖不到的目标。

发布与恢复层管理最小权限、审批、小流量试用、监控和回滚。每个版本都应回答由哪些数据、代码、模型、评估和批准产生。如果新模型产生了错误记忆、技能和合成数据,回滚检查点并不够;系统还要隔离这些派生产物、重建索引、撤销训练数据并重评后代。

落地顺序要交付的能力进入下一步前的检查
1. 可追踪执行任务版本、工具日志、成本、真实测试结果和父子谱系能复现一次结果,能区分环境变化与Agent错误
2. 可治理记忆来源、时间、权限、冲突、替代和删除能修订旧事实,删除后直接回答与间接行为都不再泄漏
3. 可测试技能技能清单、依赖、边界测试、失败记录和隔离发布环境升级时能识别过期技能,失败可单独回退
4. 独立评测开发、受保护回归、最终晋级三套任务搜索过程接触不到最终任务细节,候选冻结后再终评
5. 环境预测未执行动作预测、校准和真实误差日志陌生或高风险行动会触发真实探测或人工批准
6. 离线巩固经过验证的数据进入后继模型或Agent代码旧能力、安全、成本和变化环境均通过,派生物可追踪

近期目标应停在前四步并稳定运行:这已经能让模型成为真正有组织记忆的研发同事。第五步是中期研究投入,重点不是更长上下文,而是代码与实验状态能否预测干预后果。第六步只在前述基础设施成熟后开展,并以离线、批次、小流量方式发布。任何时候都不应让生产模型自行改变最终评测、扩大权限并批准自己的新版本。

7. 主要风险

最常见的风险不是一次明显故障,而是系统误以为自己在进步。

记忆污染会形成自我强化。一次偶然失败可能被总结为普遍规则,之后又被频繁检索,导致更多失败。应把“被引用次数”和“独立支持次数”分开监控;真实反例要触发降权、修订或替代,来源撤销时同步失效下游结论。

技能库会随环境漂移。曾经成功的程序可能因API、权限或依赖变化失效;库越大,检索噪声和组合冲突越严重。技能必须绑定环境版本和测试,保留失败条件,定期去重并执行跨版本回归。只保存成功技能还会造成幸存者偏差,使系统看不到适用范围。

评分器和开发基准会被适应。若同一模型生成、评分并决定写入,相关盲点会进入数据;若开发测试反复反馈,候选会学习测试的偶然特征。缓解办法是分离角色,冻结一部分外部参照,限制受保护测试反馈,并不断加入真正未见的任务。分数提高时必须问:真实用户结果、固定测试和不同评估方法是否同向变化。

合成数据会压缩尾部。连续只学习模型生成的数据,稀有模式和真实分布支持可能逐渐丢失。训练应保留真实数据锚点、失败与反例,分别报告真实数据、混合数据和合成为主的对照,并在固定原始测试上观察多次更新后的尾部能力。[22]

环境预测可能诱导危险计划。策略会主动选择模型认为收益高的区域,也最可能发现预测漏洞。低不确定性不等于正确;高风险动作必须通过真实的小规模探测、集成测试或人工批准。要持续记录预测误差,尤其关注新版本、罕见依赖和长链操作。

群体最高分会掩盖知识连续性丧失。若最佳成员不断更换,组织可能更强,但没有单个Agent保留项目责任。应并列报告固定父子链、群体最好成绩、档案覆盖、交接成本和记忆迁移损失,并要求新版本解释关键历史决定。

回滚可能只恢复服务,没有清理知识污染。错误版本产生的记忆、技能、训练数据和后继模型会继续存在。发布前要演练污点追踪与恢复:从问题版本找到全部下游产物,隔离、重建索引、撤销数据准入并重新评测。没有影响图的回滚按钮,只能恢复检查点,不能撤销错误传播。

最后,自主权限可能比验证能力扩张得更快。模型变强会扩大正确行动的规模,也会扩大错误行动的影响半径。权限提升必须由独立结果触发,而不是由模型自评或单一平均分触发;高风险写操作、训练数据纳入和版本晋级始终需要额外控制。

8. 结论

当前最合理的判断是:模型辅助研发已经成立,模型自主、长期、稳定地改进自己的生产后继版本尚未由现有公开结果证明。最成熟的能力是扩大候选生成与实验吞吐、积累显式程序技能、辅助规划和维护谱系;最薄弱的是长期知识治理、独立终评、多次更新后的稳定性,以及覆盖派生数据和技能的真实回滚。

决策上不必等待一个“完全自我改进”的模型。把学习先放在可撤销层,就能获得大部分近期价值:事件进入带来源的外存,程序进入带测试的技能库,环境预测接受真实结果校正,模型更新延迟到多次验证之后。把提案、执行、评分和晋级拆开,并不妨碍模型提高研发速度;相反,它让每次提高都更容易解释、复现和撤销。

因此,建议研究负责人把近期预算投向三件事:长期项目状态与技能治理;开发、回归和最终评测的隔离;跨模型、数据、代码和记忆的谱系与恢复。中期再下注代码库后果预测和离线能力巩固。在线自由修改权重、评分器或权限,不应成为生产默认方案。

参考文献

  1. Zelikman et al. STaR: Bootstrapping Reasoning With Reasoning. arXiv:2203.14465. https://arxiv.org/abs/2203.14465
  2. Yuan et al. Self-Rewarding Language Models. arXiv:2401.10020. https://arxiv.org/abs/2401.10020
  3. Bai et al. Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073. https://arxiv.org/abs/2212.08073
  4. Ellis et al. DreamCoder: Bootstrapping Inductive Program Synthesis with Wake-Sleep Library Learning. arXiv:2006.08381. https://arxiv.org/abs/2006.08381
  5. Zhang et al. Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents. arXiv:2505.22954. https://arxiv.org/abs/2505.22954
  6. Wang et al. Voyager: An Open-Ended Embodied Agent with Large Language Models. arXiv:2305.16291. https://arxiv.org/abs/2305.16291
  7. Zhao et al. ExpeL: LLM Agents Are Experiential Learners. arXiv:2308.10144. https://arxiv.org/abs/2308.10144
  8. Meng et al. Locating and Editing Factual Associations in GPT (ROME). arXiv:2202.05262. https://arxiv.org/abs/2202.05262
  9. Mitchell et al. Memory-Based Model Editing at Scale (SERAC). arXiv:2206.06520. https://arxiv.org/abs/2206.06520
  10. Hafner et al. Dreamer: Reinforcement Learning with Latent Dynamics. arXiv:1912.01603. https://arxiv.org/abs/1912.01603
  11. Schrittwieser et al. Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model (MuZero). Nature 588, 2020. https://doi.org/10.1038/s41586-020-03051-4
  12. Ha & Schmidhuber. World Models. arXiv:1803.10122. https://arxiv.org/abs/1803.10122
  13. Jaderberg et al. Population Based Training of Neural Networks. arXiv:1711.09846. https://arxiv.org/abs/1711.09846
  14. Silver et al. Mastering the Game of Go without Human Knowledge. Nature 550, 2017. https://doi.org/10.1038/nature24270
  15. Park et al. Generative Agents: Interactive Simulacra of Human Behavior. arXiv:2304.03442. https://arxiv.org/abs/2304.03442
  16. Packer et al. MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560. https://arxiv.org/abs/2310.08560
  17. Wu et al. LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory. arXiv:2410.10813. https://arxiv.org/abs/2410.10813
  18. Maharana et al. Evaluating Very Long-Term Conversational Memory of LLM Agents (LoCoMo). arXiv:2402.17753. https://arxiv.org/abs/2402.17753
  19. Yang et al. SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering. arXiv:2405.15793. https://arxiv.org/abs/2405.15793
  20. Burns et al. Weak-to-Strong Generalization: Eliciting Strong Capabilities with Weak Supervision. arXiv:2312.09390. https://arxiv.org/abs/2312.09390
  21. Blum & Hardt. The Ladder: A Reliable Leaderboard for Machine Learning Competitions. arXiv:1502.04585. https://arxiv.org/abs/1502.04585
  22. Shumailov et al. The Curse of Recursion: Training on Generated Data Makes Models Forget. arXiv:2305.17493. https://arxiv.org/abs/2305.17493
  23. Dean & Ghemawat et al. ML Metadata (MLMD), official project documentation. https://www.tensorflow.org/tfx/guide/mlmd
  24. Jimenez et al. SWE-bench: Can Language Models Resolve Real-World GitHub Issues? arXiv:2310.06770. https://arxiv.org/abs/2310.06770
  25. Shinn et al. Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366. https://arxiv.org/abs/2303.11366