1. 引言
2026 年,OpenAI 的 ChatGPT Plus 与 Pro 订阅方案,配合 Codex 编程助手,已经成为开发者日常工作中不可或缺的工具组合。ChatGPT 负责对话式理解与方案设计,Codex 则专注于代码生成、审查与自动化重构。两者结合,可以显著提升从需求分析到代码落地的全流程效率。
本文不涉及任何充值或账号购买相关内容,纯粹从技术角度出发,围绕 ChatGPT Plus / Pro 与 Codex 的 API 调用、本地集成、自动化工作流、代码审查、测试生成等场景,给出可运行的代码示例与工程实践建议。全文约 3000 字,所有示例均基于 Python 与 OpenAI 官方 SDK 编写,读者可复制后直接运行。
2. 环境准备与依赖安装
在开始之前,需要准备 Python 3.10 或更高版本,并安装 OpenAI 官方 SDK。建议使用虚拟环境隔离依赖。
python -m venv venv
source venv/bin/activate # Windows 下使用 venv\\Scripts\\activate
pip install –upgrade openai python-dotenv
安装完成后,在项目根目录创建 .env 文件,用于存放 API 密钥。注意:本文假设读者已经拥有合法的 API 访问权限,且不会讨论任何获取密钥的非常规途径。
OPENAI_API_KEY=sk-your-key-here
加载环境变量并初始化客户端:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
)
3. 使用 ChatGPT 模型进行对话与代码生成
ChatGPT Plus 与 Pro 订阅的核心价值之一,是可以通过 API 调用 GPT 系列模型,完成自然语言理解、代码生成、文档撰写等任务。下面是一个基础的对话补全示例。
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名资深 Python 工程师,擅长编写高质量、可维护的代码。"},
{"role": "user", "content": "请编写一个函数,用于计算斐波那契数列的第 n 项,要求使用迭代方式实现。"},
],
temperature=0.3,
)
print(response.choices[0].message.content)
运行上述代码,模型会返回一段完整的 Python 实现。通过调整 temperature 参数,可以控制输出的随机性:数值越低,输出越确定;数值越高,输出越多样。
4. 使用 Codex 模型进行代码补全与审查
Codex 是 OpenAI 推出的编程专用模型,擅长代码补全、代码审查、Bug 修复等任务。与 ChatGPT 的对话式接口不同,Codex 更侧重于代码上下文的理解与生成。
4.1 代码补全
response = client.completions.create(
model="codex-1",
prompt="def quick_sort(arr):\\n if len(arr) <= 1:\\n return arr\\n pivot = arr[len(arr) // 2]\\n left = [x for x in arr if x < pivot]\\n middle = [x for x in arr if x == pivot]\\n right = [x for x in arr if x > pivot]\\n return quick_sort(left) + middle + quick_sort(right)\\n\\n# 测试用例\\nprint(quick_sort([3, 6, 8, 10, 1, 2, 1]))",
max_tokens=200,
temperature=0.2,
)
print(response.choices[0].text)
4.2 代码审查
Codex 也可以用于代码审查。将待审查的代码片段作为输入,让模型指出潜在问题并给出改进建议。
code_snippet = """
def fetch_data(url):
import requests
response = requests.get(url)
return response.json()
"""
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名严格的代码审查专家,请指出代码中的问题并给出改进建议。"},
{"role": "user", "content": f"请审查以下代码:\\n{code_snippet}"},
],
)
print(response.choices[0].message.content)
5. 构建自动化代码生成工作流
将 ChatGPT 与 Codex 结合,可以构建一个自动化的代码生成流水线:先由 ChatGPT 理解需求并生成设计文档,再由 Codex 根据设计文档生成具体实现。
def generate_code_from_requirement(requirement: str) –> str:
# 第一步:使用 ChatGPT 生成设计文档
design_response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名系统架构师,请根据需求输出详细的设计文档。"},
{"role": "user", "content": requirement},
],
)
design_doc = design_response.choices[0].message.content
# 第二步:使用 Codex 根据设计文档生成代码
code_response = client.completions.create(
model="codex-1",
prompt=f"根据以下设计文档生成 Python 代码:\\n{design_doc}\\n\\n代码:",
max_tokens=1500,
temperature=0.2,
)
return code_response.choices[0].text
requirement = "实现一个简单的任务队列,支持添加任务、执行任务、查询任务状态。"
generated_code = generate_code_from_requirement(requirement)
print(generated_code)
6. 使用 Codex 自动生成单元测试
单元测试是保证代码质量的重要手段。Codex 可以根据已有代码自动生成测试用例,减少手动编写测试的工作量。
def generate_unit_tests(source_code: str) –> str:
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名测试工程师,请为给定的代码生成 pytest 单元测试。"},
{"role": "user", "content": f"请为以下代码生成单元测试:\\n{source_code}"},
],
temperature=0.2,
)
return response.choices[0].message.content
source = """
def add(a, b):
return a + b
def subtract(a, b):
return a – b
"""
tests = generate_unit_tests(source)
print(tests)
7. 将 ChatGPT 与 Codex 集成到 CI/CD 流水线
在实际工程中,可以将 ChatGPT 与 Codex 集成到 CI/CD 流水线中,实现自动化的代码审查与文档生成。以下是一个基于 GitHub Actions 的示例。
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
ai-review:
runs-on: ubuntu–latest
steps:
– name: Checkout code
uses: actions/checkout@v4
– name: Set up Python
uses: actions/setup–python@v5
with:
python-version: "3.10"
– name: Install dependencies
run: pip install openai python–dotenv
– name: Run AI code review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
python scripts/ai_review.py
对应的 scripts/ai_review.py 脚本:
import os
import subprocess
from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def get_changed_files():
result = subprocess.run(
["git", "diff", "–name-only", "origin/main…HEAD"],
capture_output=True,
text=True,
)
return result.stdout.strip().split("\\n")
def review_file(file_path: str) –> str:
with open(file_path, "r", encoding="utf-8") as f:
content = f.read()
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名资深代码审查专家,请输出审查意见。"},
{"role": "user", "content": f"请审查以下文件:\\n{file_path}\\n\\n{content}"},
],
)
return response.choices[0].message.content
if __name__ == "__main__":
files = get_changed_files()
for file in files:
if file.endswith(".py"):
print(f"审查文件:{file}")
print(review_file(file))
8. 使用 Codex 进行代码重构
代码重构是日常开发中常见的需求。Codex 可以识别代码中的坏味道,并给出重构建议或直接生成重构后的代码。
def refactor_code(source_code: str) –> str:
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "你是一名代码重构专家,请优化代码结构,提升可读性与可维护性。"},
{"role": "user", "content": f"请重构以下代码:\\n{source_code}"},
],
temperature=0.1,
)
return response.choices[0].message.content
messy_code = """
def process(data):
result = []
for item in data:
if item['type'] == 'a':
result.append(item['value'] * 2)
elif item['type'] == 'b':
result.append(item['value'] * 3)
return result
"""
refactored = refactor_code(messy_code)
print(refactored)
9. 结合向量数据库构建代码知识库
对于大型项目,可以将代码库向量化,构建一个语义检索系统。当开发者提问时,先检索相关代码片段,再交给 ChatGPT 生成回答。这样可以显著提升回答的准确性。
from openai import OpenAI
import numpy as np
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def embed_text(text: str) –> list:
response = client.embeddings.create(
model="text-embedding-3-small",
input=text,
)
return response.data[0].embedding
def cosine_similarity(a: list, b: list) –> float:
a = np.array(a)
b = np.array(b)
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
# 示例:将代码片段向量化并检索
code_snippets = [
"def add(a, b): return a + b",
"def quick_sort(arr): …",
"class DatabaseConnection: …",
]
embeddings = [embed_text(snippet) for snippet in code_snippets]
query = "如何实现两个数相加?"
query_embedding = embed_text(query)
similarities = [cosine_similarity(query_embedding, emb) for emb in embeddings]
best_match_index = np.argmax(similarities)
print(f"最相关的代码片段:{code_snippets[best_match_index]}")
10. 总结与最佳实践
ChatGPT Plus / Pro 与 Codex 的组合,为开发者提供了一套完整的 AI 辅助开发解决方案。从需求分析、代码生成、测试编写到代码审查与重构,每一个环节都可以借助 AI 提升效率。
在实际使用中,建议遵循以下最佳实践:
- 明确任务边界:ChatGPT 擅长理解与设计,Codex 擅长代码生成与补全,合理分工可以发挥各自优势。
- 控制输出质量:通过调整 temperature 参数与 max_tokens 限制,避免输出过长或过于随意的内容。
- 建立反馈闭环:将 AI 生成的代码纳入人工审查流程,确保代码质量与安全性。
- 保护敏感信息:不要在提示词中传入密钥、密码等敏感信息,避免泄露风险。
希望本文的示例能够帮助读者更好地利用 ChatGPT Plus / Pro 与 Codex 提升开发效率。未来,随着模型能力的持续进化,AI 辅助编程的边界还将不断拓展。
网硕互联帮助中心




评论前必须登录!
注册