OpenAI 的 Codex 是基于 GPT-4 的代码生成模型,能写代码、改代码、解释代码,是程序员的必备工具。
这篇教程从零教你使用 Codex,包括 API 调用、VS Code 插件、GitHub Copilot 等,让你快速掌握代码生成能力。
Codex 是什么?
Codex vs GPT-4
| 特性 | GPT-4 | Codex |
|---|---|---|
| 通用能力 | ✅ | ✅ |
| 代码生成 | ✅ | ✅✅✅ |
| 代码调试 | ✅ | ✅ |
| 代码解释 | ✅ | ✅ |
| 成本 | 较高 | 较低 |
| 速度 | 慢 | 快 |
简单理解:
- GPT-4 是「全能选手」
- Codex 是「代码专项选手」,写代码更快、更准
Codex 的特点
-
多语言支持
- Python, JavaScript, TypeScript, Java, C++, Go, Rust, PHP, Ruby, Swift 等 30+ 语言
-
代码理解
- 读代码 → 解释逻辑
- 找 bug → 提供修复方案
- 重构代码 → 提升性能
-
自动补全
- IDE 插件实时补全
- 上下文感知
- 智能建议
使用方式概览
┌─────────────────────────────────────────────────────────────┐
│ Codex 使用方式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ API 调用 │───▶│ VS Code │───▶│ GitHub │ │
│ │ 程序化 │ │ 插件 │ │ Copilot │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ └──────────────────┴──────────────────┘ │
│ ↓ │
│ OpenAI Platform │
│ │
└─────────────────────────────────────────────────────────────┘
方式一:OpenAI Platform API
1. 注册并获取 API Key
- 访问 https://platform.openai.com
- 使用 Google / Microsoft / Email 注册
- 进入 API Keys 页面 → Create new secret key
- 复制 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
- 访问 https://github.com/features/copilot
- 加入等待名单或直接购买
- 订阅后安装 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。
使用方式
- 访问 https://openai.com/codenew
- 进入 Playground
- 输入提示词,实时查看结果
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 还是重构优化,都能节省大量时间。
推荐学习路线:
- 注册 GitHub Copilot(最方便)
- 了解 OpenAI API(最灵活)
- 实践各种代码任务
- 打造自己的 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 结对编程
两款都值得试试,看哪个更适合你的工作流。
有些外部工具链接是联盟链接,如果你通过这些链接购买,我会获得少量佣金(不影响你的价格)。所有推荐都是我亲自用过并觉得不错的产品。
评论加载中……