OpenAI 的 Codex 是基于 GPT-4 的代码生成模型,能写代码、改代码、解释代码,是程序员的必备工具。

这篇教程从零教你使用 Codex,包括 API 调用、VS Code 插件、GitHub Copilot 等,让你快速掌握代码生成能力。

Codex 是什么?

Codex vs GPT-4

特性 GPT-4 Codex
通用能力 ✅ ✅
代码生成 ✅ ✅✅✅
代码调试 ✅ ✅
代码解释 ✅ ✅
成本 较高 较低
速度 慢 快

简单理解:

  • GPT-4 是「全能选手」
  • Codex 是「代码专项选手」,写代码更快、更准

Codex 的特点

  1. 多语言支持

    • Python, JavaScript, TypeScript, Java, C++, Go, Rust, PHP, Ruby, Swift 等 30+ 语言
  2. 代码理解

    • 读代码 → 解释逻辑
    • 找 bug → 提供修复方案
    • 重构代码 → 提升性能
  3. 自动补全

    • IDE 插件实时补全
    • 上下文感知
    • 智能建议

使用方式概览

┌─────────────────────────────────────────────────────────────┐
│                    Codex 使用方式                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │
│   │   API 调用  │───▶│  VS Code   │───▶│  GitHub     │  │
│   │   程序化    │    │  插件       │    │  Copilot    │  │
│   └─────────────┘    └─────────────┘    └─────────────┘  │
│         │                  │                  │           │
│         └──────────────────┴──────────────────┘           │
│                          ↓                                │
│                   OpenAI Platform                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

方式一:OpenAI Platform API

1. 注册并获取 API Key

  1. 访问 https://platform.openai.com
  2. 使用 Google / Microsoft / Email 注册
  3. 进入 API Keys 页面 → Create new secret key
  4. 复制 Key(格式:sk-...)

2. 选择 Codex 模型

模型 说明 适用场景
code-davinci-002 旧版 Codex 不推荐
code-cushman-001 旧版 不推荐
gpt-3.5-turbo-instruct Codex 风格 代码任务
gpt-4-turbo GPT-4 最强代码能力

推荐使用 gpt-4-turbo,它是目前最强的代码模型。

3. Python API 调用示例

import openai

# 初始化
openai.api_key = "你的 API Key"

# 代码生成
response = openai.ChatCompletion.create(
    model="gpt-4-turbo",
    messages=[
        {
            "role": "system",
            "content": "你是一位专业的 Python 开发者"
        },
        {
            "role": "user",
            "content": """写一个快速排序算法
            要求:
            1. 使用递归实现
            2. 包含类型注解
            3. 添加 Docstring"""
        }
    ]
)

print(response.choices[0].message.content)

4. 代码解释示例

response = openai.ChatCompletion.create(
    model="gpt-4-turbo",
    messages=[
        {
            "role": "user",
            "content": """请解释这段代码的功能:
            def fib(n):
                if n <= 1: return n
                return fib(n-1) + fib(n-2)
            """
        }
    ]
)

5. 代码调试示例

response = openai.ChatCompletion.create(
    model="gpt-4-turbo",
    messages=[
        {
            "role": "system",
            "content": """你是一位代码调试专家。
            遇到错误时,请:
            1. 指出问题所在
            2. 提供修复代码
            3. 解释为什么这样修复"""
        },
        {
            "role": "user",
            "content": """这段代码有 bug:
            def sum_list(lst):
                total = 0
                for i in range(len(lst)):
                    total += lst[i]
                return total
            报错:IndexError: list index out of range"""
        }
    ]
)

方式二:GitHub Copilot(推荐)

GitHub Copilot 是最流行的代码助手,基于 Codex 技术构建。

1. 注册 GitHub Copilot

  1. 访问 https://github.com/features/copilot
  2. 加入等待名单或直接购买
  3. 订阅后安装 VS Code 插件

2. 安装和配置

VS Code 中安装:

快捷键:Ctrl+Shift+X → 搜索 "GitHub Copilot"
点击 "Install" → 授权登录

3. 基础使用

┌─────────────────────────────────────────────────────────┐
│  ┌───────────────────────────────────────────────────┐  │
│  │  def hello():                                      │  │
│  │      # 光标放在这里,开始输入                      │  │
│  │      p                                          │  │
│  └───────────────────────────────────────────────────┘  │
│                          ↓                               │
│  ┌───────────────────────────────────────────────────┐  │
│  │  def hello():                                      │  │
│  │      print("Hello, Copilot!")  ← 自动补全         │  │
│  └───────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────┘

4. 文件级建议

在文件中点击 Cmd+I (Mac) / Ctrl+I (Windows):

# 光标在文件任意位置按 Cmd+I
# Copilot 会建议整个文件的改进

5. 自然语言生成代码

输入注释,生成代码:

# 创建一个函数,计算两个数字的平均值
def average(a, b):
    # Copilot 会自动补全整个函数体

6. 重构建议

选中代码 → Cmd+I (macOS) / Ctrl+I (Windows)
Copilot 会建议更好的写法

方式三:OpenAI Codex API(直接调用)

1. 直接调用 Codex 模型

response = openai.Completion.create(
    model="gpt-3.5-turbo-instruct",
    prompt="写一个 Python 函数,用递归计算阶乘",
    max_tokens=500,
    temperature=0.2  # 代码生成用较低温度
)

