AI Agent 开发者对话:科研和商业化落地
智能体(Agent)与真实世界互动的前沿研究者姚顺雨(清华姚班本科、普林斯顿大学博士),在【奇绩潜空间】与奇绩合伙人曹勖文(Xuwen)一起,分享了 ReAct Agent 的研究背景与动机,Agent 在大模型能力上的推理和决策优势,分析了 Agent 技术的挑战和未来发展,还介绍了自己的 SWE-Agent 研究项目等。
姚顺雨的分享不仅涵盖了 Agent 技术的理论基础,还深入探讨了 Agent 商业化落地路径。这些内容能够帮助到 Agent 创业者找到创新机会,实现商业落地。
对话嘉宾介绍
曹勖文,奇绩创坛合伙人,斯坦福大学计算机科学本硕,echoscreen 联合创始人(微软收购),两次被 YC 录取的连续创业者。
姚顺雨,清华姚班本科,普林斯顿大学博士毕业,主要研究语言智能体与真实世界的互动,是语言模型推理框架“思维树”的研究团队成员,ReAct Agent 提出者,Agent 智能领域最早探索者之一。
内容目录
ReAct Agent 的研究背景与动机
为什么开始研究 ReAct Agent?
Agent 为什么能够在大模型的能力上产生更好的推理和决策能力?
Agent 技术发展与未来展望
未来是否会出现以其他模态为 backbone 的 Agent?
与 Agent 交互的外部环境应该使用同样的表征吗?
Agent 的技术挑战
为什么今天的 Agent 的能力时好时坏?如何改进?
Agent 微调和其他类型的微调有哪些区别?
SWE-Agent 的介绍
SWE-Agent 的研究背景、动机和目标有哪些?
Agent 编程与应用场景
与人类相比,Agent 编程需要的环境有哪些不同?
什么样的任务定义可以称得上是良好的?
Agent 如何确保稳定性和准确率?
Agent 与大模型的关系
如何看待语言 Agent 与大模型能力持续增长的关系?大模型发展下去会让 Agent 的需求消失吗?
Agent 的科研成果与商业落地
全球范围内近期有哪些有趣的 Agent 应用?
从研究员到开发者再到商业落地,认知层面需要怎样的转变?
在科研领域,最近有哪些值得关注的成果和思想?
推荐阅读
ReAct Agent 的研究背景与动机
为什么开始研究 ReAct Agent?
第一个动机是 GPT-3 诞生后,大模型逐渐从单纯处理语言任务发展到了各种常识推理,甚至可以输出各种动作,于是我认为开发一个具有通用能力的 Agent 比处理特定问题有更广泛的视角和模式。
第二个动机是我意识到用大模型玩游戏还是需要用奖励做强化学习,但人类可以在完全没接触过游戏的情况下解决问题。于是我想到能否用语言模型同时产生推理和行为,然后就找了四个合适的任务来做 ReAct 这个项目。
Agent 为什么能够在大模型的能力上产生更好的推理和决策能力?
第一,语言作为一种模态是通用表示,既可以表示各类外部环境,也能表示各种内部推理方式,这也是 ReAct 这样的语言 Agent 的基础机制。第二,大模型学习互联网大规模数据时,可以看到各类推理模式、环境和动作,这些先验知识就能让它泛化处理各类问题。
Agent 技术发展与未来展望
未来是否会出现以其他模态为 backbone 的 Agent?
这取决于如何定义 backbone。现在已经有各类 Agent 在各种环境中交互,其中的观察和动作有各种形式,一些动作空间可能很难用语言表示。但我认为语言始终是内部推理的 backbone,就像人类做各种任务时内部的推理模态只有语言一样。
与 Agent 交互的外部环境应该使用同样的表征吗?
任何环境总体上可以分成两部分,一部分 Agent 需要做底层操作,比如切菜、翻炒等具体动作;还有一些需要做高层的规划,比如根据食谱安排做菜步骤。不同环境的高层规划决策是相通的,需要使用语言作为同一种表征,并且语言 Agent 会屏蔽掉很多底层操作的复杂性,将很多繁琐的细节动作抽象简化。
Agent 的技术挑战
为什么 Agent 的能力时好时坏?如何改进?
一是任务定义还不够清晰,比如制作一份 PPT,本质上还是非常开放的,很难做大规模评测,也就很难客观评价不同模型的差距和行业进展的速度。
二是现有模型缺乏作为 Agent 的数据。大模型的数据主要来自互联网,但很多具体的动作和规划所需要的数据在互联网上是不足的。一个思路是用 Agent 产生数据,做数据飞轮,但相关研究还远远不够。
Agent 微调和其他类型的微调有哪些区别?
传统微调只有一个维度,就是各种任务。而 Agent 微调有两个维度,其一是任务,其二是各类解决方案,一个问题可以有多种解决方案。通过微调,Agent 可以涌现出一些分层次确定方案的能力,对不同难度的任务采取不同类型的策略。
SWE-Agent 的介绍
SWE-Agent 的研究背景、动机和目标有哪些?
在 SWE 和 SWE-Agent 之前,我们有一篇叫 intercode 的文章是整个系列项目的开端。当时我们把各类代码评测挑战做成一个互动强化学习的环境,其中的动作是任意代码,反馈就是代码运行的结果。因为每个人写代码的思路不一样,实际上就对应了背后的各类 Agent。
我们发现当时的代码数据集都很简单,和实践中的情况差距较大,所以就选择用 GitHub 的 issue debugging 的数据来做一个新的数据集,这种数据是定义良好且很好评估的。这也更符合编程 Agent 的思路,让它可以逐渐地解决一些 issue 层面的问题来配合人类。
做完 SWE 我们发现它不会查找,这就需要一个 Agent。这时我们发现要解决问题都需要做两件事,第一是定义 Agent,第二是定义环境。在环境层面,不同的 IDE 也会影响代码效果,这些传统 IDE 并不适合 Agent 来生成代码。于是我们做了 Agent Computer Interface(ACI),不断改进它和 Agent 编程能力的过程。
Agent 编程与应用场景
与人类相比,Agent 编程需要的环境有哪些不同?
有一些是人类不需要,Agent 需要的。比如人类编辑代码时是没有代码运行反馈的,没有反馈对 Agent 来说很困难。所以我们在 ACI 中加入了一些反馈,告诉 Agent 哪些编辑动作会出问题,哪些动作效果很好,这就可以显著提升它的水平。
还有一些是人类需要,Agent 不需要的。例如搜索一个关键词,人类只能一条条看结果,Agent 就可以一次看到 100 条结果并从中挑选。从这里也可以看出 Agent 和人类的一些本质差异,那就是人类的执行内存非常小,一次只能看一小段代码或文字,所以要用有序决策机制来应对这个限制,用时间换空间。但 Agent 没有这个问题,所以环境的定义也会有一些不同。
什么样的任务定义可以称得上是良好的?
两个标准,第一是上下文应该是自包含的,第二是要有好的评估指标。为什么说 SWE-Agent 是良好定义的?因为有了代码库,有了 issue 描述,理论上 Agent 就有了想要解决问题的一切上下文,输出的代码通过单元测试就是成功,反之就是失败,评估指标是非常清晰的。
Agent 如何确保稳定性和准确率?
Agent 任务分为两类,一类主要关注可靠性,另一类主要关注探索能力。第一类任务会有业务层面的指标,完成任务时需要解决一个个案例,案例增多,出错的数量也会增加。第二类任务则是要尝试很多案例,从中找到能成功的那一个,案例多了成功概率就会增加。客服领域更重视可靠性,为了提升可靠性,一方面需要技术层面的创新,让 Agent 变得更可控;另一方面也需要商业层面来做一些工作,例如如何选择客户、场景;如何通过数据飞轮处理数据问题等。这不是纯技术的问题,各方面都需要探索和思考。
Agent 与大模型的关系
如何看待语言 Agent 与大模型能力持续增长的关系?大模型发展下去会让 Agent 的需求消失吗?
Agent 本质上是两部分,一部分是大模型,另一部分是调用大模型的代码。当然模型越强,需要的代码也就越简单,而模型变得更好,我们就可以用 Agent 来探索更多任务,反过来通过数据积累和反馈让模型在这些任务中的表现更出色,形成良性循环。创业者为了让自己的工作不至于被淘汰,就可以思考如何让自己开发的 Agent 不仅适用于当前的模型,也能为下一代模型做准备,这样新模型出来以后,你的 Agent 还会有用武之地,你也就不会感到焦虑了。
Agent 的科研成果与商业落地
在科研领域,有哪些值得关注的成果和思想?
SWE 项目中提到的 ACI 是很有意思的,它研究如何设计人和计算机的交互界面来解决各种问题。这个领域的研究才刚开始,更多是科研领域在做创新研究。
另外,因为大模型和 Agent 是相辅相成的,有些人认为我们要更关注 Agent 的层面,有些人认为模型发展好了可以解决所有问题,这是行业内的一个深层的辩论。现在面临的另一个本质问题是如何解决数据挑战,以及如何解决落地场景挑战。在这样的情况下,如何找到一个既符合短期内模型的能力约束,又能落地,又能获取数据的场景是非常值得关注的,需要大家共同尝试。
全球范围内近期有哪些有趣的 Agent 应用?
SWE-Agent 这样的编程 Agent 就是很有趣的例子。我之前在一家公司实习,他们做的一些客户服务 Agent 从业务角度来看是很有趣的,是可以直接落地的场景。现在的 Agent 可以分为两类,第一类是可以直接落地解决商业问题的,第二类是探索能力边界的,就像编程、机器人、游戏或人类模拟这些方向都很有趣。
从研究到创业,区别是什么?
好的研究项目需要一个简单清晰的想法,而创业则要解决一个个实际问题。你需要做很多零碎工作,但最重要的是让方案跑起来,给客户做出来有用的东西。研究和创业相通的点在于都要思考你的客户是谁,如何为他们产生价值。例如你要研究一个评测工具,就要思考谁会用这个工具,怎样让大家能轻松使用,它能为用户带来哪些好处。但创业时,你要做一百万件很脏的事情,这是很大的区别。
推荐阅读
Agent 能否基于神经信号来做理解?
推荐大家看 Hinton 的演讲《通往智能的两种道路》,其中提到计算机的软硬件是解耦的,但人类的软硬件是耦合的。语言是人和人的交流工具,是不同人在硬件层面各异,却在软件层面可以互动的方法,我们是必须用这种方式来交流的。
使用模型对给定的一段故事做无限续写,如何保证很长的叙事链路中问题的一致性?又如何能约束生成的故事文字符合一定规则?
本质上我们需要更大的上下文存储,同时还要让 Agent 自己去梳理越来越大的上下文,建议大家去了解我的一篇论文叫《Cognitive Architectures for Language Agents》。
Q & A
现场我们还有一些观众对 Agent & RAG 关心的提问:
1. 通过 AI 分析人类玩游戏(如贪吃蛇)的行为,匹配其 MBTI 性格类型并为其分配工作的流程能否实现?
2. 在人类和 Agent 协作的场景下,如何定义和评估相关指标?
3. 未来大模型的训练是否会加入 RAG?大模型能自己学会 RAG 吗?
4. 具身智能和 Agent 未来会如何结合?
5. 如果数据收集速度很慢,具身智能还有哪些好的路径?
6. 哪些因素制约了 Agent 生成答案的速度?未来会有哪些变化?
7. 大模型输出的动作经常会超出评测集的合法动作列表范围,如何解决?
8. 多模态大模型流行后,基于多模态的 Agent 会有哪些变化和发展?
9. RAG 系统的产品化有哪些细节层面的技术难点?
10. 具身智能领域的模态众多、数据接口各异,如何让大模型或 Agent 更好地对接它们?
11. TOT、GOT、知识图谱和 RAG 这些方法有哪些与大模型结合的入手点?
12. 如何区分底层操作和高层规划?
13. 是否应该让 Agent 适配 GUI?
14. 数据的质量和数量,哪一个对 Agent 更重要?
15. AI 未来会有哪些产品方向?
16. 使用 Agent 处理涉及大量数据的传统问题时如何应对数据规模挑战?
17. Agent 在云端大规模运行会有哪些挑战?现有的 CPU、GPU、TPU 为主的架构会有哪些变化?
感兴趣的小伙伴,可以继续扫描二维码阅读。
本周五(6 月 28 日)【奇绩潜空间】继续和大家一起分享,邀请到潞晨科技创始人兼董事长尤洋聊一下视频生成模型 OpenSora 的解读与思考。报名通道已开启,欢迎扫描下方二维码,报名参加。
我们还创建了 Agent & RAG 创业者交流群,添加企微和更多创业者们一起交流互动。
-全文完-
版权声明: 本文为 InfoQ 作者【奇绩创坛】的原创文章。
原文链接:【http://xie.infoq.cn/article/8b8bb60b4567e5885573538b6】。文章转载请联系作者。
评论