社区所有版块导航
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

开发速率飙升20倍!GPT Pilot明星项目登Github热榜,从0开始构建AI

新智元 • 4 月前 • 80 次点击  



  新智元报道  

编辑:桃子 
【新智元导读】开发者的效率倍增工具来了。AI开发者伴侣GPT Pilot可以让95%的开发者实现自动编码。

又一个明星项目诞生了!

GPT Pilot,一个AI开发者伴侣,可以从0开始构建应用程序,可以自己编写代码、配置开发环境、管理开发任务、调试代码。

甚至,你可以随时和它聊天提问,帮你解决开发难题。

项目地址:https://github.com/Pythagora-io/gpt-pilot

发布三个月,Github的热度不断增加,现在已经有19k星。

代码开发,95%交给AI


在项目主页的介绍中,GPT Pilot的目的是研究在开发人员监督实施的同时,GPT-4 可在多大程度上用于生成可完全正常运行、可投入生产的应用程序。

主要的想法是,人工智能可以为应用程序编写大部分代码(可能是95%),但对于其余的5%,在我们获得完整的AGI之前,现在和将来都需要开发人员。

那么它是具体如何工作的呢?开发者在一篇文章中具体介绍GPT Pilot工作流程。

GPT Pilot工作流程

首先,你需要输入想要构建的应用程序的描述。

然后,GPT Pilot与GPT-4合作,明确应用程序的要求,最后编写代码。它使用许多人工智能智能体,模仿开发机构的工作流程。

- 在您描述完应用程序后,「产品负责人」智能体会分解业务规格,并向你提问,以澄清任何不清楚的地方。

- 然后,「软件架构师」智能体分解技术要求,并列出将用于构建应用程序的技术。

- DevOps智能体根据体系结构在机器上配置环境。

- 「技术团队首席」智能体将应用程序开发流程分解为开发任务,每个任务需要具备:

最后,开发人员和Code Monkey智能体一个接一个地处理任务,开始编写应用程序。
开发人员将每个任务分解为较小的步骤,这些步骤是较低级别的技术要求,可能不需要人工审查或使用自动测试(如安装一些程序包)。

GPT Pilot三大支柱


支柱1:开发人员需要参与应用程序的创建过程
当前,我们离可以连接到CLI,并自行创建任何应用程序的LLM还很遥远。
因此,为了让AI生成一个完全正常工作的应用程序,我们需要允许它与负责监督开发过程的开发人员密切合作,并在AI编写大部分代码的同时担任技术团队负责人。
因此,开发人员需要能够随时更改代码,而GPT Pilot需要继续处理这些更改。
以下是开发人员可以干预开发过程的领域:
在每个开发任务完成后,开发人员应该检查它并确保它按预期工作。
在每次失败的测试或命令运行之后-开发人员可能更容易调试一些东西。
支柱2:应用程序需要一步一步地进行编码
和人类一样,AI编码肯定会犯错误,所以为了让它更容易地进行调试,并让开发人员了解生成的代码中发生了什么,AI不应该只是一次吐出整个代码库。
相反,应用程序应该像开发人员一样一步一步地生成和调试。
如果GPT Pilot一步一步地创建一款应用程序,人工智能和监督它的开发人员都将能够更容易地解决问题,整个开发过程也将更加顺利。
支柱3:GPT Pilot需要具有可扩展性
GPT Pilot必须能够创建可投入生产的大型应用程序,而不仅仅是小型应用程序,在小型应用程序中,整个代码库都可以融入LLM环境。
问题是,LLM 的所有学习都是在上下文中完成的。也许有一天,LLM可以针对每个具体项目进行微调,但现在看来,这将是一个非常缓慢和冗余的过程。
GPT Pilot解决这个问题的方式是使用上下文回溯(context rewinding)、递归对话和TDD。
上下文回溯
上下文回溯背后的想法相对简单,对于解决每个开发任务,给LLM发送的第一条消息的上下文大小必须相对相同。
例如,在实现开发任务#5时,大模型的第一条信息上下文大小必须与开发任务#50 时的第一条信息大致相同。
因此,在执行每项任务时,对话都需要回溯到第一条信息。
从本质上讲,当GPT Pilot创建代码时,它会为编写的每个代码块生成伪代码,并为它需要创建的每个文件和文件夹创建描述。
递归对话

递归对话是与LLM的对话,如果GPT Pilot检测到一个错误,它需要对其进行调试,但假设在调试过程中发生了另一个错误。
然后,GPT Pilot需要停止调试第一个问题,修复第二个问题,然后重新开始修复第一个问题。
开发者认为,这是一个关键的概念,需要努力让人工智能构建大型且可扩展的应用程序。它的工作原理是回溯上下文,并分别解释递归中的每个错误。
一旦修复了最深层的错误,我们就在递归中向上移动,并继续修复错误,直到整个递归完成。
TDD(测试驱动开发)

GPT Pilot要扩展代码库、改进代码库、更改需求和添加新功能,它需要能够在不破坏以前编写的代码的情况下创建新代码。
没有比使用TDD方法更好的方法了。
对于GPT Pilot编写的所有代码,它需要编写检查代码是否按预期工作的测试,以便无论何时进行新的更改,都可以运行所有回归测试,以检查是否有任何故障。
参考资料:
https://github.com/Pythagora-io/gpt-pilot



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