print(response.choices[0].text)

2. 批量代码生成

prompts = [
    "写一个 Python 快速排序",
    "写一个 JavaScript 防抖函数",
    "写一个 Go 的 HTTP 服务器",
    "写一个 C++ 的二分查找",
]

for i, prompt in enumerate(prompts):
    print(f"\n=== Prompt {i+1}: {prompt} ===")
    response = openai.Completion.create(
        model="gpt-3.5-turbo-instruct",
        prompt=prompt,
        max_tokens=300
    )
    print(response.choices[0].text)

Codenew 模式

什么是 Codenew?

Codewhisperer 是 AWS 的代码助手,但 Codenew 更接近传统 Codex。

使用方式

  1. 访问 https://openai.com/codenew
  2. 进入 Playground
  3. 输入提示词,实时查看结果

Playground 使用

┌─────────────────────────────────────────────────────────┐
│  Playground 面板                                         │
├─────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌─────────────────────────────────┐ │
│  │ 模型选择     │  │ 输入区域                         │ │
│  │ gpt-4-turbo  │  │ prompt:                          │ │
│  └──────────────┘  │                                 │ │
│                    │  写一个 Flask REST API         │ │
│  ┌──────────────┐  └─────────────────────────────────┘ │
│  │ Temperature │  ┌─────────────────────────────────┐ │
│  │ 0.2         │  │ 输出区域                         │ │
│  └──────────────┘  │                                 │ │
│                    │  from flask import Flask, ...  │ │
│  ┌──────────────┐  │                                 │ │
│  │ Max Tokens   │  │  app = Flask(__name__)         │ │
│  │ 500          │  │                                 │ │
│  └──────────────┘  │  @app.route('/')               │ │
│                    │  def home(): ...                │ │
│                    │  return "Hello, World!"        │ │
│                    └─────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

VS Code 最佳实践

1. 配置 OpenAI API

打开 VS Code 设置(Cmd+, / Ctrl+,),搜索 openai:

{
  "openai.apiKey": "你的 API Key",
  "openai.model": "gpt-4-turbo",
  "openai.temperature": 0.2,
  "openai.maxTokens": 1000
}

2. 常用快捷键

操作 快捷键 说明
生成代码 Cmd+I / Ctrl+I 在光标处生成代码
解释代码 Cmd+Shift+I / Ctrl+Shift+I 解释当前代码
重构 Cmd+Shift+R / Ctrl+Shift+R 重构建议
完成单词 Tab 完成自动补全

3. 代码审查技巧

你:请审查这段代码

AI:(详细分析)
1. 代码风格
2. 潜在 bug
3. 性能问题
4. 安全问题
5. 改进建议

编写好的 Prompt

模板 1:生成代码

# 任务
写一个 [编程语言] 的 [功能],要求:
1. [要求1]
2. [要求2]
3. [要求3]

# 示例
输入:[输入示例]
输出:[期望输出]

模板 2:调试代码

# 代码
[粘贴代码]

# 报错
[粘贴错误信息]

# 问题
这段代码有什么问题?如何修复?

模板 3:代码解释

# 代码
[粘贴代码]

# 请求
请逐行解释这段代码的作用,并在最后总结核心功能。

模板 4:批量任务

# 任务
请完成以下任务:
1. [任务1]
2. [任务2]
3. [任务3]

# 上下文
我在做 [项目类型],使用 [技术栈]

常见问题

Q: Codex 和 GitHub Copilot 有什么区别?

A:

  • Codex 是底层的模型
  • GitHub Copilot 是基于 Codex 的产品,有更多功能

Q: API 按什么收费?

A: 按 Token 计费,输入/输出价格不同。

Q: 有免费额度吗?

A: 新账号有 $5 免费额度。

Q: 代码安全性如何?

A: OpenAI 不会存储你的代码,但要注意不要上传敏感数据。

Q: 怎么提高代码生成质量?

A: 使用清晰的 Prompt,提供上下文,多轮迭代。

Q: 能否集成到自己的应用?

A: 可以,通过 OpenAI API 调用 Codex 模型。

写在最后

Codex 已经成为我日常开发的核心工具。不管是从零写代码、调试 bug 还是重构优化,都能节省大量时间。

推荐学习路线:

  1. 注册 GitHub Copilot(最方便)
  2. 了解 OpenAI API(最灵活)
  3. 实践各种代码任务
  4. 打造自己的 Prompt 模板库

官方资源:

  • OpenAI Platform:https://platform.openai.com
  • OpenAI API 文档:https://platform.openai.com/docs
  • GitHub Copilot:https://github.com/features/copilot

有问题欢迎留言,或者发邮件到 [email protected]。


相关文章:

💡 AI 编程工具推荐

  • Cursor — 目前最火的 AI IDE,内置 Claude/GPT-4,写代码效率翻倍。免费版每天 2000 次补全
  • Claude Code — Anthropic 官方 CLI 工具,直接在终端里和 AI 结对编程

两款都值得试试,看哪个更适合你的工作流。


有些外部工具链接是联盟链接,如果你通过这些链接购买,我会获得少量佣金(不影响你的价格)。所有推荐都是我亲自用过并觉得不错的产品。