Codex 语音功能来了:Realtime V3 让终端开发进入”说话写代码”时代

Codex CLI 终端界面展示 Realtime V3 语音交互功能,声波波形与命令行融合的科技感主题图
内容摘要

Codex CLI v0.145.0 正式上线 Realtime V3 语音架构,基于 OpenAI Realtime API 实现全双工语音编码。支持对话模式和听写模式,可按语音配置不同工作流,语音交互正式成为 AI 编码的实用输入方式。

如果你一直在关注 Codex CLI 的更新,那你大概记得年初那个”按住空格说话”的实验功能——上线几周后就被撤掉了,当时很多人觉得可惜。现在,它回来了,而且不是以前那个半成品。

7 月 21 日,OpenAI 发布了 Codex CLI v0.145.0,其中最重磅的更新就是 Realtime V3 语音架构。这不是简单把之前那个按住空格录音的功能加回来,而是基于 OpenAI Realtime API 的全新架构。

从实验到正式版:Codex 语音的三段跳

Codex 的语音功能经历了一次完整的”推倒重来”:

  • 2 月 23 日(v0.105.0):按住空格键语音输入首次上线,但标注为”仍在开发中”,功能粗糙。
  • 3 月 29 日(v0.118.0):未完成的语音实现被整体移除,官方表示桌面端语音才是正途。
  • 7 月 8 日:OpenAI 发布 GPT-Live,一个全双工连续音频模型,为 Codex 语音奠定底层基础。
  • 7 月 21 日(v0.145.0):Realtime V3 架构正式上线,基于 gpt-realtime-2.1 模型,语音成为成熟的生产级功能。
  • 7 月 23 日:ChatGPT Desktop Voice 接入 Codex,GPT-Live 与 Codex Agent 打通。

从”按住空格说一句”到”全双工语音会话”,只用了五个月。

Realtime V3 有什么不一样?

V3 的核心变化不是”能说话”,而是架构上把语音融入了 Codex 的 Agent 循环。

1. 两种模式:对话 + 听写

V3 提供了两种语音模式:

  • 对话模式(conversational):全双工语音交互,你可以跟 Codex 对话讨论代码方案,它边听边理解边回应。适合调试、架构讨论、代码审查。
  • 听写模式(transcription):基于 Whisper 的语音转文字,你说需求,它转成文字执行。适合快速下指令、口述 commit message。

2. 无帧双向流(Frameless Bidi)

V2 的语音还是”你说完→模型想→输出”的回合制。V3 支持真正的全双工:你说话的同时模型就可以开始理解和生成回应,不需要等你说完一整句。这个体验更接近人与人之间的自然对话。

3. 语音嵌入 Agent 循环

这是 V3 架构上最有意思的地方。在 V2 中,语音是一个独立子系统——文字走 Responses API,语音走单独的 Realtime 连接,两套状态。V3 把语音统一到了标准的 Agent 循环里:语音输入 → Agent 处理(含工具调用)→ 语音输出,这一切在同一个会话管道里完成。

结果是:一个 MCP 工具可以返回音频数据,Codex 可以在工具调用之间用语音回复你,代码执行的输出可以包含音频产物。

4. 会话种子:让模型知道你在聊什么

V3 会话启动时,可以自动把当前文字对话的上下文”注入”到语音会话中。你不用重新解释一遍”我们刚才在修哪个 bug”,模型直接就知道。

怎么配置?

~/.codex/config.toml 里加一段:

[realtime]
type = "conversational"        # 或 "transcription"
voice = "alloy"                # 可选 alloy, echo, shimmer 等
reasoning_effort = "low"       # low | medium | high,影响延迟

[realtime.v3]
frameless_bidi = true          # 开启无帧双向流
seed_with_history = true       # 用文字上下文初始化语音会话
preserve_audio = true          # 保留音频到会话历史

如果你不同场景想用不同配置,Codex 还支持命名配置:

[profiles.voice-review]
model = "gpt-5.6-terra"
reasoning_effort = "medium"

[profiles.voice-review.realtime]
type = "conversational"
voice = "echo"

codex --profile voice-review 启动,就能进入专门为代码审查优化的语音模式。

桌面端也打通了

如果你不用终端里的 Codex CLI,而是用 Codex Desktop,那语音体验更直接。7 月 23 日更新的 ChatGPT Desktop Voice(v26.715)把 GPT-Live 的语音能力直接接入了 Codex Desktop——你可以在桌面端直接语音指挥 Codex 干活,不用碰键盘。

不过要注意,年初那个”按住空格说话”的 TUI 内录音功能确实被移除了,在 Codex CLI 里,语音走的是 Realtime V3 通道,不是 TUI 里的快捷键录音。如果你还在找那个按住空格的功能,它已经不在了。

性能表现

v0.145.0 同时做了大量性能优化,确保语音会话不会拖垮终端渲染:

  • 增量 Markdown 渲染——流式输出逐步渲染,不再每次重新绘制整个缓冲区
  • 减少 TUI 重绘——消除流式输出中的冗余屏幕更新
  • 命令输出截断——长命令输出在 TUI 中做上限处理,防止渲染卡顿

OpenAI 还报告称,7 月份 Realtime 语音模型的 p95 延迟降低了至少 25%,通过改进缓存实现。

语音编程的实用场景

目前最实际的用法集中在几个场景:

  • 快速下指令:“帮我把 UserService 里的错误处理重构一下”——说话比打字快 3-4 倍
  • 多 Agent 调度:同时跑几个 Codex 线程,用语音做分流和决策
  • 调试对话:看到报错直接说”这个 null pointer 怎么回事”,不用切窗口打字
  • 口述 commit:听写模式直接生成 commit message

老达点评

Codex 的语音功能这次回来,跟年初那个实验版完全是两回事。年初那个是”试试看能不能说话”,现在这个是”把语音变成 Agent 原生输入通道”。

技术上最值得关注的是 V3 把语音融进了 Agent 循环。这意味着语音不再是辅助功能,而是和文字同等级别的交互方式。语音输入 → Agent 处理 → 工具调用 → 语音输出,这个闭环打通了。

但实际使用上,我不认为语音会替代键盘。写代码需要精确,语音适合描述意图而不是敲具体代码。合理的组合是:语音做调度和讨论,键盘做精确操作。这不冲突。

对老达来说,最有吸引力的场景其实是”多 Agent 调度”——手机上对着 Codex 说一句”帮我把今天的文章发了”,然后它自己去完成发布流程。这才是语音在 AI 编码工具里的正确打开方式。

延伸阅读

发表评论

您的电子邮箱地址不会被公开,必填项已标注 *