基於自然語言的 AI 代碼生成命令行工具,讓 AI 自動編寫和執行代碼

MITPythongpt-engineerAntonOsika 54.9k Last Updated: May 14, 2025

GPT Engineer 項目詳細介紹

項目概述

GPT Engineer 是由 Anton Osika 開發的一個開創性的 AI 代碼生成實驗平台。該項目被稱為 "The OG code generation experimentation platform",是現代 AI 輔助編程工具的先驅者之一。

項目地址: https://github.com/AntonOsika/gpt-engineer

核心功能

GPT Engineer 讓您能夠:

  • 自然語言編程: 用自然語言描述軟體需求
  • 自動代碼生成: AI 自動編寫和執行代碼
  • 迭代改進: 要求 AI 實現改進和優化
  • 多模態支持: 支持文本和圖像輸入(適用於支持視覺的模型)

安裝方式

穩定版本安裝

python -m pip install gpt-engineer

開發版本安裝

git clone https://github.com/gpt-engineer-org/gpt-engineer.git
cd gpt-engineer
poetry install
poetry shell

系統要求

  • Python 版本: 積極支持 Python 3.10 - 3.12
  • 歷史兼容: Python 3.8 - 3.9 的最後支持版本為 0.2.6
  • 操作系統: 支持 Linux、macOS、Windows(有專門的 Windows 使用說明)

配置設置

API 密鑰配置

選擇以下方式之一:

環境變量方式:

export OPENAI_API_KEY=[your api key]

配置文件方式:

  • 複製 .env.template 文件並重命名為 .env
  • .env 文件中添加您的 OPENAI_API_KEY

自定義模型

支持本地模型、Azure 等多種模型,詳見項目文檔。

使用方法

創建新項目

  1. 在計算機上創建一個空文件夾

  2. 在文件夾內創建名為 prompt 的文件(無擴展名)

  3. 在文件中填寫項目指令

  4. 運行命令:

    gpte <project_dir>
    

    示例:

    gpte projects/my-new-project
    

改进现有代码

  1. 找到包含要改進代碼的文件夾

  2. 在文件夾內創建 prompt 文件,填寫改進指令

  3. 運行命令:

    gpte <project_dir> -i
    

    示例:

    gpte projects/my-old-project -i
    

多模態輸入(圖像支持)

對於支持視覺的模型,可以添加圖像作為上下文:

gpte projects/example-vision gpt-4-vision-preview --prompt_file prompt/text --image_directory prompt/images -i

高級功能

自定義預提示(Custom Preprompts)

可以通過覆蓋 preprompts 文件夾來指定 AI 代理的 "身份":

--use-custom-preprompts

編輯預提示是讓代理在項目間記住內容的方式。

基准測試功能

GPT Engineer 安裝了 bench 二進制文件,提供簡單的基準測試界面:

  • 支持對流行公共數據集進行基準測試
  • 提供模板倉庫
  • 目前支持的基準測試工具

Docker 支持

提供 Docker 運行方式,詳見項目中的 Docker 說明文檔。

支持的模型

  • OpenAI 模型: 通過 OpenAI API 或 Azure OpenAI API
  • Anthropic 模型: 支持 Claude 系列
  • 開源模型: 如 WizardCoder 等(需要額外設置)

商業化產品

gptengineer.app

這是一個商業項目,專門用於自動生成 Web 應用:

  • 為非技術用戶提供 UI 界面
  • 連接到 git 控制的代碼庫
  • 團隊積極支持開源社區

項目演進

該項目是現代 AI 編程工具的先驅,為後續的發展奠定了基礎。目前推薦的演進版本包括:

  • 託管服務: gptengineer.app
  • 維護良好的 CLI: aider

使用條款

運行 gpt-engineer 即表示同意項目的使用條款

總結

GPT Engineer 是一個具有開創性意義的 AI 代碼生成工具,它將自然語言與代碼生成完美結合,為開發者提供了全新的編程體驗。無論是初學者還是資深開發者,都能通過這個工具提高開發效率,探索 AI 輔助編程的無限可能。

Star History Chart