你可以指定要构建的应用类型。然后,GPT Pilot 提出澄清问题,创建产品和技术要求,设置环境,并像在现实生活中一样逐步开始对应用程序进行编码,同时你监督开发过程。它要求你查看它完成的每项任务,或者在遇到困难时提供帮助。这样,GPT Pilot 就充当编码员,而你是审查代码并在需要时提供帮助的首席开发人员。
GPT Pilot 是 VS Code 扩展的核心技术,旨在提供第一个真正的 AI 开发人员伴侣。不仅仅是一个自动完成或公关消息的助手,而是一个真正的人工智能开发人员,可以编写完整的功能,调试它们,与你讨论问题,要求审查等。
📫 如果你想获得有关未来版本的更新或只是取得联系,你可以在此处添加你的电子邮件。📬
GPT Pilot 旨在研究在开发人员监督实施的同时,可以利用多少 GPT-4 来生成完全正常工作的生产就绪应用程序。
主要思想是,人工智能可以为应用程序编写大部分代码(可能是95%),但对于其余的5%,在我们获得完整的AGI之前,现在和将来都需要开发人员。
我在以下博客文章中分解了 GPT Pilot 背后的想法及其工作原理:
[第 1/3 部分]高级概念 + GPT Pilot 工作流程,直到编码部分
[第 3/3 部分]其他重要概念和未来计划(即将到来)
https://github.com/Pythagora-io/gpt-pilot/assets/10895136/0495631b-511e-451b-93d5-8a42acf22d3d
👉 如果你使用 VS Code 作为 IDE,最简单的开始方法是下载 GPT Pilot VS Code 扩展。👈
否则,你可以使用 CLI 工具。
安装 Python 和(可选)PostgreSQL 后,请执行以下步骤:
git clone https://github.com/Pythagora-io/gpt-pilot.git(克隆存储库)
cd gpt-pilot
python -m venv pilot-env(创建虚拟环境)
source pilot-env/bin/activate(或在 Windows 上)(激活虚拟环境)
pilot-env\Scripts\activate
pip install -r requirements.txt(安装依赖项)
cd pilot
mv .env.example .env(或在 Windows 上)(创建 .env 文件)
copy .env.example .env
.env
DATABASE_TYPE=postgres)
IGNORE_FOLDERS=folder1,folder2,folder3)
python db_init.py(初始化数据库)
python main.py(启动 GPT Pilot)
之后,你只需按照终端中的说明进行操作即可。
所有生成的代码都将存储在文件夹内的文件夹中,该文件夹以你在启动试点时输入的应用名称命名。
workspace
git clone https://github.com/Pythagora-io/gpt-pilot.git(克隆存储库)
docker-compose.yml
docker compose config
~/gpt-pilot-workspace
docker-compose.yml
docker compose build
docker compose up
port 7681
python db_init.py(初始化数据库)
python main.py(启动 GPT Pilot)
这将启动两个容器,一个是由 构建的新映像,另一个是 Postgres 数据库。新映像还安装了 ttyd,以便你可以轻松地与 gpt-pilot 进行交互。节点也安装在映像上,并且端口 3000 公开。
Dockerfile
app_type和
name
如果未提供,ProductOwner 将要求提供以下值:
app_type用作对 LLM 的提示,说明将适用什么样的架构、语言选项和约定。如果没有提供,将要求它。
prompts.prompts.ask_for_app_type()
请参阅:“Web 应用程序”、“脚本”、“移动应用程序”、“Chrome 扩展程序”
const.common.APP_TYPES
app_id和
workspace
继续使用 app_id
处理现有应用
python main.py app_id=<ID_OF_THE_APP>
或工作区
路径:
python main.py workspace=<PATH_TO_PROJECT_WORKSPACE>
每个用户都可以为每个应用程序拥有自己的工作区路径。
user_id和
password
这些值将保存到数据库的 User 表中。
python main.py user_id=me_at_work
如果未指定,则默认为 OS 用户名,但如果 OS 用户名与 GitHub 或工作用户名不同,则可以显式提供。此值用于在提供 arg 时加载配置。
user_id
App
workspace
如果未指定,则从文件存在时进行解析。
~/.gitconfig
参见 arguments.password / User.password 的目的是什么?
advanced
默认情况下,架构师支持某些技术,包括:
如果你有自己的偏好,可以与架构师进行更深入的对话。
python main.py advanced=True
step
从特定步骤
继续处理现有应用(例如:
user_tasks)
python main.py app_id=<ID_OF_THE_APP> step=<STEP_FROM_CONST_COMMON>
skip_until_dev_step
从特定开发步骤继续处理现有应用
python main.py app_id=<ID_OF_THE_APP> skip_until_dev_step=<DEV_STEP>
这与开发过程中基本相同,但在开发过程中。如果你想玩 gpt-pilot,这可能是你经常使用的标志。
step
擦除之前完成的所有开发步骤,并从开发开始继续处理现有应用程序。
python main.py app_id=<ID_OF_THE_APP> skip_until_dev_step=0
theme
python main.py theme=light
python main.py theme=dark
delete_unrelated_steps
update_files_before_start
以下是 GPT Pilot 自行创建的几个示例应用程序:
A simple chat app with real-time communication
Build a simple markdown editor using HTML, CSS, and JavaScript. Allow users to input markdown text and display the formatted output in real-time.
Create a simple timer app using HTML, CSS, and JavaScript that allows users to set a countdown timer and receive an alert when the time is up.
以下是 GPT Pilot 创建应用的步骤:
有关 GPT Pilot 雇用的代理人角色的更多详细信息,请查看 AGENTS.md
如果你有兴趣为 GPT Pilot 做出贡献,我非常乐意让你加入并帮助你入门。请随时 ping zvonimir@pythagora.ai,我将帮助你入门。
由于这是一个研究项目,因此在实践和理论层面上都需要研究许多领域。我们很高兴听到如何改进整个 GPT Pilot 概念。例如,如果我们以不同的方式构建功能需求,或者可能需要以不同的方式指定技术需求,也许效果会更好。
除了研究之外,GPT Pilot 还需要调试才能在不同的场景中工作。例如,我们意识到生成的代码的质量对开发任务的大小非常敏感。当任务太宽时,代码有太多难以修复的错误,但当开发任务太窄时,GPT 似乎也很难将任务实现到现有代码中。
为了改进 GPT Pilot,我们正在跟踪一些事件,你可以随时选择退出。你可以在这里阅读更多关于它的信息。
🌟 作为一个开源工具,如果你给 GPT-pilot repo 🌟 加星标,它对我们来说意味着世界
💬 加入 Discord 服务器以取得联系。