2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

构建未来智能体,微软宋恺涛揭秘 JARVIS 系统及其在 AI 领域的应用前景

宋恺涛

  • 2024-08-14
    北京
  • 本文字数:2215 字

    阅读完需:约 7 分钟

构建未来智能体,微软宋恺涛揭秘 JARVIS 系统及其在AI领域的应用前景

AI Agent 是一种先进的智能实体,它由人工智能技术驱动,能够自主感知环境、做出决策,并执行相应的动作。这些智能代理具备自主性,能够独立运行而无需人类直接干预;它们具有强大的感知能力,通过传感器或输入模块来捕捉周围环境的信息。基于这些信息和预定义的目标,AI Agent 能够进行合理的决策,并采取行动以实现这些目标。此外,它们还拥有记忆、规划和使用工具的能力,这使得它们能够适应复杂环境并完成复杂的任务。


在 8 月 18 日 -19 日 AICon 上海站,我们策划了【AI Agent 技术突破与应用】论坛,并且也荣幸邀请到了微软亚洲研究院高级研究员宋恺涛,他将发表《The Future is Here, A Deep Dive into Autonomous Agent》的演讲,通过他的分享你可以到了解构建智能体中需要考虑的组件,以及了解当下的智能体构建存在的问题。



本文为宋恺涛会前采访文。宋恺涛提到 JARVIS 系统是一个基于大型语言模型的智能调度工具,它能够与多个专家 AI 模型合作,处理各种复杂任务。尽管它还处于早期阶段,但已经在多模态处理和工具使用方面展现出潜力。面对扩展功能时的挑战,JARVIS 采用分层结构来优化模型调度。未来,JARVIS 将继续发展,目标是构建更强大的单体和多智能体系统,并可能建立一个智能体应用库。


以下为采访正文:

InfoQ:能否简单说明 JARVIS 系统的基本功能和工作原理?


宋恺涛:JARVIS 系统的核心,是以大模型为基础,将其作为一个管理的神经中枢,通过引入任务规划,选择机制等模块来实现对各种细分的专家模型的调度。这里面我们会选择像 Hugging Face 这样的机器学习社区来提供专家模型。相比于现在的智能体,首先 JARVIS 是一个非常早期的工作,属于一个早期的智能体架构。现在的工作,可能更加完善,包括现在会引入多智能体机制还有更加细微的提示词设计以及记忆机制等等。但可以这么说,JARVIS 应该是一个初步展现智能体雏形的工作。

InfoQ:JARVIS 系统中的 LLM 如何与多个 AI 专家模型进行协作?


宋恺涛:J 这个也是我们当时对大模型的一种观察。从 2022 年底 ChatGPT 诞生以来,我们也在观察大模型本身的语言能力到底有多强,如果其语言能力足够强的话,就应该能够像人类一样去掌握语言的能力。因此,如果我们能够提供 LLM,这些 AI 专家模型如何使用,那么,大模型就应当具备去调度,协作和使用它的能力。因此,我们将 AI 模型的描述作为 prompt 提供给 LLM,来告诉大模型,在什么任务情况下需要使用到它。同事还要求其能够做任务分解,判断各个任务之间依赖性。使其剧本对 AI 专家模型的协作调度能力。

InfoQ:这种协作模型的具体流程是怎么样?


宋恺涛: 具体而言,我们首先利用大预言模型进行任务规划的能力,最用户的需求进行任务分析和子任务分解,来得到子任务序列以及子任务之间的相互依赖。然后,基于我们得到的任务序列,我们会采用一种模型选择机制,来选择最适合的模型解决对应的子任务。最终我们会执行和调度这些模型来生成最终的模型输出。

InfoQ:不同 AI 模型之间的协同工作机制如何影响整体系统的性能


宋恺涛: 我觉得核心难度会有这么几点:1)如果我们希望系统的功能越强大,就可能需要我们调度更多的模型。这样一来,如果这些模型是用 prompt 的形式来构建的话,就会对 context 的长度带来很多的消耗;2)如何正确地规划各个任务序列,也是一个非常大的挑战。如果预测了错误的任务序列,那么也会对系统的后续生成产生影响,如何及时地修正和改进会非常正要。

InfoQ:JARVIS 在哪些领域或者场景得到应用


宋恺涛: 其实作为调度工具为代表的智能体,他在很多需要丰富智能体功能的地方上都会需要到。以开源机器学习社区(Hugging Face,国内比如 Modelscope)为代表,那么我们可以通过构建对不同模型的调度,产生一个能够处理语言,语音,图像,视觉等不同模态的智能体。除此以外,包括使用像天气预报,数学计算等一系列工具的方式,都能够构建更强的智能体。因此,当我们需要扩展语言模型的任务范围时,JARVIS 这样的智能体就会有很大的应用场景。

