社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

新增AI Agent,GitHub Copilot重大更新,超强自动化编程

AIGC开放社区 • 4 月前 • 167 次点击  

专注AIGC领域的专业社区,关注微软&OpenAI、百度文心一言、讯飞星火等大语言模型(LLM)的发展和应用落地,聚焦LLM的市场研究和AIGC开发者生态,欢迎关注!

全球最大开源平台之一GitHub在官网宣布,对AI编程助手Copilot进行了重磅更新,增加AI Agent模式,可以自动迭代代码,识别并修复BUG。

GitHub同时还发布了另一个Agent—Project Padawan的预览版,主要协助开发人员自动执行一些重复、繁琐的开发流程,例如,设置开发环境、运行测试、合并代码等。

此外,GitHub在去年10月推出的Copilot Edits功能现在可以使用了,其内联聊天功能非常强大可高效管理开发文件,Copilot的回复也会直接显示在代码编辑器中,而不是单独的聊天窗口中,极大提升开发和调试效率。

GitHub Copilot的Agent模式

在传统的代码编辑器中,开发者通常需要手动编写代码、调试、修复错误,来逐步完善功能。有的时候这些过程都是固定、枯燥的流程非常耗费时间。

所以,GitHub Copilot通过引入Agent模式来解决这一难点。在Agent模式下,Copilot能够自动识别代码中的问题,并提出解决方案,甚至可以直接修改代码以解决问题。

例如,当开发者要求Copilot构建一个简单的Web应用程序时,Agent模式下的Copilot不仅仅会生成初始代码,还会自动检查代码的逻辑是否正确、是否存在潜在的漏洞,甚至会根据最佳实践对代码进行重构。整个过程是动态的,Agent会根据代码的实际运行情况,不断调整和优化代码,直到满足开发者的需求。

国外科技博主解读Agent模式

此外,Agent还具备代码预测功能,不仅能解决开发者的实际问题,还能根据需求自动进行下一步功能。仍以上面的案例为主,当开发者要求Copilot为一个Web应用程序添加用户登录功能时,Agent不仅会生成登录页面的代码,还会自动推断出需要创建一个用户数据库、设计用户验证逻辑以及处理用户会话管理等任务。

Copilot会根据这些推断出的任务,逐步生成相应的代码,并确保这些代码之间的逻辑连贯有效。

Project Padawan

为了进一步提升开发效率,GitHub还发布了一个预览版的Agent——Project Padawan。

Padawan的最大技术特点就是自主性很强,能够自动完成从代码生成到代码审查的整个流程。例如,当你让Padawan为电子商务网站的购物车功能,添加错误处理模块。

Padawan会自动启动一个安全的云沙箱,克隆仓库,设置开发环境,并开始分析代码库。然后,根据任务的需求,编辑必要的文件,生成代码,并进行构建、测试和代码检查。

还会为新功能生成相应的单元测试代码,并确保这些测试通过。最后,Padawan还会创建一个拉取请求将代码提交给开发者进行审查。

有时候在开发支付等敏感模块时,开发人员肯定不想让AI自动来处理,这时候就可以启动“人机协作开发模式”,可以全程指导Padawan来完成开发,还可以随时接手。

Copilot Edits

当我们开发一个复杂的项目时,会有大量的文件组成,并且这些文件之间存在复杂的依赖关系。传统的开发模式,就是在不同的文件之间来回切换,就算老手切换几十个文件时难免也会出现遗漏和错误。

现在借助Copilot Edits,开发者可以在一个统一的界面中,同时查看和修改多个文件中的代码。开发者可以通过自然语言指令需要修改的文件范围,然后让Copilot Edits根据指令进行修改。这些修改会直接反映在代码编辑器中,开发者可以实时查看修改的效果,并根据需要进行调整。

例如,可以指定一个项目中的所有Python文件,并要求Copilot Edits将所有的print语句替换为日志记录函数。Copilot Edits会立即扫描所有指定的文件,并在每个文件中进行相应的修改。

Copilot Edits的跨文件内联修改功能不仅支持简单的文本替换,还能够处理复杂的代码逻辑修改。

例如,开发者可以要求Copilot Edits在所有文件中查找并修复某个已知的安全漏洞,Copilot Edits会根据漏洞的特征,在代码中找到相关的位置,并进行修复。

这个功能对于超大型开发项目来说非常有用,再也不怕眼花缭乱的文件夹啦~

本文素材来源GitHub,如有侵权请联系删除

END

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/178844
 
167 次点击