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

GPT Pilot工作流程

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

  • 在您描述完应用程序后,「产品负责人」智能体会分解业务规格,并向你提问,以澄清任何不清楚的地方。
  • 然后,「软件架构师」智能体分解技术要求,并列出将用于构建应用程序的技术。
  • DevOps智能体根据体系结构在机器上配置环境。
  • 「技术团队首席」智能体将应用程序开发流程分解为开发任务,每个任务需要具备:

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

GPT Pilot三大支柱

支柱1:开发人员需要参与应用程序的创建过程
当前,我们离可以连接到CLI,并自行创建任何应用程序的LLM还很遥远。因此,为了让AI生成一个完全正常工作的应用程序,我们需要允许它与负责监督开发过程的开发人员密切合作,并在AI编写大部分代码的同时担任技术团队负责人。因此,开发人员需要能够随时更改代码,而GPT Pilot需要继续处理这些更改。以下是开发人员可以干预开发过程的领域:在每个开发任务完成后,开发人员应该检查它并确保它按预期工作。在每次失败的测试或命令运行之后-开发人员可能更容易调试一些东西。

支柱2:应用程序需要一步一步地进行编码
和人类一样,AI编码肯定会犯错误,所以为了让它更容易地进行调试,并让开发人员了解生成的代码中发生了什么,AI不应该只是一次吐出整个代码库。相反,应用程序应该像开发人员一样一步一步地生成和调试。如果GPT Pilot一步一步地创建一款应用程序,人工智能和监督它的开发人员都将能够更容易地解决问题,整个开发过程也将更加顺利。
04215501-2024-01-04T13:55:26.png
支柱3:GPT Pilot需要具有可扩展性
GPT Pilot必须能够创建可投入生产的大型应用程序,而不仅仅是小型应用程序,在小型应用程序中,整个代码库都可以融入LLM环境。问题是,LLM 的所有学习都是在上下文中完成的。也许有一天,LLM可以针对每个具体项目进行微调,但现在看来,这将是一个非常缓慢和冗余的过程。GPT Pilot解决这个问题的方式是使用上下文回溯(context rewinding)、递归对话和TDD。

上下文回溯
上下文回溯背后的想法相对简单,对于解决每个开发任务,给LLM发送的第一条消息的上下文大小必须相对相同。例如,在实现开发任务#5时,大模型的第一条信息上下文大小必须与开发任务#50 时的第一条信息大致相同。因此,在执行每项任务时,对话都需要回溯到第一条信息。从本质上讲,当GPT Pilot创建代码时,它会为编写的每个代码块生成伪代码,并为它需要创建的每个文件和文件夹创建描述。

源码:
https://github.com/Pythagora-io/gpt-pilot