7个Agent组成的公司,7分钟完成了一个游戏的开发

news2024/9/24 5:25:25

图片

来源丨投资实习所(ID:startupboy)

作者丨StartupBoy

市场对 AI Agent 的期望一直很高,除了各种单向任务的 Agent 外,之前斯坦福大学和 Google 的一项实验已经展示了由 25 个 AI Agent 自行协同运行的虚拟城镇(Virtual Town),它们在这个虚拟城镇里制定每日的日程、约会以及策划一些活动聚会。

不过最新的一项研究实验,展示了由 7 个 AI Agent 组建的一个虚拟公司,在 7 分钟内完成了一个的完整开发过程,成本大概就 1 美金左右。这个实验来自清华大学、北京邮电大学、大连理工大学、布朗大学以及国内 AI 创业公司面壁智能的研究员最新发布的论文。

他们创建了一家叫 ChatDev 的虚拟公司,由 7 个 AI Agent 组成,角色分别是 CEO、CTO、CPO 、程序员、设计师、测试员以及代码评审,这些 Agent 由 ChatGPT 3.5 的模型支持。

基于开发软件顺序的 Waterfall 模型将整个过程分成了 4 个阶段:设计、编程、测试和文档,研究人员通过提示词给每个 Agent 定义了角色、分配了任务、需要遵循的通信协议以及终止标准和约束条件。

图片

之后 ChatDev 这家公司的每个 Agent 都会在不同的阶段参与到开发工作中,比方说 CEO 、CPO 和 CTO 会在设计阶段一起工作,编程阶段则主要是 CTO、程序员和设计师。

具体每个阶段的角色分配大致如下图所示,上面是基于软件开发过程的任务分配角色,下面的 Chat Chain 则是一个决策沟通和反馈过程:

图片

在各个角色分配好以后,ChatDev 这家公司接到了一个开发“五子棋”游戏的订单,马上大家就进入第一个设计阶段,CEO 、CPO 与 CTO 进行了一个简单的对话,就产品类型和编程语言的选择做出了决定,这个决策过程和现实中非常类似:

  • CEO:为了满足客户的需求,咱们一起讨论一下产品和实现的具体编程语言;

  • CPO:我建议将这个游戏开发为一个桌面端,因为这样它就可以在电脑上玩,它会有一个非常友好的用户界面和交互体验,鉴于我们的经验我建议用 Python 语言。

  • CEO:同意你的提议,@CTO 在编程语言的选择上要不你给个具体的建议吧?

  • CTO:Python 非常合适,是一个不错的选择。

  • CEO:好,Python 语言的简单性和可读性让它已经成为初学者和有经验的开发人员的首选。

  • CTO:那我们开始吧!

图片

之后 CEO 和 CPO 一起开始头脑风暴,就产品的具体细节做进一步的确定:

图片

待这块确定结束后,就进入了编程阶段,核心是 CTO 和程序员以及设计师、代码评审之间的开发过程和对话,通过协同完成游戏的开发工作。

图片

待产品开发测试各种流程都好了后,CTO、程序员、CEO 以及 CPO 将一起就软件的交互写一个详细的文档,以便向客户交互。

整个过程对任务的分拆差不多有 70 多个子任务,完成任务的拆分后,差不多 7 分钟就完成了产品的开发(平常的开发周期可能需要 2-4 周时间),并且通过记忆和自我反思(self-reflection )的功能,它们识别出了一些潜在的漏洞,并将其进行了修复排除。

图片

这些研究员对整个开发过程每个阶段的成本都进行了统计,除了整个过程平均耗时不到 7 分钟外,其整个成本也不到 1 美金,展现出了非常高的软件开发效率。下面是这个游戏产品的一个简单实现过程:

图片

根据论文的说法,整个过程中 86.66% AI Agent 执行的都非常完美,而在执行失败的那一部分,有 50% 的情况是 API的令牌长度限制导致,这种限制阻碍了在指定的长度范围内获取完整源代码进行代码生成。特别是在处理复杂的软件系统或需要进行广泛代码生成的情况时,这些挑战尤其明显。

而另外 50% 的失败主要受到外部依赖问题的影响,当某些依赖项在云上查找不到或者版本不对时,就会出现问题,但整体而言,这个实验的结果是比较成功的。或许在不久的将来,我们的很多工作可能都可以依赖 AI Agent 来做了。

可以在这里查看完整的论文:https://arxiv.org/pdf/2307.07924v3.pdf

公开的代码可以在 GitHub 上查看:https://github.com/OpenBMB/ChatDev

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用Zoom API创建一个会议?

一、注册一个免费的Zoom账号(zoom.us) 二、在Zoom 应用市场(App Marketplace)创建一个server to server 的app,授予创建会议的权限。 三、创建一个Zoom API的服务端程序(node.js) 1、git clone https://github.com/zoom/server-to-server-o…

Unity新输入系统 之 InputActions(输入配置文件)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​ 首先你应该了解新输入系统的基本单位Unity新输入系统 之 InputAction(输入配置文件最基本的单位&#xff0…

Python-调用pymysql库,执行插入语句

今天写了一个mysql的插入方法,传多条数据时报错: TypeError: not enough arguments for format string 解决:后来排查是因为调用方法是,用的cursor.excute(),导致的报错,改为cursor.excutemany()就插入成功了 方法调用: test.ins…

【ARM CoreLink 系列 5.5 -- CI-700 Debug trace and PMU 】

文章目录 Debug trace and PMUCI-700 Debug trace 系统概述DTC DomainDTC Domain 约束条件DTM device portsDTM FIFO BufferDTM FIFO 缓冲区特点Debug trace and PMU 本篇文章主要是介绍 CI-700中实现的 Debug Trace (DT) and Performance Monitoring Unit (PMU). CI-700 Deb…

漏洞复现-Viessmann Vitogate 远程命令执行漏洞(CVE-2023-45852)

1.漏洞描述 Viessmann Vitogate是Viessmann公司的一个智能化控制系统。 Vitogate 300 2.1.3.0版本的/cgi-bin/vitogate.cgi存在一个未经身份验证的攻击者可利用的漏洞,通过put方法中的ipaddr params JSON数据中的shell元字符实现绕过身份验证并执行任意命令。 2.…

c++_1

C 定义头文件 #ifndef __COMPLEX__ // 这样定义头文件,可以解决有些cpp在包含头文件需要的次序要求;也不会有重复的定义头文件 #define __COMPLEX__#endif#pragma once 是 C 预处理器指令,用于防止头文件被多次包含,从而避免头文…

C++解析和构建json(cjson使用手册)

C解析和构建json【cjson使用手册】 一、cjson下载二、cjson工程使用2.1 静态库使用2.1 源码使用(推荐) 三、cjson详解3.1 解析json字符串3.1.1 解析对象3.1.2 解析数组:方法一(获取列表数量然后按照位置获取)3.1.2 解析…

从专家角度看:2024年值得关注的项目文档工具

国内外主流的10款项目文档管理软件对比:PingCode、Worktile、禅道、Tower、飞书、Smartsheet、Jira、Notion、Wrike、Basecamp。 在项目管理的世界里,选择一个合适的文档管理工具可能就是成功与否的关键。众多的系统和功能看似琳琅满目,但这也…

无字母数字绕过正则表达式

目录 1、题目代码 1.异或 php部分&#xff1a; python代码&#xff1a; 2.或 php代码 python代码 测试结果&#xff1a; 3、取反 php脚本&#xff1a; 测试结果&#xff1a; 1、题目代码 <?php error_reporting(0); highlight_file(__FILE__); $code$_GET[code…

速度曲线轨迹规划程序优化(封装FC)

1、S型速度曲线点动控制功能块 S型速度曲线点动控制功能块(博途SCL代码)-CSDN博客文章浏览阅读16次。点动功能块只有4个约束条件。https://rxxw-control.blog.csdn.net/article/details/139657487 2、梯形速度曲线绝对值定位功能块 梯形速度曲线绝对值定位功能块(博途SCL代码…

设计模式六大原则之:单一职责原则

1. 单一职责简介 设计模式中的单一职责原则&#xff08;‌Single Responsibility Principle, SRP&#xff09;‌是面向对象设计中的一个基本原则&#xff0c;‌它强调一个类应该仅有一个引起它变化的原因。‌换句话说&#xff0c;‌一个类应该负责一组相对独立且紧密相关的职责…

VisionPro二次开发学习笔记13-使用CogToolBlock进行图像交互

该程序演示了如何使用CogToolBlock进行图像交互. 从vpp文件中加载一个ToolBlock。 用户可以通过应用程序窗体上的数字增减控件修改ToolBlock输入端子的值。 用户还可以从coins.idb或采集FIFO中选择图像。 “运行一次”按钮执行以下操作&#xff1a; 获取下一个图像或读取下一…

数学建模学习笔记

数学建模学习笔记 现学现卖&#xff0c;随缘更新QwQ 主要根据b站大师兄的视频整理而成&#xff0c;有不懂的可以去看原视频 List 数学建模学习笔记一、 层次分析法1.1 矩阵的一致性及其检验1.2 权重计算1.3 具体流程 二、模糊综合评测2.1 隶属函数2.2 隶属函数的确定方法2.3 模…

项目管理中的关键节点——里程碑

里程碑作为项目管理过程中的关键节点&#xff0c;它不仅为项目团队提供了清晰的方向和阶段性目标&#xff0c;还确保了项目能够按照既定的路线稳步前进。 里程碑是项目进程中&#xff0c;那些标志着项目阶段完成或关键决策点的重大事件或时间点。与日常任务或活动不同&#x…

图论(强联通分量)

在图论中&#xff0c;特别是在讨论有向图&#xff08;Directed Graph&#xff09;时&#xff0c;我们常常需要了解图的结构特性&#xff0c;比如强联通分量&#xff08;Strongly Connected Components, SCC&#xff09;。了解强联通分量中的各种边对于理解图的整体结构以及某些…

iPhone官方商店软件下载---免费看各种剧第④弹【iOS版包括iPad】

①点击iPhone自带软件App Store ②点击搜索&#xff0c;输入“模数转换器” &#xff0c;点击下载到手机 ③进入软件页面后&#xff0c;我们需要激活页面&#xff0c;点击“setting”&#xff0c;再点击“feedback” ④在反馈界面输入“小饼干”&#xff0c;点击“Summit”&a…

springboot,mysql多数据源-mybaits

为啥要多数据源&#xff0c;因为我现在有个需求&#xff0c;需要将A库的查询结果&#xff0c;写入到B库。 但是原来的springboot里面就只有A库&#xff0c;所以现在要加上B库。 1.修改application.yaml的数据库连接 这个是原来的 现在改成 其实就是将datasource:xxx&#xff…

微型家庭中控STM32+C#上位机_(STM32部分)

今日尝试开发一款简单好学的 C8T6C#_Winform上位机 的微型家庭中控设备的 小试验品&#xff1a; 这个设备将成为我毕设系统的一个小部分...... 主要开发环境与工具介绍&#xff1a; 单片机 STM32F103C8T6 使用标准库函数编程 Visual Studio 2022软件 C# Winform 开发 上位机…

【相机与图像】2. 相机内外参的标定的代码示例

1 摄像头内参的标定 【相机标定具体操作】 使用将要标定的摄像头&#xff0c;以不同的角度采集棋盘格&#xff0c;要保证视野内出现完整的棋盘格。采集图片数量约15张左右即可。 以11*8的棋盘格为例&#xff0c;具体流程如下&#xff1a; step 1. 设置棋盘格3D点&#xff1b;通…

MapReduce_Writable序列化

使用序列化封装对象 将输入的csv按照员工号拆分成每个员工&#xff0c;每个员工存储为员工对象 数据处理过程 employee_noheader.csv 1,ZhangSan,101,5000 2,LiSi,102,6000 3,WangWu,101,5500 4,ZhaoLiu,103,7000 5,SunQi,102,6500pom.xml <?xml version"1.0&qu…