gpt-pilot——利用AI写代码的开发利器

技术

在全球首位AI软件工程师和人类历史上首位具身智能AI机器人出现后,AI的高速发展已经逐渐在很多方面影响和改变着我们的工作和生活的方式。今天介绍的这款 GPT Pilot 是 Pythagora VS Code 扩展[1] 的核心技术,旨在提供 第一个真正的 AI 开发者伙伴 。 它不仅仅是一个自动补全工具或 PR 消息的助手,而是一个真正的 AI 开发者,可以编写完整的功能、调试它们、与您讨论问题、请求审查等。


📫 如果您想获取未来版本的更新或仅仅是想取得联系,请加入我们的 Discord 服务器[2] 或者在此处添加您的电子邮件[3]。📬


• 🔌 需求[4]

• 🚦如何开始使用 gpt-pilot?[5]

• 🔎 示例[6]

• 🐳 如何在 docker 中启动 gpt-pilot?[7]

• 🧑‍💻️ CLI 参数[8]

• 🏗 GPT Pilot 是如何工作的?[9]

• 🕴GPT Pilot 与 Smol developer 和 GPT engineer 有何不同?[10]

• 🍻 贡献[11]

• 🔗 与我们联系[12]

• 🌟 星星历史[13]


GPT Pilot 的目标是研究大型语言模型(LLMs)在多大程度上可以用于生成完全可工作的、生产就绪的应用程序,同时开发者监督实现过程。

主要思想是 AI 可以为应用程序编写大部分代码(可能是 95%),但对于剩下的 5%,在我们实现完全的通用人工智能(AGI)之前,开发者是并将继续是必需的

如果您对我们在这个项目中的学习感兴趣,您可以查看我们的最新博客文章[14]。


👉 由 GPT Pilot 编写的应用示例 👈[15]

见[16]


🔌 需求

Python 3.9+ [17]

🚦如何开始使用 gpt-pilot?

👉 如果您使用的是 VS Code 作为您的 IDE,最简单的开始方式是下载 GPT Pilot VS Code 扩展[18]。👈 [19]

否则,您可以使用 CLI 工具。

在安装了 Python 和(可选的)PostgreSQL 之后,按照以下步骤操作:

1.`git clone https://github.com/Pythagora-io/gpt-pilot.git

(克隆仓库) 2.cd gpt-pilot3.python -m venv pilot-env(创建虚拟环境) 4.source pilot-env/bin/activate(或在 Windows 上pilot-env\Scripts\activate) (激活虚拟环境) 5.pip install -r requirements.txt(安装依赖项) 6.cd pilot7.mv .env.example .env(或在 Windows 上copy .env.example .env) (创建 .env 文件) 8. 在.env` 文件中添加您的环境变量:

•LLM 提供商 (OpenAI/Azure/Openrouter) •您的 API 密钥 •数据库设置:SQLite/PostgreSQL (要从 SQLite 切换到 PostgreSQL,只需设置 DATABASE_TYPE=postgres) •可选地设置 IGNORE_PATHS 以忽略工作区中不应由 GPT Pilot 跟踪的文件夹,对于编译器创建的文件夹很有用(例如 IGNORE_PATHS=folder1,folder2,folder3)1.python main.py (启动 GPT Pilot)

之后,您可以按照终端中的指示操作。

所有生成的代码将存储在名为您输入的应用名称的文件夹内的 workspace 文件夹中。

🔎 示例[20]

点击此处[21] 查看所有使用 GPT Pilot 创建的示例应用程序。[22]

🐳 如何在 docker 中启动 gpt-pilot?[23]

1.git clone https://github.com/Pythagora-io/gpt-pilot.git (克隆仓库) 2.更新 docker-compose.yml 的环境变量,可以通过 docker compose config 完成。如果您希望使用本地模型,请访问 https://localai.io/basics/getting\_started/。 3.默认情况下,GPT Pilot 会在您的机器上读取和写入 ~/gpt-pilot-workspace,您也可以在 docker-compose.yml 中编辑此设置 4.运行 docker compose build。这将为您构建一个 gpt-pilot 容器。 5.运行 docker compose up。 6.在 port 7681 上访问 Web 终端 7.python main.py (启动 GPT Pilot)

这将启动两个容器,一个是由 Dockerfile 构建的新镜像,另一个是 Postgres 数据库。新镜像还安装了 ttyd[24],以便您可以轻松地与 gpt-pilot 交互。该镜像上还安装了 Node,并且暴露了 3000 端口。

