AI 快讯OpenAI 放出 Codex 官方 Python SDK:编码智能体彻底变成一个函数调用
产品更新

OpenAI 放出 Codex 官方 Python SDK:编码智能体彻底变成一个函数调用

2026-06-15T03:07:08.771Z
OpenAI 放出 Codex 官方 Python SDK:编码智能体彻底变成一个函数调用

OpenAI 今天上线了 Codex 的官方 Python SDK,开发者可以把 Codex 当作一个普通的 Python 库 import 进项目,直接在自己的应用里跑出 Pull Request、执行重构、写测试。这意味着 Codex 终于从一个独立产品,变成了任何应用都能嵌入的能力。

OpenAI 今天(6 月 15 日)发布了 Codex 的官方 Python SDK,正式版本号 codex-sdk 1.0.0。简单说,这玩意儿把过去只能在 ChatGPT 网页端、Codex CLI 或者 IDE 插件里用的编码智能体,直接做成了一个 pip install 就能用的 Python 库。

这不是又一个套壳 API 客户端。它打包的是完整的 Codex Agent 运行时——包括沙箱执行、多轮规划、工具调用、Git 操作、PR 提交那一整套东西。换句话说,过去你得让用户跳到 Codex 网页端去发任务,现在可以直接在你自己的产品里跑。

这步棋为什么现在才走

回头看 Codex 的产品节奏其实挺有意思。去年 5 月 Codex 首发的时候是个云端 Agent,只能在 ChatGPT 里用;后来出了 Codex CLI,开发者能在终端里调;再后来 IDE 插件、GitHub 集成、Skills 功能一个接一个加。但所有这些入口有个共同点:Codex 是个独立产品,用户得主动去用它

而 SDK 翻转了这个关系。现在 Codex 是一个能力,谁的应用都能调。SaaS 公司可以在自己后台里嵌入"AI 修 Bug"按钮;CI/CD 平台可以在流水线挂一个 Codex 节点;甚至像 Linear、Jira 这种工单系统都能直接挂上去——issue 创建完,Codex 自动开干、提 PR。

这个变化的本质是:OpenAI 不再只想让 Codex 作为一个独立 SKU 来卖,而是想让它变成编码智能体的事实标准基础设施。Anthropic 那边 Claude Code SDK 走的也是类似路线,但 Claude Code SDK 更像是 CLI 的脚本化封装。OpenAI 这次给的是 Agent Runtime 级别的东西,颗粒度不一样。

Codex Python SDK 在 Jupyter 中执行任务的截图

看看代码长什么样

核心 API 设计相当克制,没搞花活:

from openai_codex import Codex

client = Codex(
    model=\"gpt-5.2-codex\",  # 也可以选 codex-mini-latest
    workspace=\"./my-repo\",
    sandbox=\"docker\",       # local / docker / e2b
)

task = client.tasks.create(
    prompt=\"给 user service 的所有 endpoint 加上 rate limiting,用 Redis 做存储\",
    branch=\"feature/rate-limit\",
    auto_commit=True,
)

