Devin AI程序员是如何设计出来的

背景

Devin是一个能够执行复杂工程任务并与用户在软件开发项目上积极合作的自主人工智能软件工程师,它擅长planning、tool use、reflecting,碾压大部分初级开发。

设计思路

一、界面设计

先来看 Devin 的界面,左边是对话框,记录了用户的提问和 Devin 的思考过程,右侧是 Devin 的工作空间,包含 Shell、Browser、Editor、Planner。

image.png

二、任务规划

最大的亮点是 Planner,支持宏任务和微任务。Current Focus 记录了 Devin 正在执行中的宏任务,Macro Plan 是 Devin 记录的宏任务,Micro Plan 是 Devin 基于当前宏任务分解的多个微任务。和 JavaScript 一样,只有微任务执行完,才会执行下一个宏任务,微任务的优先级高于宏任务,可以确保一些重要的操作能够快速响应。当然 Devin也会根据情况调整任务规划,保证任务顺利完成,如下图所示。

image.png

比如我们让 AI 规划一个系统开发的计划,提示词可以这样写:


## 背景
我要做一个不规则 excel 填报系统项目,请先帮我把这个项目分解成不同的宏任务,把第一个宏任务记为当前任务,并对当前任务根据情况分解为一个或多个微任务。## 输出要求
宏任务和微任务都用一句话表示,不要有子任务,输出时按照示例中的格式,不要有多余的内容。## 输出示例宏任务:
1. 洗菜
2. 切菜
3. 炒菜当前任务:
洗菜微任务:
1. 洗萝卜
2. 洗青菜
3. 洗黄瓜

结果如下,我们可以将其存储到数据库,方便AI记录和查询。

image.png

三、工具使用

Devin 能够使用的工具就是 Shell、Browser和Editor,Shell 用于配置开发环境,执行代码,观察执行结果,Browser 用于浏览文档,Editor用于编辑代码。

下图就是 Devin 通过Shell配置开发环境的过程。

image.png

实际上,我们可以让大模型使用各种各样的工具来提高任务的完成率,如下图所示。

image.png

四、反思调整

我们开发时经常遇到的报错,AI 同样也要面对。AI 通过观察反思,对代码进行修改测试,如下图所示。

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于51单片机ESP8266wifi控制机器人—送餐、快递

基于51单片机wifi控制机器人 (程序+原理图+PCB+设计报告) ​功能介绍 具体功能: 1.L298N驱动电机,机器人行走; 2.装备红外线感应检测到周围环境,进行行程判断&#xf…

Python Dash库:一个Web应用只需几行代码

大家好,在数据科学领域,数据可视化是将数据以图形化形式展示出来,帮助我们更直观地理解数据。Python中有一个非常流行的数据可视化库叫做Dash,Dash以其简洁、高效和强大的功能而闻名,它允许开发者快速构建交互式Web应用…

Markdown 精简教程(胎教级教程)

文章目录 一、关于 Markdown1. 什么是 Markdown?2. 为什么要用 Markdown?3. 怎么用 Markdown?(编辑软件) 二、标题1. 常用标题写法2. 可选标题写法3. 自定义标题 ID4. 注意事项 三、段落四、换行五、字体选项1. 粗体2.…

Map集合的实现类~HashMap

存储结构:哈希表 键重复依据是hashCode和equals方法(键不能重复) 添加: 先创建Student类,那么往HashSet添加的就是Student对象作为键值,后面的作为值 删除: 判断: 遍历&#xff1a…

第五节 内联框架强化练习

建立左右常用框架结构说明 1、添加动态面板如下: 2、添加树元件 3、添加树节点(右键->添加子节点 右键->点添加节点) 4、添加交互页面 5、添加单击交互跳转事件到内联框架中(注意当前内联框架与当前面板要处在同级目录) 6、添加交互跳…

深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构

大家好,我是微学AI,今天给大家介绍一下深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构。YOLOv5(You Only Look Once version 5)是一种先进的目标检测算法,基于深度学习的单阶段目标检测模型。它的主要原理是通过一次前向传播就同时预测图像…

Springboot项目学习之各组件的用法和逻辑结构

1.Controller层(Controller): 也称为前端控制器或请求处理器,它是项目与用户交互的入口。Controller接收HTTP请求,解析请求参数,调用Service层处理业务逻辑,并返回响应给客户端。 Controller通…

页面嵌套,界面套娃,除了用iframe,还有其他方式吗?

UIOTOS可以了解下,uiotos.net,通过连线来代替脚本逻辑开发,复杂的交互界面,通过页面嵌套轻松解决,是个很新颖的思路,前端零代码! 蓝图连线尤其是独创的页面嵌套和属性继承技术,好家…

京东工业优选商品详情API接口:解锁高效工业采购新体验

京东工业优选的商品详情API接口,允许开发者通过程序化的方式,快速获取平台上的商品详细信息。这些详细信息包括但不限于商品名称、价格、规格、库存、图片、评价等,为企业提供全方位的商品信息查询服务。 二、API接口的主要功能 实时查询&a…

优雅的实现接口统一调用!

有些时候我们在进行接口调用的时候,比如说一个 push 推送接口,有可能会涉及到不同渠道的推送。 比如做结算后端服务的,会与金蝶财务系统进行交互,那么我结算后端会涉及到多个结算单类型,如果每一个种类型的结算单都去…

CSDN我的创作纪念日128天||不忘初心|努力上进|勇往直前

机缘 Hello,大家好,我是景天,其实很早之前我就加入到了CSND的大军,彼时我还是个刚毕业的小白白,时常过来CSND汲取养料,就这样,慢慢的来提升自己,强大自己。工作锻炼了我&#xff0c…

纯血鸿蒙APP实战开发——底部面板嵌套列表滑动案例

介绍 本示例主要介绍了利用panel实现底部面板内嵌套列表,分阶段滑动效果场景。 效果图预览 使用说明 点击底部“展开”,弹出panel面板。在panel半展开时,手指向上滑动panel高度充满页面,手指向下滑动panel隐藏。在panel完全展开…