InfoQ:在这些应用场景中,JARVIS 系统遇到过哪些问题,又是如何解决这些问题的


宋恺涛: 其实这些问题和我们上述的机制时有关,那就是当我们想要构建更强大的智能体时,就不得不引入更多的专家模型或者说叫工具。而当我们需要 Scale Up 这些工具时,就会对模型产生很大的负担。所以如何调度海量工具,会是一个非常大的调整。从目前来说,我们会采用分层结构的,也就是将工具表示成树形结构来进行分配调度。

InfoQ:您觉得智能体未来的发展方向会是什么?


宋恺涛: 我觉得有这么几点:1)如何构建强大的单体智能体;2)在单体智能体的基础上,构建多智能体;3)能否针对智能体,去构建其对应的社区库,就像 App Store 一样。这些都很关键。

InfoQ:是否方便为我们介绍下您即将分享的 Agent 落地和 JARVIS 的关系?


宋恺涛: 其实整体来时,我还是会围绕 JARVIS / HuggingGPT 为主来展开。我可能也会目前智能体的扩展研究,来讨论,包括从 efficiency,self-improvement,评估这些角度来展开讨论,如何更好更鲁棒地构建可信任可靠的智能体。

嘉宾介绍:


宋恺涛,微软亚洲研究院高级研究员,博士毕业于南京理工大学。其研究方向为自然语言处理,大语言模型,AI 智能体。其发表了超过 40 篇国际学术会议论文和期刊,包括 NeurIPS,ICML,ICLR,ICCV,ACL,EMNLP,KDD,AAAI,IJCAI 等,同时担任多个学术会议和期刊的审稿人。其代表作包括 HuggingGPT 等智能体研究以及 MASS,MPNet 等基础模型训练。


2024-08-14 19:007829

评论

发布
暂无评论
发现更多内容

Feign的两个调用处理器

急需上岸的小谢

10月月更

Spring Batch 中的 chunk

HoneyMoose

golang中的切片

六月的

Go slice

“程”风破浪的开发者|国产数据库---达梦应用技巧及使用案例

芯动大师

数据库 学习方法 “程”风破浪的开发者

Glibc-scratch_buffer的源码分析

桑榆

源码刨析 10月月更 C++

PHP出发(php+apache+MySQL)

江拥羡橙

php MySQL apache 社区 10月月更

docker学习笔记(三)

Studying_swz

10月月更

“程”风破浪的开发者|Web 1.0、Web 2.0 和 Web 3.0 之间的比较

海拥(haiyong.site)

Web3.0 “程”风破浪的开发者

智能化运维场景分析

阿泽🧸

10月月更 智能化运维

“程”风破浪的开发者|Web3.0是什么?带你解析Web3.0

芯动大师

Web3.0 “程”风破浪的开发者 Web2.0

Git 操作命令笔记

宇宙之一粟

git 10月月更

“程”风破浪的开发者|代码规范

over℡

学习方法 “程”风破浪的开发者

java多线程总结

Studying_swz

Java 10月月更

feign client客户端的自动装配

急需上岸的小谢

10月月更

RxJava的操作符

急需上岸的小谢

10月月更

“程”风破浪的开发者|Web3.0

六月的雨在InfoQ

Web3.0 10月月更 “程”风破浪的开发者 Web1.0 Web2.0

Vue组件入门(十一)$attrs

Augus

Vue 3 10月月更

加密标准中DES与AES到底是什么?两者有啥区别?

wljslmz

信息安全 加密 AES 10月月更 DES

Excel 的基本概念以及 Excel 文件的创建

芯动大师

Python Excel 10月月更

YARN基本架构

穿过生命散发芬芳

YARN 10月月更

docker学习笔记(四)

Studying_swz

Docker 10月月更

详解CAN总线:CAN总线故障界定与管理

不脱发的程序猿

汽车电子 CAN总线 CAN总线故障界定 CAN错误故障诊断

el-table表格还可以这么玩

江拥羡橙

Vue 3 Element UI 10月月更

群晖(Synology)NAS 安装 MongoDB

HoneyMoose

【设计模式】Java 语言不同的编程范式-第1章

跟着飞哥学编程

设计模式 编程范式 java 编程 10月月更

微信小程序云开发收费调整,大家怎么看?

江拥羡橙

微信小程序 云开发 10月月更

“程”风破浪的开发者|如何更好的学习专业知识

闫同学

学习方法 10月月更 “程”风破浪的开发者

【愚公系列】2022年10月 Go教学课程 034-接口和多态

愚公搬代码

10月月更

过去几个月,他们把数字化融进了中国经济的毛细血管

脑极体

2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。 package main import ( “fmt“ ) func main() { const

福大大架构师每日一题

golang 福大大 选择题

构建未来智能体,微软宋恺涛揭秘 JARVIS 系统及其在AI领域的应用前景_AI&大模型_InfoQ精选文章