昨天一家名为CognitionAI的公司,发布了首个AI程序员“Devin”。
CognitionAI官网给了很多Devin的实际操作视频实例,主要包括:
- 通过阅读博客,Devin可以学习如何使用不熟悉的技术(如在Modal上运行ControlNet,Modal是一个serverless平台。
- 告诉Devin创建一个个人网站来模拟Game of Life,然后成功将网站部署到Netlify。
- 让Devin在GitHub的特定仓库中针对特定的代码文件生成测试用例,并对其进行测试。
- 给Devin一个GitHub的issue地址,让Devin根据issue内容修复。
- 给Devin一个GitHub的bug报告地址,让Devin根据bug的内容重现bug并修复bug。
- 让Devin接受在线的一个工作请求,内容是用指定的CV模型来解决真实世界的图像识别问题,并给出识别结果报告。
以上所有实例都在官网有录屏。Devin并不是直接可以完美解决所有问题,在这期间也会出现代码运行失败等情况。Devin会自行修复bug重新运行程序。从整个流程看,Devin相比较此前的编程大模型,更像一个完整的“程序员” ,因为他可以自主下载代码、搭建环境、执行代码、修复bug并完成任务。在这其中他也会与你交流,例如在修复bug之后会询问你是否要把修复的代码提交到主仓,进行合并请求。
以下是Devin与其他编程大模型的几个关键区别:
- 任务的自动完成:Devin能够独立完成从项目开始到结束的整个过程,而不仅仅是辅助编码或提供代码片段的建议。这种能力使得它更接近于一个独立工作者而非仅仅是一个助手。
- 自我修复和测试:Devin在执行任务的过程中能够自行发现并修复错误,同时对写出的代码进行测试。这一点超出了大多数现有编程助手的功能范围,它们通常需要人类开发者介入以解决问题和进行测试。
- 自然语言处理能力:虽然大多数编程大模型都支持自然语言输入,但Devin似乎在理解复杂命令和执行多步骤任务方面表现更佳。这表明其自然语言处理能力可能更为高级,能够更好地理解用户的意图。
- 长期任务的执行能力:Devin能够在执行数百甚至数千个任务时保持一致性,不偏离轨道。这与当前的大多数AI系统在处理长期任务时容易失去一致性和专注力的问题形成鲜明对比。
- 理解与推理能力:Cognition AI声称Devin实现了在AI领域被称为“理解”的突破,这意味着系统能够超越预测句子中的下一个单词或代码行的下一个片段,向着更像是思考和合理化其解决问题方式的方向前进。