00:00:00(欢快的音乐)- 欢迎来到AI编码的未来圆桌讨论。
00:00:04感谢你们看了备忘录,要求穿全黑色衣服。
00:00:07(笑声)好的,我想先简单自我介绍一下。
00:00:12我以不同的方式认识你们每一个人,但希望观众们可能不太了解。
00:00:17Matan,你先开始吧?
00:00:19Factory在AI编码领域的定位是什么?
00:00:26- 好的,Factory的使命是为软件工程引入自动化能力。
00:00:32更具体地说,我们开发了端到端的软件开发代理,叫做droids。
00:00:38它们不仅专注于编码本身,而是覆盖整个端到端的软件开发生命周期。
00:00:43包括文档编写、测试、代码审查,以及所有繁琐的工作,这样你就可以专注于更有趣的部分,比如编码本身。
00:00:52而对于你不想做的编码部分,也可以让droids来完成。
00:00:56所以你构建droids。
00:00:58你构建droids。
00:00:59OpenAI当然不需要介绍,但你在codex团队的角色,我在codex视频中看到你出现过。
00:01:08那就是我知道你在做这个项目的原因。
00:01:10但你最近怎么看待Codex呢?因为它已经扩展了很多。
00:01:14- 是的,今年早些时候,我们推出了第一个编码代理。
00:01:19我从事Codex CLI的工作,将我们推理模型的能力带到人们的计算机上。
00:01:26之后我们发布了Codex Cloud,你可以实际分发和委派这些任务在云端运行。
00:01:31在过去几个月里,我们一直在统一这些体验。
00:01:34使它们尽可能无缝地协同工作。
00:01:36所以我们的很多重点是围绕如何让基础功能、基本要素尽可能有用。
00:01:41我们刚刚发布了Dev Day的Codex SDK。
00:01:43我认为我们看到的关键方向之一是不仅将编码或代码执行代理用于编码,还用于通用任务。
00:01:52比如我今年早些时候做的try to be agent,它实际上在后台执行代码来完成某些任务,现在正在让我们的开发者在推理模型基础上构建应用,同时还包括沙箱和我们内置到Codex中的所有其他基础功能。
00:02:07- 很好。
00:02:09V0?
00:02:10- V0的目标是让开发者能够进行预览驱动的代理编程。
00:02:16所以今天当你开发网络应用时,可能会同时打开一个代理、你的IDE、某种代码编辑器,然后是一个预览窗口显示你正在构建的内容。
00:02:25通常你在运行开发服务器。
00:02:26有了V0,我们的目标是让你只需运行一个代理,直接对你的运行中的应用进行提示。
00:02:32这就是我们认为开发者体验的未来会如何发展的方式。
00:02:35- 好的,很好。
00:02:36每个人都有不同的方式来访问你们的编码代理。
00:02:40所以我认为我们想要探讨的关键问题之一是本地与云之间的重要程度。
00:02:45你们一个是从本地开始加入云端,一个是从云端开始加入本地,还有一个目前只在云端。
00:02:50比例是怎样的?
00:02:52最后大家会合并吗?
00:02:55- 是的,也许我可以先从这里开始。
00:02:58所以我认为从根本上讲,这些代理的目的是让它们尽可能有用,并且具有与你可能一起工作的人类非常相似的特征。
00:03:08你不需要区分本地人和远程人,好像这一个只在这个环境工作,那一个只在那个环境工作。
00:03:16通常,无论你是在会议上与他们一起产生想法,还是坐在电脑前肩并肩地工作,人类都能够提供帮助。
00:03:24所以我想在逐渐演进的过程中,这些必须变成相同的,但我认为短期来看,我们看到远程通常更适合处理较小的任务,你对这些任务更有信心可以可靠地委派。
00:03:39而本地是当你想更接近代理时、任务可能更大或更复杂的时候,你会主动监控它。
00:03:49你希望它在本地运行,这样如果出问题,你不需要拉回那个分支然后重新开始工作,而是可以直接在那里指导它。
00:03:57- 是的,也许我很贪心,但我想两者都要。
00:04:00我认为采用多种模式非常重要,就像Matan说的那样,我喜欢思考与我的同事们合作的主要方式是什么。
00:04:11这通常始于像白板会议这样的东西,也许我们就在一个房间里一起讨论什么。
00:04:17当我们在构建时,我认为一个很好的例子是agents.md,这是我们的自定义指令,旨在对不同的编码代理通用。
00:04:26它的开始方式是Romain和我在一个房间里想出这个想法。
00:04:31然后我们开始白板绘图,然后拍了一张照片,然后在Codex CLI本地启动了它,就像在一个Next.js应用的工作坊中我们可以从中开展工作,然后去吃午餐,回来后。
00:04:41它已经有了很多核心结构。
00:04:44然后从那里,我们能够进行更进一步的迭代。
00:04:46所以拥有那种配对和头脑风暴式的体验很重要。
00:04:49然后关于你委派什么样的任务这一点,我认为历史上较小的、
00:04:55范围明确的任务,其中你非常清楚输出是什么,是如果你执行火力转移时的正确模式。
00:05:02但我认为我们开始看到,我们大约两个月前刚刚推出GBD5 Codex。
00:05:08我认为主要区别之一是它实际上可以处理这些更长时间运行、更复杂、更模糊的任务,只要你对最终想要什么很清楚。
00:05:16所以它可以运行数小时。
00:05:18我认为随着模型能力的增强,这种转变将开始启用更多用例。
00:05:24- 是的。
00:05:24是的,我认为让一个代理工作有三个部分。
00:05:27有实际的代理循环、它进行的工具调用,然后是工具调用需要作用的资源。
00:05:34你选择云优先还是本地优先取决于这些资源的位置,对吧?
00:05:37如果你试图处理本地文件系统,那些是你需要访问的资源。
00:05:41这完全说得通,你的代理循环应该在本地运行,对吧?
00:05:44如果你访问的资源通常存在于云端,你从GitHub拉取,直接从某种第三方仓库拉取,那么你的代理从云端开始是有道理的,对吧?
00:05:54但最终,这些资源存在于两个地方,对吧?
00:05:57每个开发者都期望一个代理既能在本地文件系统上工作,也能在可能托管在GitHub上的开放PR上工作。
00:06:04所以从哪里开始其实不重要,我认为每个人都聚集在同一个地方,那就是你的代理循环需要能够在任何地方运行,你的工具调用需要能够从云端流式传输到本地,或从本地备份流式传输到云端。
00:06:16然后一切都取决于你想要操作的资源实际上位于何处。
00:06:20- 是的,很好。
00:06:22好的,我们在台后聊天时,在寻找一些辛辣的问题之类的。
00:06:27所以我真的很喜欢这个问题,我认为它非常有针对性。
00:06:31你们以生成垃圾内容为生吗?
00:06:33比如我们是否有可能陷入炒作泡沫
00:06:40相信这是通往AGI的可持续路径?
00:06:44- 我的意思是,首先,你可以说一个人的垃圾是另一个人的宝藏,这在某种程度上可能是真的。
00:06:52比如,你知道,如果举例来说,你有一个根本没有文档的仓库。
00:07:00你可以使用我们一直在讨论的许多工具来为这个仓库生成文档。
00:07:08现在,它会是最精心打磨的文档吗?
00:07:13不会,但它提供了价值吗?
00:07:16是的,在我看来,因为必须仔细阅读一些超级陈旧的没有文档的遗留代码库比浏览一些质量一般的文档要困难得多。
00:07:26所以我认为大事是要弄清楚你可以在哪里使用这些工具来获得杠杆效应,而这些工具在多大程度上被认为是垃圾,我认为也取决于你提供多少指导。
00:07:38所以如果你只是说,为我构建一个做这个的应用,那样你可能会得到一些做某事的通用垃圾应用 - 它是紫色的。
00:07:44- 是的,蓝色、紫色有点像褪色,是的。
00:07:48而相反,如果你对你想要的东西非常有条理,你提供了实际运行测试的工具来验证你请求的一些功能。
00:07:58我认为这使它变得更加结构化,就像如果你雇用某个初级工程师加入你的团队,你只是说,嘿,去做这个。
00:08:08他们可能会产生一些中等水平的结果,因为他们没有其他的规范可以参考。
00:08:14而且很不清楚你实际上想完成什么。
00:08:19- 我认为关键词是杠杆效应,对吧?
00:08:21AI编码代理让你能做的是比你自己能做的多10倍,而且底线很高,对吧?
00:08:27所以如果你绘制技能水平对代理的有用程度或其生成非垃圾内容的可能性,可能会有一个相当低的底线,如果你没有任何技能的话。
00:08:36你仍然有一个相当高的底线,对吧?
00:08:38代理开箱即用就相当不错。
00:08:39如果你对开发一无所知,代理能做的远超你可能做到的。
00:08:44但随着你达到更高的技能水平,高级和主管以及杰出的工程师实际上以不同的方式使用代理。
00:08:50他们用它来提升他们已经能做的事情。
00:08:53你知道,一个主管工程师可能每天手工编写5000行代码。
00:08:57有了代理,他们可以每天编写5万行代码。
00:09:00它真的在你输入的质量和你放进去的知识水平上运作。
00:09:04所以我认为我们知道,我们在通过构建更好的代理,随着时间的推移,慢慢提高底线。
00:09:11但我确实认为这是一种杠杆效应。
00:09:14这是一种加速你已经能做的事情的方式,更快地完成它们。
00:09:18对于那些没有技能的人,那时你实际上可以真正提高它能做什么的底线。
00:09:23- 绝对同意,我想补充这两点,我认为它们是工艺的工具和放大器。
00:09:29如果你有,你可以做更多。
00:09:31如果你没有,会更难,但它确实提高了底线。
00:09:34我认为值得特别指出这一点。
00:09:36我认为对于那些试图构建他们第一个原型、试图迭代一个想法的人,那个例子之前提到的是一样的。
00:09:44这不是说我做不了一个有点像内容驱动的网站的前端,而是我没有时间。
00:09:51在白板上画画、交谈、进行对话,然后把它交给一个代理要有趣得多。
00:09:57但我认为这个有趣的例子是当我们建造Codex的早期版本时,大概一年多前。
00:10:03我们展示给两种不同的原型,一些做大量产品工程的人,他们习惯于使用本地的、
00:10:12内部循环风格的工具,他们习惯于只是聊天和可能迭代。
00:10:19然后一个完全不同的方式,当我们与推理团队的人交谈时,他们会花也许五分钟时间定义任务,为代理提供一个论文长度的、
00:10:29类似文字问题的东西,然后它会工作一小时。
00:10:33那实际上是01或更早的版本。
00:10:37我认为有趣的部分只是人们向代理提供任务的方式完全不同,这取决于他们对它需要什么的理解。
00:10:48所以我认为真正的关键是要具体说明,对你想要什么样的输出非常清楚。
00:10:55我认为还有一个更广泛的项目,这是对我们作为代理构建者和训练模型的人的责任,要真正提高底线,确保拥有高级手艺、
00:11:06高品味的人能够按他们认为合适的方式行使这些权力。
00:11:11- 我认为实际上你提到的东西唤起了这个想法,我们已经开始注意到。
00:11:16所以我们的目标受众是企业。
00:11:19我们一次又一次看到的是,在代理本地开发的采用方面存在一个非常有趣的双模分布。
00:11:28特别是,通常职业生涯早期的开发者对以代理本地的方式开始构建更加开放,但他们没有管理工程团队的经验。
00:11:39所以他们可能对以很有效的方式委派不太熟悉。
00:11:44与此同时,更有经验的工程师对委派有很多经验。
00:11:47他们知道,嘿,如果我不指定这些确切的事情,事情就不会完成。
00:11:51所以他们真的很擅长写出那段文字,但他们相当固执,他们实际上不想改变他们构建的方式,你必须从他们冰冷的死手中夺走Emacs。
00:12:03所以这是一个有趣的平衡。
00:12:05- 你这么说太有趣了。
00:12:06我们在企业中看到的类似的东西是资深工程师、高层人士会写工单。
00:12:12所以他们实际上会做出编写所需内容所有规格的工作。
00:12:16他们会把它交给初级工程师来实际完成。
00:12:18初级工程师拿着那个写得很好的工单,把它交给代理来做,对吧?
00:12:21所以你只是在套利初级工程师会实际做代理工作这个想法,因为他们更习惯于这样做。
00:12:28但资深工程师是实际上真正擅长写规格、非常擅长理解我们应该做什么架构决策并将其放入某种工单的人。
00:12:37- 是的,对于那些不了解的人,Matan和Factory总的来说一直在编写和倡导代理本地开发时代。
00:12:44所以你可以在他们的网站上阅读更多。
00:12:45我认为有一件事,顺便说一句,我确实想提出也许像一个术语问题,那就是为你提高底线是一件好事。
00:12:54我认为实际上其他人说降低底线也意味着同样的事情。
00:12:57基本上就是像技能水平和他们能做什么,以及为他们提供更多资源。
00:13:05我认为还有一个事情是,很多人在考虑模型层,对吧?
00:13:13显然你们拥有自己的模型,你们两个不拥有。
00:13:18我认为现在这是个热议的话题。
00:13:22Airbnb的Brian Chesky说过,大部分价值可能来自Quinn。
00:13:28开源模型对你们有多重要,你们也可以参与讨论,但对你们来说开源模型作为战略有多重要?
00:13:37- 我很想先听听你的意见。
00:13:38- 是的。
00:13:38我喜欢开源模型。
00:13:42我认为一件重要的事情是,仅仅能够谈论模型,我认为开放性对于可持续发展生命周期至关重要,我们通过Codex CLI从一开始就开源了,部分优先级是了解开源模型即将推出。
00:13:58我们想确保我们能够最好地记录如何使用我们的推理模型。
00:14:03我们看到很多关于应该给它什么工具、环境应该是什么、资源是什么的困惑。
00:14:08所以我们想确保这尽可能清楚,然后也确保它与开源模型配合良好。
00:14:12所以我认为有很多用例,特别是当你进入嵌入式用例或你不希望数据离开边界的用例。
00:14:23有很多真正好的理由为什么你想要这样做。
00:14:26然后我认为云托管模型的好处,这就是我们在很多开源模型中看到的。
00:14:33它们最终是在没有在设备上运行,但实际上无论如何都是云托管的,也许是为了效率,也许是为了成本,仍然有很多价值就是从使用一个更大模型获得的纯粹智能。
00:14:46这就是为什么我们看到人们真的被从O3到GBD5再到GBD5 Codex的模型吸引。
00:14:52仍然有很多价值。
00:14:53现在我们看到那个悬而未决的问题仍然有点会自行解决,每几个月就会有一个新的、非常小的、非常令人印象深刻的模型。
00:15:04我认为那是神奇之处,如果我们只考虑今年初,我们有O3 mini作为前沿的边界,以及我们现在所在的地方。
00:15:10所以是的,我认为开源模型中有很大的价值,但从个人角度来看,从使用的角度来看,使用那种云托管模型的价值更大。
00:15:21- 是的,让我稍微插一句。
00:15:23Ford实际上非常关心隐私、安全、代理稳健性。
00:15:27所以如果你遇见他,就和他谈谈更多相关内容。
00:15:30但对于你们两个,也许你们想从开始,实际上,你们各自应用中生成的开源模型令牌的大致百分比是多少?
00:15:39它会上升还是下降?
00:15:42- 所以我想,也许首先,因为我认为你说的真的很有趣。
00:15:47几周前,当我们发布我们的Factory CLI工具时,人们非常感兴趣,因为我们也发布了我们在一个叫Terminal Bench的基准上的分数。
00:15:57首先要求之一是,你们能用开源模型测试吗?
00:16:02因为我们的droid代理是完全模型不可知的。
00:16:04所以立刻人们就像,把开源模型放进去,告诉我们它表现如何。
00:16:09我认为特别惊人的是开源模型,特别是GLM,真的非常好。
00:16:17他们实际上显然比前沿模型的性能差,但差距没有特别大。
00:16:24我认为,所以一件值得注意的事是当我们对开源模型进行基准测试时,在顶部的七个中,其中一个是由坐在这里的我在美国制造的,我认为这是一个遗憾。
00:16:37就像前沿模型中最好的,它遍布美国。
00:16:43但当谈到开源时,我们真的在失利。
00:16:47所以我认为这是值得注意的一件事,我认为这是一些东西,至少当我看到那个时,我真的认为应该有一个号召行动来改变那个。
00:16:56因为我认为为了回答你的问题,我们发现的是自从我们发布对开源模型的支持以来,使用开源模型的人的百分比大幅上升。
00:17:08部分原因是成本,那个,你知道,它让你,比如说在那个文档示例中,也许你想生成文档,但你不想像,你知道,在超级高推理、
00:17:18最大化、
00:17:19花费你一千美元的情况下,但你只是想得到像一些初始的第一遍。
00:17:24而且人们喜欢拥有更多的控制。
00:17:28我觉得他们通过一些这些开源模型获得了很多更多的控制,包括控制和成本,以及只是对实际发生的事情的一些可观察性。
00:17:39所以需求已经增长到我一年前实际上没有预料到的地步。
00:17:43我认为一年前,我对开源模型的看法不如现在乐观,开放权重,但是是的。
00:17:49- 是的,我认为我们在整体代理管道中使用开源和闭源模型。
00:17:55我认为我们对它们的看法是一个LLM调用有两种不同的用例。
00:17:58一种是你想要最先进的推理。
00:18:01这是一个非常非常开放式的问题。
00:18:02你实际上不知道答案是什么。
00:18:04目标就像,目标函数定义得不是特别好。
00:18:07在这些情况下,当涉及到推理和智能时,闭源模型仍然是最先进的。
00:18:13我们几乎完全为这些类型的用例使用闭源模型。
00:18:16有一个第二个用例,其中我们有一个更多的小众任务,目标函数更加清晰。
00:18:22在这些情况下,我们几乎总是尝试微调一个开源模型。
00:18:26我们可以接受在推理能力方面可能有20%的性能下降,这样我们就可以实际微调一个非常非常具体的用例。
00:18:35我认为我们发现开源模型的追赶速度非常非常快。
00:18:39一年半前,我们根本不可能在 v0 的流程中使用开源模型。
00:18:45如今,流程中的每个环节,我们都在思考,我们能否引入开源模型呢?
00:18:49我们能否用开源模型的微调版本替代目前使用的闭源最前沿模型?
00:18:57我们在 Qwen、QEMI-K2 等模型上取得了巨大成功。
00:19:02是的,我想指出这是我在所有人身上看到的最大变化之一。年初时,我和 BrainTrust 的 Ankur 进行了播客对话,他说开源模型的使用率大约占 5%,而且还在下降。
00:19:17现在我认为对于所有人来说,这个比例很可能会上升到 10% 到 20% 之间。
00:19:22有趣的是,即使是闭源模型也在更积极地投入到他们的小模型上。
00:19:29比如 Haiku、GPT-5 Mini、Gemini Flash 这些,这类小模型与开源模型竞争最激烈。
00:19:38小模型这个范畴与开源模型的微调版本竞争。
00:19:42而且我认为有些用例确实会过度使用前沿模型,但如果过度了,你就会自然而然地选择更快更便宜的方案。
00:19:53我认为这部分就是为什么使用百分比会有这样的变化——当开源模型跨越阈值,对大多数任务来说已经足够,而只有少数特殊任务才需要额外的计算能力。
00:20:10我认为一些开源模型正在接近这个阈值,这就是为什么我预测未来会看到更多的使用。
00:20:16是的,太棒了,这很令人鼓舞。
00:20:18我们还有一点时间,现在是最后一个问题。你们的智能体今天做不到但希望能做到、预计明年就能做到的是什么?
00:20:27我先说吗?
00:20:31好的。
00:20:32我认为在过去的一年中,从一年多前的 o1 或 o1 preview 开始作为参考点,我看到了这些变化。当我使用那个模型的早期版本时,相比 GPT-4 是不错的,但仍有很多不足之处。
00:20:51当时我在安全团队,有很多工作和任务我根本无法委派给那个模型。
00:21:00而现在,我可以给它一个定义明确的任务,比如两三句话,几个要点——这些是我认为你可能会遇到的坑——半小时到一小时后,任务就完成了。
00:21:14我们看到过模型运行许多小时,甚至七八小时的情况,相当于一整个工作日。而我整天都在开会,没有那样的整块时间。
00:21:26但这只是工程工作的一半。
00:21:30一半是编码、架构设计、故障排查和调试。
00:21:34另一半是写文档、理解系统、说服他人。
00:21:39所以我认为我们会看到一个超级协作者的出现,无论是在编解码器中还是通过编解码器模型的其他接口,我们想要实现的是理想的协作者。
00:21:53你首先想到的人,那个你最想和他一起头脑风暴的同事,这就是我们想在编解码器中看到的。
00:22:02对我们来说,我们在两个不同的方面看到了快速的进展。
00:22:07首先是一个智能体合理地能完成多少步骤并获得相当好的输出。
00:22:14去年最多可能是一步,最多三步。
00:22:17如果你想要 90% 以上的成功率的可靠输出,你可能需要运行一到三个智能体步骤。
00:22:22现在,大多数工具可以运行五到 20 步,虽然可靠性还不是很高,但能达到 90% 以上的成功率。
00:22:29我认为明年,我们会进展到 100 步、
00:22:32200 步或更多,一次性运行大量步骤,执行数小时的长任务,并确信最后能获得有用的输出。
00:22:40第二个方面是可以消耗的资源。
00:22:42一年前,大多就是你放在提示中的东西。
00:22:47现在,你可以通过 MCP 配置外部连接,或直接在应用中调用 API。
00:22:55如果你懂技术,可以自己配置这些。
00:22:58而我认为一年后,这些都会自动发生。
00:23:00就是能自动工作。
00:23:02目标是你不需要知道应该给智能体提供什么上下文来源。
00:23:06智能体会主动寻找这些上下文来源。
00:23:09我们现在已经开始看到这种情况了,但我还不是很确定它是否真的可靠和有用。
00:23:16我认为到明年,这会成为默认模式。
00:23:18是的,我同意。
00:23:19我认为智能体今天基本上什么都能做,但关键在于它们做事的可靠性和主动性程度,这才是会改变的滑块。
00:23:29但这个滑块也取决于用户。
00:23:31如果你是一个不太改变行为、不太主动配合智能体的用户,那么你可能会获得较低的可靠性和主动性。
00:23:38但如果你正确地设置了框架或配置了环境,智能体就能更可靠、更主动地完成更多工作。
00:23:45是的,太棒了。
00:23:46好吧,我们时间到了。
00:23:48我的建议是计算机视觉。
00:23:49大家都来试试 Atlas。
00:23:51大家都来试试更多的计算机视觉用例,但非常感谢各位的时间。
00:23:55谢谢你们。
00:23:56(观众掌声)(欢快的音乐)