🧑‍💻️ CLI 参数[25]

--get-created-apps-with-steps

[26]

列出所有现有应用。


        
            

          python main.py --get-created-apps-with-steps
        
      

app_id

[27]

使用 app_id 继续处理现有应用


        
            

          python main.py app\_id=<ID\_OF\_THE\_APP>
        
      

step

[28]

从特定的 step (例如:development_planning)继续处理现有应用


        
            

          python main.py app\_id=<ID\_OF\_THE\_APP> step=<STEP\_FROM\_CONST\_COMMON>
        
      

skip_until_dev_step

[29]

从特定的 开发步骤 继续处理现有应用


        
            

          python main.py app\_id=<ID\_OF\_THE\_APP> skip\_until\_dev\_step=<DEV\_STEP>
        
      

从特定的 development step 继续处理现有应用。如果您想尝试 GPT Pilot,这可能是您经常使用的标志。


        
            

          python main.py app\_id=<ID\_OF\_THE\_APP> skip\_until\_dev\_step=0
        
      

擦除之前完成的所有开发步骤,并从开发的开始继续处理现有应用。

theme

[30]


        
            

          python main.py theme=light
        
      

        
            

          python main.py theme=dark
        
      
🏗 GPT Pilot 是如何工作的?[31]

以下是 GPT Pilot 创建应用的步骤:

1.您输入应用名称和描述。 2.产品负责人代理 就像在现实生活中一样,什么都不做。:) 3.规格编写代理 会提出几个问题以更好地理解需求,如果项目描述不够好的话。 4.架构师代理 编写将用于应用的技术,并检查机器上是否安装了所有技术,如果没有,则安装它们。 5.技术领导代理 编写开发人员必须实现的开发任务。 6.开发者代理 接手每个任务,并编写实现它所需的内容。描述是人类可读的形式。 7.代码猴子代理 接手开发者的描述和现有文件,并实施更改。 8.审查者代理 审查任务的每个步骤,如果做错了,审查者会将其退回给代码猴子。 9.故障排除代理 帮助您在出现问题时向 GPT Pilot 提供良好的反馈。 10.调试器代理 看到他时会让人讨厌,但当事情变糟时,他是您最好的朋友。 11.技术写作代理 为项目编写文档。

GPT Pilot与Smol developer和GPT engineer有何不同?[32]

GPT Pilot 与开发者合作创建完全可工作的生产就绪应用 - 我认为 AI(至少在不久的将来)不能在没有开发者参与的情况下创建应用程序。因此,GPT Pilot 逐步编写应用程序 ,就像开发者在现实生活中所做的那样。这样,它可以在整个开发过程中随着问题的出现进行调试。如果遇到困难,您作为负责人的开发者可以审查代码并修复问题。其他类似工具一次性给您整个代码库 - 这样,对于 AI 和您作为开发者来说,修复 bug 就更难了。 •可扩展工作 - GPT Pilot 不是用来创建简单应用的,而是可以在任何规模上工作。它有过滤代码的机制,因此在每次 LLM 对话中,它不需要在上下文中存储整个代码库,而是仅向 LLM 显示当前任务所涉及的相关代码。一旦应用完成,您可以通过编写指示添加您想要的功能来继续在其上工作。

🍻 贡献 [33]

如果您有兴趣为 GPT Pilot 做出贡献,我将非常高兴有您加入,并且也会帮助您开始。随时联系 zvonimir@pythagora.ai[34],我将帮助您开始。

🖥 开发 [35]

除了研究之外,GPT Pilot 还需要在不同的场景中进行调试。例如,我们意识到生成的代码质量对于开发任务的大小非常敏感。当任务太广泛时,代码存在太多难以修复的错误,但当开发任务太狭窄时,GPT 似乎也难以将任务实现到现有代码中。

📊 遥测

[36]

为了改进 GPT Pilot,我们正在跟踪一些事件,您可以随时选择退出。您可以在 此处[37] 阅读更多相关信息。

🔗 与我们联系

[38]

🌟 作为一个开源工具,如果您能为 GPT-pilot 仓库点亮星标,对我们来说意义重大 🌟

💬 加入 Discord 服务器[39] 以取得联系。

最后

本文由山行翻译整理自:https://github.com/Pythagora-io/gpt-pilot,如果对您有帮助,请帮忙点赞、关注、收藏,谢谢~

References