for event in task.stream():
    if event.type == \"thinking\":
        print(f\"🧠 {event.content}\")
    elif event.type == \"tool_call\":
        print(f\"🔧 {event.tool}: {event.args}\")
    elif event.type == \"file_change\":
        print(f\"📝 {event.path} (+{event.added}/-{event.removed})\")

result = task.result()
print(f\"PR ready: {result.pr_url}\")

几个细节值得注意:

第一,沙箱是 SDK 内置的sandbox=\"docker\" 意味着 SDK 会自动起一个隔离容器,把 repo 挂进去,所有 Codex 执行的命令都在里面跑。这解决了"我要在自己服务器上跑 Agent,但又不想让它把我宿主机搞挂"这个最现实的问题。e2b 集成是给那些不想自己管基础设施的人准备的。

第二,事件流是结构化的。不是只给你一个 token stream 让你自己 parse,而是把 thinking、tool_call、file_change、test_run 这些事件类型清晰拆开。做 UI 的人会爱死这个设计——前端可以直接根据事件类型渲染不同的卡片。

第三,task 是一等公民。Task 对象支持 pause()resume()cancel()fork()。fork 这个操作有点意思——你可以让一个 Task 跑到一半,分叉出两个不同的探索方向,最后挑一个继续。这其实是承认了编码 Agent 经常会走偏,需要"赌博式"的多路径探索。

异步和并行才是真的杀手锏

SDK 提供了完整的 AsyncCodex 客户端,可以一次性派发几十个任务并行跑:

import asyncio
from openai_codex import AsyncCodex

async def fix_issue(issue):
    client = AsyncCodex(model=\"gpt-5.2-codex\")
    task = await client.tasks.create(
        prompt=f\"Fix issue #{issue.number}: {issue.title}\
\
{issue.body}\",
        branch=f\"fix/issue-{issue.number}\",
    )
    return await task.wait()

async def main():
    issues = fetch_github_issues(label=\"bug\", limit=20)
    results = await asyncio.gather(*[fix_issue(i) for i in issues])
    for r in results:
        print(r.pr_url)

asyncio.run(main())

这段代码意味着什么?意味着你可以让一个脚本在凌晨自动把 GitHub backlog 里所有 bug 标签的 issue 都跑一遍,第二天早上你打开邮箱,20 个 PR 等你 review。

这种"批量异步派单"是 Codex 网页端一直在做的事,但封装到 SDK 里之后,这个能力第一次成为了开发者可编排的原语。你不再需要登录到 ChatGPT 去手动点"new task",可以把它接进任何工作流。

几个值得吐槽的地方

说几个不那么完美的点。

模型选择有限。SDK 当前只支持 gpt-5.2-codex 系列和 codex-mini-latest。你不能塞个 Claude 或者 DeepSeek-Coder 进去——SDK 跟 codex-1/codex-2 这一系列模型是绑死的,因为 Agent 的训练数据和工具调用格式是耦合的。如果你想要"模型可换"的灵活性,得自己用 LangGraph、AutoGen 这种通用框架。

沙箱定制能力一般。Docker 模式下你可以指定 base image,但启动脚本、环境变量、网络策略这些都还比较粗糙。生产环境里如果你的 repo 需要复杂的 dev container 配置,目前要走一些 hack。

计费模型不透明。SDK 的请求会按 token 计费,但 Codex Agent 内部会反复调模型、跑测试、再调模型,一个 task 烧多少 token 完全不可预测。OpenAI 在文档里给了个粗略估计:"中等复杂度任务约 50K–200K input tokens、5K–20K output tokens"——这个区间已经够宽了。建议任何要把它接进生产的人先在 staging 环境多跑几次,把成本曲线摸清楚。

Windows 原生支持还在 beta。本地沙箱模式在 Windows 下走的是 WSL2,遇到 path、权限相关的问题不少。Mac 和 Linux 用户没这个烦恼。

多个 Codex 任务并行执行的监控面板

跟 Claude Code SDK、Cursor Agent SDK 怎么比

这是大家最关心的问题。简单对比一下:

  • Claude Code SDK:Anthropic 的方案,本质是 Claude Code CLI 的程序化封装,强项是本地终端环境的深度集成,劣势是云端任务模式较弱。
  • Cursor Agent SDK(4 月发布):Cursor 把自家 Agent 暴露出来,强项是 IDE 内联体验和 Composer 那一套,劣势是必须用 Cursor 的基础设施。
  • OpenAI Codex SDK:强项是云端并行 + 本地都能跑、Task 一等公民、PR 流程闭环;劣势是模型锁死、生态还新。

选哪个,本质上看你在赌哪家的模型未来更强。GPT-5.2-Codex 在 SWE-Bench Verified 上目前是 78.4%,Claude Sonnet 4.5 是 76.1%,差距不大。但 Codex 的强化学习训练专门针对"生成可被人类直接 merge 的 PR"做了优化,从我们测下来的实际体验,Codex 给的 diff 普遍更克制、更接近真实工程师的提交习惯。这点上 OpenAI 是有优势的。

这个 SDK 真正打开的想象空间

往更远的地方想,SDK 化的意义不止于"方便嵌入"。

第一,编码 Agent 可以成为其他 Agent 的工具。一个做需求分析的 PM Agent,分析完需求直接调 Codex SDK 把代码写了;一个做 SRE 的运维 Agent,发现故障直接调 Codex SDK 修 Bug 提 PR。Agent-of-Agents 的链路里,Codex 第一次变成了一个标准化的"会写代码的工具人"。

第二,垂类 IDE 和低代码平台的格局可能要变。过去你做一个面向特定行业的 IDE(比如做游戏脚本的、做数据科学的),最大的难点是怎么把 AI 编码能力做进去。现在 import 个 SDK 就行,竞争点会从"有没有 AI 能力"转移到"垂类知识 + 工作流"上。

第三,自动化工作流的边界扩大了。Zapier、n8n、Dify 这些工作流工具,过去能调 LLM 但调不出"完整的编码任务"。SDK 之后,"GitHub 来了新 issue → Codex 自动开干 → 提 PR → 通知 Slack"可以变成一条三节点的工作流。

一些实操建议

如果你打算今晚就上手,几条建议:

  1. 先在小 repo 跑通。Codex 在大型 monorepo 上的表现依然会"飘",先拿一个 1 万行以内的项目试,把效果摸清楚再往大的上接。
  2. 永远开启 dry_run 模式做第一轮。SDK 支持 dry_run=True,让 Codex 只生成 diff 不实际提交,review 没问题再正式跑。
  3. system_prompt 加上代码规范。Codex 默认会按照大众化的风格写代码,如果你的项目有具体规范(比如必须用 pydantic v2 而不是 v1),写在 system_prompt 里效果立竿见影。
  4. 小心成本。开启 budget_tokens 限制单 task 上限,避免 Codex 陷入无限循环烧钱。

对了,OpenAI Hub(openai-hub.com)这边也已经第一时间适配了新 SDK,国内开发者把 base_url 改成 Hub 的地址就能直接用 gpt-5.2-codex,不用折腾代理。这对国内团队接 Codex 进生产环境算是个实际的便利。

写在最后

回过头看,Codex 从一个 ChatGPT 里的功能、到独立产品、再到今天的 SDK,OpenAI 在编码这条线上的产品策略其实非常清晰:先把能力做强,再把能力做开。SDK 这一步等于宣告"编码 Agent 这件事我们要做基础设施"。

至于这个 SDK 会不会成为事实标准,还得看接下来一两个季度有多少第三方产品愿意把它接进去。但至少今天,OpenAI 给开发者递过来一把还算趁手的工具,剩下的就看大家怎么玩了。

参考来源

相关推荐

查看全部

联系我们

我们通常在工作时间快速响应

扫码添加微信

专属客服:Hub 助手

微信号: