目录
- Harness 与测试时经验 [00:00:00 - 00:10:00]
- Harness 的六年演进 [00:10:00 - 00:20:00]
- Prime Agent 的自我改进 [00:20:00 - 00:30:00]
- OpenJarvis 走向端侧 [00:30:00 - 00:40:00]
- QM 连接 YC 办公系统 [00:40:00 - 00:50:00]
- QM 的权限、资源与持续改进 [00:50:00 - 00:55:41]
Harness 与测试时经验
Harshita:欢迎来到YC Harness Club,也就是YC Harness俱乐部。我可是下了大功夫的,我用Gemini迭代了差不多十次,才生成出Harshita骑着龙虾的图。Gemini一开始根本不肯画,不过我们最后还是搞定了。好,欢迎来到Harness之夜。第一件事,大家觉得YC Paper Club,也就是YC论文俱乐部的新视觉怎么样?这个想法其实是我随口跟YC的设计主管EV提了一句。结果两天后,他就拿出了这个方案,我当时就觉得,太棒了,坐在后面的EV 请站起来鞠个躬吧,太让人兴奋了,好,为什么要聊Harness 有人会说,这不就是个rapper吗,这不就是个脚手架吗,这不就跟prompt工程差不多吗,这东西到底有什么好,专门花一晚上聊的,这里有一条,刚发了一个月的 reddit精彩贴 话说的其实最冲突,我不觉得,这种prompt工程,配得上顶级机器学习会议,还有一条也很绝,上下文工程,根本就不是个科研课题,所以我觉得Harness长期以来,一直被贬低,被当成不入流的科研,但从Harness1到Harness2之间,实打实,给我们带来了18%的提升,而且正如Seth待会儿会讲的,他决定了能不能把ARC-通用人工智能做成,显然,这绝对值得投入一定的精力,去做研究,我觉得如果你看这张经典的图表,发布时间和agent 能持续运行的时长,这上面的很多进展,确实都是因为Harness带来的,我把这称为静态Harness时代,那会儿Harness还没有自我改进能力,而最近,可能是过去这六个月,全都是关于具备自我改进能力的Harness 我们会把这些全都讲一遍 其实我是在Trajectory的CEO 做的一场分享里看到这张图的,我当时就特别喜欢,他讲的是,我们一直在测困惑度,这在某种程度上,对应着IQ以及模型有多聪明,所以我们不断在治理 IQ这个维度上往上推,但我们并没有充分利用好测试时经验,我们生成了这么多测试时经验,面对一个全新领域,我们却不能很快适应过去,如果大家还记得,我们办的最早几期YC论文俱乐部,我当时一直在做这个实验,随着我在训练室不断增加样本量,你怎么做到只用Batch Size 1 就能学到东西,我们其实根本没有这种架构,我们有ICL 可是一旦塞了大概四五十个之后 ICL就饱和了,在验证级上根本不会再有任何提升,接着你就得去用小质的LORA 然后再用大质的LORA 接着再去用SFT 我们有这么多截然不同的训练流程,其实挺别扭的,所以我认为这正是Harness 目前大放异彩的地方,而ARK-通用人工智能揭示出来的,或者说ARK-通用人工智能的核心要点,就在于模型能多快适应一个全新的问题,全新的分布,并且在里面表现出色 ARK 通用人工智能团队其实跟我一起参加了 2026年冬季批次,我们当时帮Greg一起看这些,就像我上次提到的,设计这些题目投入了大量的心思和精力,以确保从第一道题到第二道题考察的技能,全都是正交的,这样才能单独测出这种流体智力 Quad Opus确实是最早在,除了Greg Cotrolla 谁都接触不到的私有测试集上,跑过验证的模型之一,而他们拿到的最好成绩,也就是30% 但光靠一些Harness 靠这个被认为不配当科研课题,只配叫包装层和脚手架的东西,我们就能做到95% 而英伟达的Evo甚至做到了100% 就是Prime Agent和英伟达,这两家都是最近刚发布的,另外我还想补充一点,Carpathy大概是在3月份发布他的Auto Researcher那会儿,我fork了代码拿来玩,当时我其实只想做个简单的小界面,看看到底在发生什么,追踪一下进度,结果阴差阳错,我居然手搓出了一个harness,我本意不是要写这个,只是想看看运行情况。它的基本原理就是你指定一个目标,拿我当时给的一个真实目标来说,扩散LLM跑不过自回归LLM 但如果我做模型融合,如果我把扩散LLM切片,分片成一堆不同的实例 因为扩散模型单张GPU的算术强度,比自回归模型高得多,通过分片切分,综合起来我其实可能拿到更好的效果,于是我就把这个当作目标,交给了我那一套agent 那一群agent 我给了他一些初始想法,我想调整融合的大小,按不同的量来分片,切100份 10份 5份,都行,然后我指定一个验证指标,可能想跑gsmac 还有类似gptr的评测配置这类的,接着我有一个负责,梳理范围的agent 他会去查相关的论文,查github仓库,然后把结果交给一个叫chris ray的 pi agent 对方再把它交给一个叫 John Seth Falcon的研究员 Agent 他人就在那呢,然后他会去推进,做一些具体的工作,再交给一个顾问委员会,寻求帮助 这时候我就介入了,我和Yasir会给你提一些反馈,然后你再改一改,等什么时候你准备好了 Chris Ray会盯着你,差不多每小时来催你一次,接着就转给负责写作的Agent 让他停下来,把思路定稿,开始写笑容实验,然后动手写论文,于是整个系统就变成了这样,这是负责梳理范围的agent 然后你还有这样一个控制面板,基本上在任何地方都能看,我们用Tailscale组了网,所以你在任何地方都能打开这个网址,看它的进展,还能直接在上面和它交流,它还会直接给你发邮件同步进展,我把整个1B模型的那套东西,在这里重新做了一遍,然后它真的开始产出论文了,而且我读了那些论文,写的其实挺不错的,刚开始在三月四月那会儿,写的不太行,到了五月左右,就慢慢变好了 不过现在我基本上,就是把八个想法,丢给八个H100节点,每个节点带八张H100 他们就自己一直跑,然后我过来看看,他们就直接交论文给我,我们现在面对的这套东西,其实挺不可思议的,真正改变的,其实就只是你在它上面,加的那层脚手架,让这一切成为可能,我在这上面,其实没花太多时间,但我现在做很多研究,基本上就是这么干的,至少最初的想法是这样,所以就是这样,我直接给他六个,想尝试的不同想法,然后就不管他了,让他放手去跑,现在仅仅依靠Harness 在同一份完全相同的,权重文件上能做到的事情,简直太神了,所以我特意花了一整个周末,为了这次分享,去读了一大堆经典文献,从Self-Refined 到Reflection 到Voyager 再到所有的Two-Former 我就想试着用五分钟的时间,梳理一下这段历史,我们到底是怎么走到今天的,我觉得这挺重要的,现在很多刚进AI领域的人,其实都不太了解这些背景,我不会按时间顺序来讲,按时间顺序去教,去展示,其实讲不明白,我会跳过很多论文,有些论文可能会概括得非常粗糙,先跟各位道个歉,最开始的Harness 也就是2019年2月的GPTR 本质上就是一个 while not end of sequence的循环,就这么点东西,然后我们基本用top p 采样再加上运行环境,这就是当时的harness 真的没多少东西,没有工具调用,没有技能,什么都没有,这就是V0版本的harness 基本上就像这个 GSMAC的例子,你是一个数学老师,还记得那个系统提示词吧,你是一个数学老师,这就是我们过去 常设定的那种人设,然后给一段上下文,苏西有5美元,花掉了3美元,她现在还剩多少钱,那时候根本没有思维链,直接就是四个井号接二,然后状态结束,序列结束,这就是JASMAKE的格式,我们看四个井号,后面输出了什么,测算出准确率,答错扣一分或者加一分,接下来这整整六年,大家都在做一件事,就是给Harness塞进更多功能,塞进一个静态的Harness里,于是我们想,要是把好几个类似的例子,放回上下文里,会怎么样,比如先给一个例子,然后把数字换成4和1 希望模型能根据前一个例子,心领神会,明白这是怎么回事,这有助于他学习,这其实就是2020年7月,那篇小样本学习的论文,后来我们有了思维链,大家觉得直接预测,四个井号接二也许太难了 我们要做的是把计算和逻辑,摊薄到更多的token上,训练它推导到2 而不是直接蹦出一个R 这就是思维链的想法,非常厉害,这些全都是上下文上的创新,以及输出空间,动作空间上的创新,接着我们迎来了 Two-former和WebGPT WebGPT其实出来得更早,然后是Two-former 核心思路是给模型工具,让它能调用工具,其实就是一个,定义了各种参数的Jason对象,在这个例子里,假设就是一个减法,与其让我在权重文件里,硬算5-2等于几,不如直接调Python 跑一个sub53 它就会告诉我等于2 这就很巧妙了,你可以把所有工具,都写进系统提示词里,暴露给它,这就是工具调用的由来,再后来我们琢磨出了MemGPT 这是个大突破,最酷的工具之一,就是能读写自己的上下文,在那之前,我们能做的,就只有不断在上下文后面追加 [00:09:51]
Harness 的六年演进
Harshita:就只有不断在上下文后面追加,追加追加,现在我们想,要是直接对上下文本身,开放增删改查呢,我们单独画出一小块,叫做记忆的内容,让你能够去更新它,然后Voyager提出了新思路,好,既然有了这些工具,但要是我把这些工具串联起来,去完成一项任务,学会之后,我怎么把它征留回系统提示词里,让它永远掌握这个能力呢,这就是技能,技能的概念差不多就是这么来的,他们是在我的世界里做的这个,也就是Voyager那篇论文,那篇论文非常酷,现在所谓的技能基本上就是这样,我有一个skills.md文件,上面有技能名称可以去检索,这里就是具体流程,再后来就是intercode 又是在动作空间上的创新,要是能直接输出代码,基本上就拥有了 即时生成的工具或技能,我其实都不确定这算不算工具,因为工具从技术上讲属于API 我输出一个函数,到底是算工具还是算技能,我其实至今也说不准,然后是react最先出来,接着是self-refine 再到reflection 但核心思路是,如果我有多个不同角色的agent 他们能协助对上下文进行自我改进,系统就会越来越聪明,我会先执行某个动作,在这个例子里,我把三和五弄反了,哎呀,我把它发给内部评估器,问他这样对不对不对,看着有问题,我既可以在这里继续循环,也可以去真实环境里拿回奖励信号,我走到这里,走到reflection 他们会说,嘿,你其实把这两个弄反了,回去改改,我就能把结果优化好,这是最早的多智能体思路之一 让agent反思自己的输出,并加以改进,后来这种多智能体的思路,走得更远了,我可以去派生,其中一个工具,可以让我派生一组子agent 它们常驻在持久化的replot里持续运行,我能和它们交互,手上也有子agent列表,我可以调用它们,也可以不断往启动列表里添加新的子agent 而RLM走得更绝,支持递归调用,它暴露了一个RLM query接口,我可以一直递归调用它去解决更大一类问题,在叶子节点上,只要我愿意随时能调用LM query 来派生出对应的LMM agent 然后我有一个主控编排agent 在统领这一切,这就是我所谓的Harness 1.0版,这整套东西都属于静态Harness 我没有在优化系统提示词 我也没在更新Harness本身,说到这儿,最上面当然得有JSTACK 全靠它我们才能做这些,多谢你Gary 太喜欢JSTACK了,不过还有其他几位,也同样值得提一下,把这些归纳一下,基本上就是,你定义了一套agent规范,写了一段系统提示词,在里面规定最多允许跑几轮,允许调用多少次工具,你肯定不能允许无限次,你指定工具列表,技能列表,子agent的列表 1.0版大体上就是这个样子,然后你把它放进一个循环里,它可以通过一条提示词被触发,比如我在slack频道里,让它做件事,待会我们会聊到QM 我每天都在用它,做这个产品的团队,今天也在现场,特别让人兴奋,又或者它是挂在定时任务上,每个小时自动醒来,决定去干点活,就像普通员工一样,这里面有绘画管理,有循环 有上下文编译,我们在实际构建上下文,我把所有这些打包,扔给一次语言模型调用,拿到动作,接下来可能会有一些工具需要调用,再把结果追加回上下文里,这就是最基础的Harness 1.0版,而最酷,最让人兴奋的地方,也是我们看到大量进展的地方,是让Harness本身去学习,要么是在学习优化系统提示词,要么是在学习更新Harness本身,这套思路非常奇妙,其中一个很有名的代表,我本来很想请他们来讲,但他们今晚正好在旧金山,办一场150人的DSPY聚会,他们没能赶过来,不过我之前和他们录过播客,社区氛围极好,就是这个DSPY 也就是Demonstrate Search Predict 他们的思路基本上就是拿一个训练集,一组少量样本,然后去学习出最优的系统提示词 就这样不断迭代,这个过程虽然没办法做反向传播,但我可以用一种叫遗传编程的方法,不断寻找候选,按某种规则合并候选,再去做评估看效果,一直优化下去,它基本上赋予了对系统提示词本身的增删改查能力,让我可以去选出任意系统提示词,而达尔文哥的耳机走得还要更远一步,你不仅能改system prompt 还能改harness本身,也就是正在跑的harness代码,你可以想象大致的过程就是,你有一个有很多不同agent组成的存档,也就是由harness和system prompt组成,你从中采样让它们跑起来,然后根据某种适应度函数评估它们的表现,再把结果写回这个存档状态里,我刚才跳过了自我修改的部分 实际上你有一个meta harness 它允许agent修改自己的harness 从而变成另一个不同的harness 然后这就形成了一个循环,随着时间推移,你就会得到越来越优秀的agent 而meta harness 也就是那个主harness 它的作用就是生产harness 对吧,这是一个非常圆,非常meta的概念,这就是输出空间,你在里面配置多智能体上下文编译,做这些操作,而且对这一切都拥有增删改查的权限,它就一直往Harness代码里加入,越来越多的增删改查操作,这里看到的所有绿色部分 Meta Prompt 所有Agent的System Prompt 到底有多少个Agent 随着时间推移,你就在不断壮大这个Meta Harness 这篇论文的一位作者,也就是第一作者,今晚其实就在现场,超级让人兴奋 你开车过来,跟他好好聊聊 Continual Harness 这东西我太喜欢了,他们甚至更进一步,第一,他们对记忆的分类,做了补充说明,他们加了这个历史记录的东西,稍后他会更详细地,讲记忆的具体拆解,但我觉得最酷的部分,是对搞经典强化学习的人来说,我看到Robert坐在后面,他肯定会很喜欢,这种Dagger风格的在线学习,你可以直接更新权重文件本身,你其实是在根据刚刚学到的一小批样本,在大模型上做测试时训练,我觉得这其实是一个极其极其重要的研究方向,我们应该把它做起来,总之我就说这么多,我讲的怎么样,行,好,今晚我们请到了三位作者 Bian今天早上食物中毒了,所以没能过来,非常遗憾 但我们现场有三位非常出色的作者 Seth是Shi-Shi-Shi-Chin的学生,我没念错吧,就读于普林斯顿大学,是Prime Intellect的研究员,也是Prime Agent的作者 John Tse-Falcon 这是我们第一次有返场的演讲嘉宾,对此非常兴奋,在Chris Anazalia手下读博,他是Open Jarvis的作者,和Avantika一起做的,来自我的实验室Hazy 那是个个性化的OpenJarvis 所以我觉得非常酷,然后是Josh和Reagan Josh刚刚升任YC Labs的负责人,真的很让人高兴,我觉得这也值得大家给点掌声,会来讲讲QM 关于QM 在YC我们之前用的是一个通用agent 一个月前他们推出了QM体验,有了明显的提升,功能非常强大,我每天都在用,好了,我要说的就这些 非常感谢大家,大家好,今晚很高兴来到这里,我叫Seth [00:18:03]
Seth:今天我要介绍的是Prime Agent 一个自我改进的RLM Harness 我觉得我今晚的任务是争取说服大家,从第一性原理出发,去思考该怎么构建自己的Harness 所以我们一开始先讲得非常非常基础,如果你想想,而且我很喜欢刚才对所有背景文献的介绍,对吧,我觉得太酷了,而且我觉得它和我对这套东西的思考方式也非常契合,但如果你只看大模型本身,它其实只是一个序列处理器,有固定的权重,有一些可见的上下文,它吃进一些token 输出一些token 来做出下一步决策,现在我们其实已经,不这么看待大模型了,它能访问一系列文件,我们给它提供了,用不完的程序和工具,你甚至可以给其他,正在运行的大模型,绘画发消息,创建子agent 来做所有这些,非常酷的事情,但归根结底,它本质上就是token 进token 出,就是一个在做预测的神经网络 Harness 本身是大模型和外部世界之间的那一层,它补充了持久化状态,工具和算力这类东西,这里有一张图,展示了从人类的视角来看,我们是怎么理解prime agent的,你在电脑上打开你的prime agent 就像打开Claude Code code xpi等等一样,它会带你进入这个agent视图,这个agent视图是所有,并行绘画中所有正在跑的agent的概览,带有一份关于你在,用什么的非常紧凑的摘要,然后你就可以点进其中一个去看看,在那里你会处在这个根绘画中,而这个根绘画基本上就是,控制所有这些不同子agent的项目协调器,你不需要要求它去启动子agent 它会在子agent有用的时候自己去调用,而且这些全都是通过程序化调用的 因为这完全基于地归语言模型的原理,所有东西都在这个iPython Shell里 [00:19:56]
Prime Agent 的自我改进
Seth:所有东西都在这个iPython Shell里,包括你所有的工具,所有的记忆,所有的子agent 并且为了进一步的协调,我们公开了这些消息传递范式,让你能够管理所有这些东西,然后这些agent可以直接与你的环境交互,这可以只是你电脑上的程序和文件,也可以是运行一个H200节点集群,比如用于你的自动研究,每一个这些agent背后,都有你电脑上的这个常驻守护进程在支持,这样当你合上笔记本电脑,或者用Ctrl-C退出绘画时,它依然在后台运行,你必须真正去停止这个绘画,以确保你是一直在持续运行的,然后我们还有从Continue Harness中,公开的这些其他功能,它能够对我们提到的所有组件,提供实时的增删改查操作,从而持久化地管理它的记忆,技能 The Agent 并持久化地管理它自己的系统提示词,关于我们正在构建的所有这些上下文,我喜欢把它看作,有点像比如我这里有L1 L2 L3 它就像一个缓存,对吧,就像是我们处理的信息里,最容易访问的是什么,而在最快最唾手可得的信息层面上,模型能够非常迅速地检索到它,那就是模型权重,所以大家总是想把所有信息,都放进模型权重里,但接着我们发现,好吧,也许我们没有全部的信息,因为我们不想每次为了更新,都必须去微调,那是非常昂贵的,所以我们有了这种活跃的输入上下文,我们在输入上消耗了大量的token 我们可能会放一些,像之前看到的那种上下文示例,来增加这些不同的能力,但到了某个阶段,我们的上下文就用完了 于是我们见过的最早期形态的harness 至今仍在使用,甚至那些声称想要最极简harness的人,也在用,那就是compaction 因为compaction是一种非常通用的工具,能让agent总结自己的上下文历史,从而突破上下文长度工作窗口的限制,你可以想象一下,一旦我们超越了模型这里的直接输入输出,进入到这个L2 L3 你可能对L3比较熟悉,它更偏向于调度状态,如果你在处理文件系统,你可以对主存进行读写,如果我们处于L2 我觉得它介于活跃上下文和文件系统操作之间,你可能会有一个实时的RPL 它可以就是直接在Python 在iPython Shell里运行代码,就像你在Jupyter Notebook里一样,所有那些变量,都直接保存在你的内存里,你的agent随后可以通过程序化方式,操纵它们 直接对那里的信息运行各种程序,省下大量的token 而不是把它们直接塞进上下文,你还可以创建子agent 道理是一样的,你基本上也是在这里节省上下文,因为你可以给agent分配一组特定的信息,让它去执行一些操作,最后再汇报回来,这里有意思的是,我们刚才讨论的,针对活跃上下文的compaction 对吧,你有你的上下文历史,这有助于随着时间退役去更新它,这样你就能继续利用它,但一旦我们超越了这一层,我们就得考虑,我们该如何进行这些更新,我们谈到了增删改查,除了创建和读取之外,我们该如何随着时间退役更新,和删除超出我们上下文的内容,或者说超出上下文长度的状态,我喜欢把Reply的这部分,看作是agent垃圾回收,我们只是在清理状态中的变量,以及可以调用哪些子agent 然后以此来确保,内存不会每天都把我的笔记本电脑搞崩溃 在这之上,我们还有这种精炼的概念,我们会更新和删除,存储在你系统上的技能,记忆和提示词,你可以把它理解为,这样你就不会把硬盘空间也耗尽,搞崩溃了,所以这非常明确的体现了,这就是我们表达这件事的方式,这就是我们随着时间推移,去修改它的方式,另一个我非常喜欢去思考,也极力推崇的视角,因为Harness几乎正在走向,我们正在构建的这种agent操作系统,当我打个比方来看时,如果你看纯大模型,它其实更像一台图灵机,有一条纸带,所有这些指令输入进去,然后执行一组操作并输出,但当你看一个Harness时,它看起来更像一台冯诺伊曼计算机,你能够对外部存储器执行这些读写操作,这使得它在另一类问题上,比图灵机单凭自身所能表达的要强大得多 那对关于怎么做一个好的harness这个问题呢,你会希望它是你能想象到的最具表达力的东西,所以在进入模型自己就能做的数据费论之前,一些早期的harness是非常死板,具体的规划行动评估严格执行这些特定步骤,不过现在模型自己就能完成这些了,你可以想象,我们并不一定非要显示的加上一个react循环,模型自己基本上已经原生摸索出这一点了,但他们还没摸索出来的,是必须具备调用compact的表达能力,他们必须能用上Python REPL 这样才能运行程序,他们必须有能力通过编程,创建子agent 访问状态,并拥有不同的反馈机制,这些都是由模型控制的表达力特性,如果你拿掉其中一个,你实际上就是砍掉了一项,它原本无法做到的能力,我们的管理方式,我相信大家都熟悉,我合著者Alex写的RLM论文 非常棒的工作,我们在RLM论文的基础上所做的,是把子agent 看作这些持久化的子绘画,复绘画可以创建,启动一个新的RM子agent 这些子agent被派发出去,运行一些任务,然后完成,并向复绘画汇报某种最终状态,接着他们就闲置下来,依然保存在你的内存里,在任何时候,复绘画都可以向其中一个子agent 发送消息,让他继续工作,而且他拥有,你随着时间积累起来的,所有有效上下文,这样你就不会漏掉信息,也不用去重复生成之前上下文中,已经做好的内容,当然,我们不想占用太多内存,所以我们可以把它们卸载掉,处于非活跃状态,然后在这套持久花子agent架构里,随时可以通过给它们发消息,再调用回来,我稍微聊聊continue harness 这在我之前的一篇论文里提到过,讲的是裁减整个harness状态 这是我们希望在代码agent中,加入的另一项特性,充分利用我们之前所有的历史记录,你可以想象一组trajectory 里面记录了每次交互中的某些动作和结果,或者发生的状况,我们就是想把这种能力开放给agent 让他利用所有这些信息,来更新未来的harness会是什么样,我们需要改系统prompt吗,我们需要创建一些skill吗,我认为skill 就是为了实现某个特定目标的一组指令,或一个程序,记忆可以只是关于重要事情的长期存储,还有我们刚才以这种非常持久化的方式,聊到的The Agent规范,是不是有一些特定的The Agent 因为上下文很有用,我们想在之后重复使用,能够随着时间进行这种reflection 或调优,对模型来说是非常强大的能力,它们目前在这方面还不完美,但构建Harness时,你希望加入的一项能力 就是让它比当前模型,能做到的水平稍微好一点,这样你就能拿到那些推理轨迹,用来赋能你的下一代模型,它们就能应付这个Harness 并把自己的表现自我迭代,推向越来越高 Prime Agent里最酷的特性之一,也是从我一开始做这个就有的,我最早加的功能之一,就是在任意两个Agent之间,发消息的能力,像在一个核心家庭结构里,父母孩子兄弟姐妹之间,我这么做的原因,是因为我每天都在琢磨,我自己到底该怎么管理,所有这些在五个,五十亿个不同方向上,替我做事的Agent 如果他们能直接相互共享上下文,并协同,那就会好得多,事实证明,这对于典型的软件工程,和长周期任务来说也非常棒,说到我们想怎么设计自己的Harness 我们考虑的最后一件事,其实是长周期的表现,我想去跑一些任务,而且我不想全程盯着我的Agent 等我准备好回来看的时候,我再找他们看看进展如何,这是我在我们看到的很多评测里,非常觉得欠缺的一个视角,很多时候如果你让一个模型,跑的时间不够长,或者说这个模型在花掉这么多预算后,就停止工作了,但另一个模型花更多预算还在继续跑,首先,你连对比模型时,用的固定开销都不是同一个,其次,这也可能会掩盖掉你漏掉的性能表现,我看长周期性能评测的方式,是想看看实际的瓶颈平台期在哪里,在我投入更多测试时 Token的情况下,到哪一个点上,我们获得的性能提升就只剩微乎其微了,在讲完我们创建Prime Agent的设计理念之后,我有几个实验要展示给大家看,我们会聊一聊测试时缩放,和我们在ARC 通用人工智能上的结果,同时也会探讨,在我们正在做的REPRO 和这些长上下文里,它对我们的信息管理,到底有没有用,又为什么有用呢 然后当我们面对,这些非常非常长,几乎可以说是,超长周期的任务时,我们该如何维持,这种持续好几天的运转,以及在这些能持续一周,甚至更久的场景里,进行调优时,底层到底发生了什么,这个结果,你们可能都见过了,其实我们这里,还额外加了一个数据点,原本的结果里没包含,单纯是为了在不同Harness之间做个对比,我们做出来之后四处去看,想搞清楚现在大家跑Harness时,最在意的评测是什么,我们当时就觉得应该跑跑ARK 通用人工智能 就想着,对啊我记得我用Continue Harness 跑过一些结果,用Gemini Flash 不好意思是Gemini Pearl 跑到20% 所以我觉得我们至少能跑到20% 大家觉得这很厉害,我们这种通用的Harness 甚至都不是为RKGI专门设计的,表现居然这么好,于是我上网找 心想我得找一个好的系统prompt 因为我不想漏掉信息,然后我找到了另一个社区榜单,叫prolong 我就直接拿了他们的系统prompt 我想着 [00:29:50]
OpenJarvis 走向端侧
Seth:我想着,行了,我就拿他们的系统prompt 别的都不管,直接扔进primeagent里,然后我跑了一遍,当时我都惊了,我跑的第一版准确率就达到了99.9% 然后我去看日志,发现我在作弊,好,我就想,行,我得在这做个正经的沙盒环境,得把它正规的搭好,然后我又在这上面花了一天,再回来看的时候,我都惊了,用GPT-SOL拿到了78% 这成绩会很亮眼,然后又回头想,再来对比几个别的吧,所以还是老样子,我们直接拿了那个Prompt 一个通用Prompt 大意就是用世界模型来解RKGI3 这里是你能采取的操作,你有,然后加上Prime Agent通用系统Prompt 内容差不多是你有一个RepL 可以调用子agent 可以用它以编程方式去操作,然后我们就去翻,我去翻了执行轨迹,它基本上在做一堆各种各样的代码调用,去排查这些不同的场景 分析图像,做图像处理,里面有大量很酷的操作,看着它是在做合理的推理,同时利用我们提供的RepL 这也是促成这一切的核心机制之一,所以我就接着跑了另外几个,我们测了GPT-TERRA拿到25.7% 非常棒,你可以看到,相比我们做前一周的情况 OpenAI那时候就说,大家注意,做评测的时候 Harness非常关键,我们用的是Responses API 这是我们拿到的结果,我们跑了Terra 差不多这次没全部跑完,但对比下来拿到了很好的结果,然后我们发现,已经比部分像GPT SolX-Hai跑出来的还要高了,这太不可思议了,然后我们去测了OPUS 直接冲到了95.5% 我们当时就觉得,这也太夸张了,我们也去对比了很多别的Harness 有人就问我说你用Claude Code跑过这个吗,我跑过遗憾的是跑出来的结果不太好,所以与其放糟糕的结果 我直接引用了Claude Code原版的结果,后来也有其他人用类似Prime Agent的配置跑过,拿到了好得多的结果,但有意思的是很多非常热门的Harness 在Prime Agent表现好的时候并不一定表现好,比如Hermes Agent 我们花钱花得非常快,不得不中途停掉,因为花了差不多5000美元,性能却没怎么提上去,不是说这就是他们能做到的最好水平,但跑起来确实非常贵,所以我认为性价比非常重要,而能帮你省钱的一点,就是能够以编程方式去操作你的上下文,我们也跑了一堆长程评测,像Yulon还有一些代码任务 EmulatorBench马上就要发布了,它是一个ProgramBench的替代方案,我们发现在我们采用GLM 5.2 Opus 5以及5.6的配置下,跨不同模型来看,比起用Pymono Claude Code Codex 它基本能持平,或者略好于这些其他Harness 另一个我觉得很酷的是,我们有一个叫 Emulator Bench的Program Bench 替代方案,我们要在这里,复现整个计算机系统的模拟器,比如在这个场景里,去写一个像Game Boy Color 这样的模拟器,并跑起来看看,我们发现特别有意思的一点是,因为它在RLM里,有Repload的访问权限,它就能利用这些程序,去做这种主实验循环之外的设计,在把最终方案提交给评分器之前,能以更丰富更自由的方式,去尝试各种可能,我们在GPU Kernel上,也试了这个,在不同的模型上,包括Sol和Kimi Code 拿到的结果大致持平,一个好一点,一个差一点,整体差不多,所以我们并没有针对,这里的某一个特定评测去过拟合,长程任务上,有意思的是,我们用NanoGPT SpeedRun 做了一些自动科研实验,不过我们把它规模做大了 我们说直接给它8张H200跑上一周,看看会发生什么,你可能会觉得那Prime Agent肯定会表现好得多,因为它能搞定所有这些编程,它的方差有点大,我们没办法把那里的任何优势明确归因到,是Harness还是模型本身,因为这个任务太难了,但我们能做的是去观察很多我们记录下来的行为,非常有趣的是,我们看到像DeepSeq V4 GLM 5.3 还有Kimi K3这些模型,你能看出来这些比我们最初的结果,做的要稍晚一些,我们拿了这些模型,它们在做我们所谓的循环外实验,我们当时想的是,怎么在CPU上跑实验,去观察参数设置,做超参数搜索和数据分析,这样我就不用把时间,全花在跑昂贵的H200实验上,因为那占了绝大部分时间,所以它跑的是非主实验的实验,以此来做优化 我觉得我们看到的这种行为非常酷,也帮我们厘清了Prime Agent 需要具备怎样的表达能力,才能用上非常出色的自动科研,因为你可以想象,如果他擅长自动科研,他跟你配合就会很好,有人在回路里去冷启动你的实验,效果就会更棒,最后我们还直播了一场,为期7天的一星工厂运行,总共用了633个Agent 跨越2300万输出Token 沿着科技术稳步推进技术演进,持续向前发展,在这里核心优势之一是,他们可以使用这些子agent 拆分到工厂里的不同任务中,去研发收集资源,制造下一步的物品来规划工厂,同时他还可以利用提炼机制,把过去发生的事情用起来,帮助应对未来这些极长的上下文,不至于卡住,这里最有趣的一点是,他并没有卡住,甚至到了我们这一阶段的最后,他依然在推进科技发展 这里的结论其实更像是 Gemini玩宝可梦那种感觉,如果说今天有什么让我觉得很有意思,或者说你们真正应该带回到,自己Harness里的收获,我觉得你应该去思考 agent化的上下文管理,你应该考虑群体智能,进一步深入研究RLM 并且去跑标准化的评测,他们今天展示的所有这些结果,都可以我们在 Prime Intellect Verifier 代码库来跑,向我的合作者们致敬,他们太棒了,我很喜欢跟他们一起共事,谢谢,好的,下一位是Jonan 大家好,我非常兴奋能来聊聊,我们在斯坦福一直在做的一个项目,我和共同一座Aventica Narayan 以及我们的导师Azalia Mirosany 和Christopher Arfey 一起在做这个项目,个人AI现在无处不在,但今天基本上都还被绑在云端,我们看到很多不同的Harness和项目 [00:35:22]
Jon Saad-Falcon:专注于辅助日常写作,调研编程和日程安排,但像OpenClaw和Harness Agent 这样的项目,绝大部分智能和绝大部分请求,通常都依赖云端的语言模型,这意味着什么,这意味着成本相当高,要是按一年算下来,你得花掉成千上万美元的API费用,而且它不保密,你经常把自己最隐私的数据,发到云端的大模型里,而且你未必知道那些数据最终去了哪,它还要求你租用智能,而不是直接开箱即用,归你自己所有,最后它消耗的能源,往往比直接在笔记本上跑,这些大模型高出好几个数量级,而本地语言模型终于足够好,能切实跑得动人们在意的很多请求了,我们看到当下的语言模型,只比之前的最顶尖前沿模型落后,大概6到12个月 你看今天的语言模型,比如Krini 3.8 27B 达到的表现大致跟当年的Claude 4.6 Opus差不多,那可是2025年8月份左右的前沿模型,随着我们笔记本和工作站上的硬件加速器越来越好,这种差距似乎正在进一步缩小,就在这周,我们看到了苹果发布了新款Mac mini 我们看到苹果和英伟达都在重新发力,专门为个人使用场景打造加速器,在这个项目中,我们想探究的核心问题是,我们能不能把个人AI技术站的核心,也就是模型推理 Agent执行,记忆,学习,基本上就是今天主要依赖云端的部分,完全搬到端侧来跑,同时保持跟这些纯云端技术站相当的竞争力,于是我们决定提出OpenJarvis 名字不用多解释,但我们想探索的正是这当中 到底有多少能完全免费在端侧跑起来,同时还能保全安全性、隐私和质量,为了构建OpenJarvis 我们希望能定义出一套最简的原语,让你用来构建任何类型的Harness 或个人AI技术站,第一块是你需要用到的任何用户界面,第二块是具体的agent逻辑,围绕着可组合的推理,以及调用不同类型的智能和工具,至于智能,就是你用来维持整套系统运转的任何语言模型,比如可以是签问GPT OSS JAMA 3N 然后再加上跑它所需要的任何具体推理引擎,比如可以是Olama, Lama, Der CPP, VLLM, G-Glang 包括你在上面跑的任何硬件,比如可以是Apple Silicon,英伟达,按你的需求来 要让所有这些agent和智能真正发挥作用,你需要一套可以通过标准MCP协议运行的工具和记忆,还需要一套用来做学习的原语,无论是像JPAR或DSPY 这样基于提示词的技术,还是像GRPOSFT和LORA 这样基于权重的技术,你都需要某种方式,让agent随着时间推移不断提升,让它真正变得更个性化,更有效,为了带大家看看OpenJava长什么样,我们尽量采用了,大家已经习惯的所有标准界面,我们希望能让大家,在桌面上跟它交互,像平时习惯的那样直接去跑,同时能看到自己在费用和能源上,省下来的所有开销,我们还希望能让大家去跑,各种持续运行的agent 也就是以定时任务形式,常驻的各类agent 能够日复一日地跑标准协议 大体上我们就是想让它能,即插即用,融入大家已经习惯运行的,所有工作流,我们希望把它做成一个产品,让大家能像当年第一次体验 [00:39:51]
QM 连接 YC 办公系统
Jon Saad-Falcon:让大家能像当年第一次体验 ChattyPT或Cloud那样,在端测获得对语言模型的初次体验,那好,我稍微加快一点,进度,这里展示了,一种很顺手的方式来设置,新的常驻任务,创意我们,有了所有这些不同的组件,我们需要某种方式去真正优化它,所以我们希望尽量不去干扰,语言模型,仅仅通过为,这五种原语制定一份简单的,规范,让他们依此去完成,优化,我们发现通过跑完,这整套优化闭环,我们不仅,大幅降低了费用成本,而且显著降低了延迟,在这些任务上的综合质量也有了显著,提升。这套配置的目的,就是精简到大家,在搭建这些语言模型Harness 时最关心的这五个,主要方面,也就是智能,引擎围绕它的具体 agent、逻辑、运行,所需的工具或 学习系统,以及针对整套,规范的全局优化,为了弥合本地与云端语言,模型之间的差距,我们觉得,一个很有意思的做法,就是,让云端语言模型,去自动优化整个,本地技术站,这巧妙地利用了云端大语言模型,在诊断提议改动和把关上的能力,为这些本地大语言模型,打造更好的解决方案,同时当你真正在推理阶段,部署这些本地技术站时,又不会产生那些云端大语言模型的成本,我们发现,经过Cloud或ChatTPT 这类云端大语言模型优化的 OpenJava配置,效果远好于直接开箱,即用的本地技术站,因为你能够真正针对具体的语言模型,去适配不同工作负载所需的特定Harness 我们还发现,即便是用今天的端测语言模型,在个人AI 个人日常使用 编程 agent任务等不同工作流上,我们也能匹敌云端语言模型,虽然仍有许多任务是本地提量的语言模型搞不定的,但这个差距每个月都在以惊人的速度缩小,因为这些语言模型蒸馏的越来越好,越来越高效,我们用来运行他们的加速芯片,也越来越强,所以即便用今天的语言模型,我们实际运行他们的成本,也能降到原来的1% 同时延迟也大幅降低,我们还发现,无论选哪款云端语言模型,在为这些本地OpenJarvis配置,优化整个agent闭环时,它都很有用,我们发现 Opus系列 Opus 5 以及GBD 5.6 骚自然是表现最好的,但有意思的是,你也可以选Gemini 或者像Kimi GLM 这种更大的语言模型家族,用它们来优化这些本地配置 从而在后续本地推理时,把那些效率提升和性能提升拿到手,我们还发现,整个OpenJarvis Harness的优化成本,要比其他方案便宜,那些方案可能需要更多数据,或更多的语言模型调用,我们发现这套规范和原语,在本地语言模型场景下最有效,因为它把整个优化闭环,和整套语言模型抽象,完全交给了云端语言模型,让它专注于优化整个系统,变得极快极高效,展望未来,我们很期待继续完善这个项目,我们认为在不久的将来,大家日常推理调用的大头,甚至大多数都会转向本地设备,本地笔记本或本地工作站,而不是像今天这样,把一切都推到云端,我们认为这些趋势只会继续下去,因为加速芯片会越来越好,语言模型也会越来越强 如果你对这个技术战里的任何环节感兴趣,无论是更好的,本地语言模型,更好的加速芯片,还是用于数据中心之外,部署的更好推理引擎,都欢迎联系我们,我们很乐意聊聊我附上了这个项目的二维码,如果大家待会还在,我们很乐意当面交流 谢谢,好接下来是我们YC自己的人,有请Josh和Reagan Hi 我是Josh 这位是Reagan 我们正在做QM 这是YC针对办公场景的开源Agent Harness QM是一个系统,给YC的每位员工都配备了一个,类似OpenClaw的助手,支持完全自定义,可以在Slack里用,也可以通过网页端用,也就是大家现在看到的这个界面,每个人在QM里都在各自的专属上下文中工作,拥有独立的沙箱文件和定时任务,他们也可以在Slack频道等,多协作场景下和QM一起工作,大家用QM 做的事情相当广泛,比如很多自动化流程,像邮件分解,法务和财务工作流,他非常擅长编辑文档,和从我们的内部数据库里,提取数据,他还可以直接拉起 [00:43:53]
Josh:实时的内部web应用,帮忙做筹划活动之类的事情,他的设计初衷,就是为YC员工,日常可能遇到的一系列任务,提供广泛的帮助,你可能会好奇,我们为什么要做这个,这其实源于我们,内部一连串的agent项目,这几年陆陆续续做下来,无一例外都在借着,模型能力越来越强的这股顺风,我们做的第一个,是在2025年1月左右,我们内部称它为,所谓的通用agent 但它其实相当直白,差不多就是一个,带工具的系统提示词,套在一个循环里,它是一刀切的,基本所有人都在跟同一个东西对话,架构上相当简单,但在回答数据类问题上依然非常不错,出奇的好,有意思的是,随着底层模型变得越来越好,通用agent擅长的范围也越来越广,这大概也不意外 后来我们把它接入了slack 加了定时任务,又多给了它几个工具,让它能在更多领域派上用场,到了2025年6月,那时候我们很多工程师开始用Claude Code和codex 我们发现把它们跑在虚拟机里,其实相当容易,于是我们把它接到了Slack的标签里,对,那些只想改一次代码的人来说,这是个很强大的载体,我们还把它配置成,可以跑我们的CI流水线,并拉起开发环境进行测试,大家可以过来描述一个bug 或者提一个希望实现的功能,这个机器人就会去把它搞定,这对于可能一辈子都没改过代码的人来说,真的很强大,不仅如此,我们上面还挂了一个小循环,会观察这个机器人是怎么失败的,在哪里出了错,然后去更新当时代码库里的agent.md 确保随着我们观察使用情况,它能变得越来越好 到了今年1月,很多合伙人开始用open call 关于YC合伙人有一点要知道,就是他们非常非常忙,在日常办公时间之外,还会收到海量的邮件,而且总在看申请材料,所以任何能给他们,带来额外杠杆的工具,对YC来说都非常有价值 OpenClaw尤其管用,因为它是他们很多人用过的,第一个拥有自己独立电脑的agent 这让它具备了上一代agent 所没有的极高可定制性,用起来几乎就像一个私人助理,到了4月,问题就变成了,我们能不能把这个能力,提供给YC的每位员工,同时又不用真正给每个人买一台Mac mini 于是我们最终部署了,有50多个跑在虚拟机里的Hermes Agent 组成的集群,这些确实挺有帮助的,但大家要从中获得价值,需要做大量配置 而且管理这套集群本身就有点棘手,有点像打地鼠一样,我得不断通过SSH连进这些独立的实力去修问题,接下来的问题就变成了,我们已经从这些Agent系统里,获得了巨大的价值,那就来做个东西,既能尽量解决运行这一大群Hermes Agent的痛点,同时又能保留个性化定制,以及大家真正认可的那些价值,好,从刚才Josh展示的内容里,大家基本能看出来一个非常清晰的趋势,基本上就是模型在呈指数级提升,而随着我们赋予他们越来越多的能力,回报也开始变得越来越惊人 OpenClaw给了Agent专属的电脑,我们开始看到非常惊人的回报,大概在今年5月我们开始琢磨,如果顺着这条路继续走下去,究竟能推进到什么程度,我们非常认可这种解除束缚的视角 不知道你们都没读过2024年出的Situational Awareness 但那差不多是一个测试时计算刚开始兴起的时期,而且我们也才刚刚开始给agent提供工具,大家心里都有这样一种直觉,就是agent能做的事情,在很多情况下模型内部蕴含的智能,其实比我们用出来的要多,也就是说如果我们真的在提供给agent的能力边界上,往前推一把,让他们用起来,奇迹就可能开始出现,我们在QM里迈出的第一步,本质上就是把系统的大脑,从沙盒里抽离出来,在Hermes OpenClaw里 Agent实际上拥有自己的电脑,这确实极其强大,但它也被困在了那台电脑里,这带来了一些问题,单从我们管理系统的角度来看,哪怕只有几十个这玩意儿,几乎立刻就变得难以招架,但另一个问题是,你进行的所有绘画,也全都被困在那台电脑里面 所以我们换了个做法,把所有东西都转存到Postgres里,把大家跟agent的所有对话都集中管理起来,然后我们把这些暴露给agent本身,让他能查看系统各处汇聚起来的所有上下文,再就是我们不再把沙盒看作agent居住的家,一个他在很多方面都会被困住的地方,沙盒更多的变成了一种资源 agent可以在需要时调用它使用它,限制要少得多,这带来的另一个可能性是,你可以把大家跟agent产生的所有轨迹,积累成一个庞大的评估集,原则上你可以考虑基于它去做爬山法优化,建立起这种自动改进的循环,要我说的话 [00:49:19]
QM 的权限、资源与持续改进
Josh:要我说的话,我们在这方面的效果好坏参半,我觉得通常情况下,如果你只是派出大批的agent 指望他们在用大模型当评判员的情况下,去修复碰到的所有bug 就会开始出现一种类似主角综合征的问题,也就是agent做出的修复实际上只是盲人摸象,他们很可能会看不到整个系统,所以引入人类参与依然非常关键,尽管我们确实很期待这套流程能彻底走通,我们做的另一件大事非常显而易见,就是把agent尽可能连接到全公司的所有资源上,我们在YC刚好有一个很好用的命令行工具,已经把很多系统串联了起来,但对于里面没有的东西,我们基本上允许随意添加各种API Key之类的配置,而且我们还想确保它的权限,跟一个用笔记本办公的员工完全一致 像设备码认证all off 我们都会录入密钥链,然后替你自动刷新,理想情况下,它就是为了模拟一个真实员工操作电脑的体验,我们在数据库层面基本保持只读,但也允许通过人工审核的批量更新写入,具体运作方式是 agent会提交一个修改数据库的计划,人工可以先过目一遍,确保它不会乱来,然后才真正执行写入,我们观察到的一个现象是,大家已经开始对这些计划闭眼盖章了,这有点像你们早期使用Claude Code时,可能还会非常仔细地审核,它的每一次工具调用,慢慢地你对agent就建立起了更多的信任,接下来的几个月里,我们会密切关注这一点,就像我刚才说的,在这个系统里,我们更倾向于把沙盒,看作agent的一种资源,而不是它实际常驻的地方 在QM里agent默认,会使用一个特定的沙盒,也就是分配给当前对话用户的那个,但大体上还有其他环境,可供agent汇聚,并在其中进行协作,另一个关键点是,如果agent在处理更繁重的开发任务,它可以去调用一台资源更多的机器,如果处理的事情比较简单,他就直接用一台性能没那么强的沙盒,把这个决策权交给agent本身,而不是交给harness 效果非常显著,同理我们还允许agent 接入他自己的运行室,基本上如果他能自由挑选,接入的模型提供商,就能避开很多状况,我相信你们用fable时肯定也遇到过,如果你想做AI研究,或者做任何网络安全相关的事,就会碰上一堆巨大,当agent能控制自己的运行时候,遇到这种情况 它就能直接切到,另一个模型去规避,跟之前的情况类似,在不同的沙盒提供商之间,来回切换,往往也很有用,而这正是我们可以轻松做到的,我们的一般原则,就是把Harness做得极其轻薄,我们认为系统的核心,就是这三个工具,在远程沙盒里执行,对对象存储进行读写,以及发布内部应用,这是一个挺简单的,基于Git的系统,我们还有其他工具用来处理记忆和定时任务之类的东西,但我们基本把他们看作临时的过渡方案,用来修补系统里不够顺畅的边边角角,最核心的其实就是上面的这三个,我们真的在尽量把它做得越小越好,对,我们算是想做一个提前为通用人工智能做准备的Harness 不过既然目前还没到那一步,我们就遇到了一些问题 其中一个是我们试着把Agent放在一个能力极强的环境里,给他们提供所有这些工具,但他们往往放弃的太早了,所以我们尝试的一件事,特别是在过去一个月左右,就是设定我们称之为,类似硬号的工具,基本上就是给目标设预算,不达到一定的实际运行时间,比如两小时,或者一定的token消耗 agent就不被允许放弃任务,这样能做到的就是,带来好得多的研究产出,更好的报告之类的东西,而且看到OpenAI和Antropic 用非常相似的技术,攻克了一些数学公开难题,其实挺有意思的,但这种方法,其实也能用在,普通的日常办公事务上,我们经常见到的另一件事是,这个Harness本该正常运行,它支持多人协作,也能在Slack里跑,但实质上因为训练一流的瑕疵,我们发现Agent 很容易对当下所处的场景,感到十分困惑,哪怕我们在系统Prompt里,讲得相当清楚,所以针对这一点,提供本地的交互机制,一直以来都非常重要,另外还有一个问题,就是agent真的不懂社交语境,说得更具体一点,如果我告诉Reagan一条信息,他凭直觉差不多,就知道或者至少脑子里有个数,知道这条信息能在哪说,但要想让agent也做到这一点,得花一番真功夫,特权信息很容易就这样泄露到,本不该出现的语境里,你能灌进大脑的信息,实际上受限于你的权限系统,有多完善,幸运的是 AYC有一套现成的软件系统,多年来已经建好了,细腻度的权限控制,但很多人压根没有这种条件,要想细腻妥贴地进行知识共享,确实需要下功夫 感谢各位的收听,大家可以试试QM 它是开源的,现在的编程agent 搭建起它来,也相当在行,如果遇到任何问题,欢迎提issue 我们会去看的,我们也在招人,如果刚才讲的这些引起了你的共鸣,或者让你觉得挺有意思,欢迎随时给我们发邮件 [00:55:21]