[1] Pythagora VS Code 扩展: https://bit.ly/3IeZxp6
[2] Discord 服务器: https://discord.gg/HaqXugmxr9
[3] 在此处添加您的电子邮件: http://eepurl.com/iD6Mpo
[4] 🔌 需求: https://github.com/Pythagora-io/gpt-pilot#-requirements
[5] 🚦如何开始使用 gpt-pilot?: https://github.com/Pythagora-io/gpt-pilot#how-to-start-using-gpt-pilot
[6] 🔎 示例: https://github.com/Pythagora-io/gpt-pilot#-examples
[7] 🐳 如何在 docker 中启动 gpt-pilot?: https://github.com/Pythagora-io/gpt-pilot#-how-to-start-gpt-pilot-in-docker
[8] 🧑‍💻️ CLI 参数: https://github.com/Pythagora-io/gpt-pilot#-cli-arguments
[9] 🏗 GPT Pilot 是如何工作的?: https://github.com/Pythagora-io/gpt-pilot#-how-gpt-pilot-works
[10] 🕴GPT Pilot 与

Smol developer

GPT engineer

有何不同?: https://github.com/Pythagora-io/gpt-pilot#hows-gpt-pilot-different-from-smol-developer-and-gpt-engineer

[11] 🍻 贡献: https://github.com/Pythagora-io/gpt-pilot#-contributing

[12] 🔗 与我们联系: https://github.com/Pythagora-io/gpt-pilot#-connect-with-us

[13] 🌟 星星历史: https://github.com/Pythagora-io/gpt-pilot#-star-history

[14] 我们的最新博客文章: https://blog.pythagora.ai/2024/02/19/gpt-pilot-what-did-we-learn-in-6-months-of-working-on-a-codegen-pair-programmer/

[15] 👉 由 GPT Pilot 编写的应用示例 👈: https://github.com/Pythagora-io/gpt-pilot/wiki/Apps-created-with-GPT-Pilot

[16] : https://github.com/Pythagora-io/gpt-pilot#-examples-of-apps-written-by-gpt-pilot-

[17] : https://github.com/Pythagora-io/gpt-pilot#-requirements

[18] GPT Pilot VS Code 扩展: https://bit.ly/3IeZxp6

[19] : https://github.com/Pythagora-io/gpt-pilot#how-to-start-using-gpt-pilot

[20] 示例: https://github.com/Pythagora-io/gpt-pilot/wiki/Apps-created-with-GPT-Pilot

[21] 点击此处: https://github.com/Pythagora-io/gpt-pilot/wiki/Apps-created-with-GPT-Pilot

[22] : https://github.com/Pythagora-io/gpt-pilot#-examples

[23] : https://github.com/Pythagora-io/gpt-pilot#-how-to-start-gpt-pilot-in-docker

[24] ttyd: https://github.com/tsl0922/ttyd

[25] : https://github.com/Pythagora-io/gpt-pilot#%EF%B8%8F-cli-arguments

[26] : https://github.com/Pythagora-io/gpt-pilot#--get-created-apps-with-steps

[27] : https://github.com/Pythagora-io/gpt-pilot#app\_id

[28] : https://github.com/Pythagora-io/gpt-pilot#step

[29] : https://github.com/Pythagora-io/gpt-pilot#skip\_until\_dev\_step

[30] : https://github.com/Pythagora-io/gpt-pilot#theme

[31] : https://github.com/Pythagora-io/gpt-pilot#-how-gpt-pilot-works

[32] : https://github.com/Pythagora-io/gpt-pilot#hows-gpt-pilot-different-from-smol-developer-and-gpt-engineer

[33] : https://github.com/Pythagora-io/gpt-pilot#-contributing

[34] zvonimir@pythagora.ai: mailto:zvonimir@pythagora.ai

[35] : https://github.com/Pythagora-io/gpt-pilot#-development

[36] : https://github.com/Pythagora-io/gpt-pilot#-telemetry

[37] 此处: https://github.com/Pythagora-io/gpt-pilot/blob/main/docs/TELEMETRY.md

[38] : https://github.com/Pythagora-io/gpt-pilot#-connect-with-us

[39] Discord 服务器: https://discord.gg/HaqXugmxr9

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动云原生降本增效实践
本次分享主要介绍字节跳动如何利用云原生技术不断提升资源利用效率,降低基础设施成本;并重点分享字节跳动云原生团队在构建超大规模云原生系统过程中遇到的问题和相关解决方案,以及过程中回馈社区和客户的一系列开源项目和产品。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论