OpenAI 讲解如何用手机远程掌控 Codex 编码工作
Mastering remote engineering work from your phone
OpenAI 开发者博客发布长文,讲解如何在 ChatGPT 移动端通过 Codex Remote 启动、引导、审查和管理运行在开发机上的编码任务。文章提出手机是控制平面而非小型终端,介绍了 Queue 与 Steer 两种跟进方式的区别、/side 侧聊、/goal 持久目标、内联代码评论审查、权限审批和 /compact 等上下文管理命令,并给出发布负责人、移动端审查者等五种实用工作流。
作者以两个月的使用积累为基础,拆解手机端 Remote 的 Queue 与 Steer、侧聊、目标等机制,给出可直接照做的移动端编码工作流。
ChatGPT 移动应用中的 Remote 很容易被低估。
乍一看,它像是用手机查看编码对话的一种方式。这确实有用,但忽略了更大的图景。Remote 的真正威力在于,它让你能够启动、指挥、审查和整理运行在开发机器上的工作,而不必假装 iPhone 应该是一个微型终端。
在过去两个月里,我们为这个循环增加了令人惊讶的深度:远程主机连接、工作树、目标、侧边聊天、内联代码审查、排队和引导提示、附件、技能和插件、归档聊天、安全控制,以及一长串让这款应用能够胜任严肃工作的小细节。
这是我希望每位新晋高级用户都能拥有的实战指南。

正确的心智模型:你的手机是控制平面
代码仍然运行在它该在的地方:你的 Mac、Windows 机器、devbox 或其他已连接的主机上。在 ChatGPT 移动应用中,Remote 为你提供了一个原生界面来控制这些工作。
这一区别很重要。目标不是在小屏幕上复刻终端的每一项功能。目标是让你无论身在何处,都能轻松做出为智能体解除阻塞的决策:
- 它应该使用哪个仓库和工作区?
- 这应该运行在当前分支还是全新的工作树中?
- 我的下一条消息应该等待,还是应该重定向当前正在进行的回合?
- 这条命令批准执行安全吗?
- 发生了什么变更,我是否认同?
- 这应该成为一个持久目标、一个独立聊天,还是一个快速的侧边问题?
一旦你以这种方式使用这款应用,它就不再像远程桌面软件,而开始像工程控制平面。
1. 以正确的边界开启聊天
优秀的智能体工作始于一个范围界定正确的环境。Remote 让你在第一条提示之前选择已连接的主机和工作区。对于新聊天,你还可以选择分支、创建独立的工作树,并运行与之关联的环境设置。

这让几种有用的模式成为可能:
- 使用当前检出进行快速调查。
- 为应当保持隔离的变更创建新的工作树。
- 从预期的基线分支开始,而不是事后修复 Git 状态。
- 在要求 Codex 构建或测试之前,先让环境设置运行完毕。
这是最重要的高级用户习惯之一:花 10 秒选择正确的执行上下文,省下 10 分钟的事后清理。
输入框还能承载比纯文本更多的上下文。你可以附加文件、照片或即时拍摄的照片。技能和插件会内联显示,这让确认你的提示是否调用了预期的能力变得容易得多。

我的规则很简单:如果截图、文件或具名技能能消除歧义,就在第一回合之前附加或提及它。
2. 了解 Queue 与 Steer 的区别
这大概是 Remote 中最不显眼却高杠杆的设置。
当 Codex 已经在工作时,后续消息可以做两件事之一:
- Queue 会等到当前响应结束后,再将你的提示作为下一回合发送。
- Steer 会将指导注入到已经进行中的工作里。
Queue 是安全的默认选项。用于第二项任务、额外的测试请求,或任何应在当前工作之后进行的事情。
Steer 用于在继续走错路的代价仍在增长时纠正方向:
把修复限制在移动端包内。不要重构共享渲染器。
该复现只在重新连接后发生。测试恢复后的路径,而不是实时路径。
别再排查 UI 了。检查一下服务器是否在恢复过程中移除了该项。
这让手机变得比一块状态屏更有用。你可以在某次运行需要判断的确切时刻介入。
你可以在设置中选择默认的后续行为。我把 Queue 保持为默认,并有意识地使用 Steer;意外地在回合中途改变方向通常比等待代价更高。
3. 把侧边聊天当作思维的分支
长时间运行的编码对话会积累有价值的上下文。用每一个附带问题去打断它,会让主对话记录变得嘈杂,还可能把智能体从目标上拉走。
这正是侧边聊天所解决的。
使用 /side 打开一个与当前聊天相连的轻量对话。使用 /side <prompt> 打开它并预先准备好一个问题。更好的做法是,在对话记录中选择文本,然后选择 Ask in side chat。所选段落会成为新对话的起始上下文。

我用侧边聊天来处理这样的问题:
- Codex 为什么选择这种架构?
- 这个错误实际上是什么意思?
- 这种行为与桌面应用一致吗?
- 给我一个这个实现细节的发布说明版本。
- 在我批准这条命令之前,我应该验证什么?
这个区分很有用:主聊天负责工作;侧边聊天帮助我理解工作。
4. 用 Plan 规划路径,用 Goal 明确结果
Plan 模式和目标解决的是不同的问题。
Plan 模式要求 Codex 在更改代码之前先提出实现路径。当任务描述不充分、有风险或可能涉及多个系统时,它很有用。
目标是持久的。它告诉 Codex 在多个回合中要持续追求什么结果。在移动端,/goal 可以创建和管理该目标,同时随着工作继续,进度保持可见。
一个实用的模式是:
- 对一项有风险的更改,从 Plan 模式开始。
- 检查所提议的边界。
- 当工作将需要多次迭代时,把已接受的结果转化为一个目标。
- 让 Codex 继续完成实现、测试、审查反馈和清理,而无需每次都重述目标。
计划回答的是“我们应该如何着手做这件事?”目标回答的是“在我们完成之前,什么必须为真?”
5. 不离开对话即可审查代码
审查循环正是 Remote 对工程工作真正有用、而不仅仅是方便的地方。
已完成的回合可以显示更改文件的摘要。从那里,你可以打开 diff、检查单个文件、展开或折叠各部分、折行显示长行,并打开带语法高亮的源文件。你可以把行内评论附加到相关行,并将该审查上下文发回给 Codex。

这个工作流有几个层次:
- 打开更改文件摘要以进行快速检查。
- 当 diff 缺少周围上下文时,点进完整源代码。
- 添加行内评论以进行精确修正。
- 使用审查命令来审查本地更改或与某个分支进行比较。
- 当你希望 Codex 专门针对某个文件进行推理时,将该文件链接回聊天中。
这使得紧凑的移动端审查循环成为可能:
- Codex 完成实现。
- 我从手机上检查 diff。
- 我留下两条行内评论。
- Codex 在同一个聊天中处理它们。
- 我审查更小的后续 diff。
重点不是手机能取代大显示器来进行深度代码阅读。它不能。重点是许多审查都卡在一两个决定上,而这些决定不再需要等到我回到办公桌前。
6. 把权限视为工作流的一部分
只有当控制权保持明确时,远程工作才有用。
Remote 会针对命令、文件更改、网络访问和已连接工具显示审批请求。根据请求和主机配置,审批可能仅适用一次、适用于当前聊天,或适用范围更广。
高级用户的策略不是批准一切,而是选择能保持工作推进的最窄权限。
对于可信聊天中已充分理解的命令,聊天范围的审批可以消除重复中断。对于不熟悉的命令、敏感的仓库,或效果不明确的请求,请批准一次——或拒绝并让 Codex 解释或采用更安全的方法。
你也可以在开始工作时选择聊天的更广泛审批行为。将其视为聊天设置的一部分,与主机、工作区、分支和模型并列。
7. 在上下文成为问题之前管理它
Agent 聊天是有状态的,长聊天最终会积累足够多的上下文,从而变得更慢或不够专注。
Remote 有一小组用于管理该生命周期的工具:
/status显示会话详情、工作区、上下文使用情况和可用的速率限制信息。- 可选的上下文指示器让剩余上下文在编辑器中保持可见。
/compact压缩过度增长的聊天,同时保留有用的工作状态。/fork当你想要共享历史但不同方向时,从当前聊天创建新聊天。
实际顺序是:检查状态,当目标仍然相同时压缩,当目标已偏离时分叉。
不要将侧边聊天和分叉互换使用。侧边聊天是围绕当前工作的轻量级问题。分叉是继承原始聊天历史的新主聊天。
8. 保持干净的聊天列表
我自己的 Codex 工作流越来越像一个小型操作台。
我会固定少数正在积极推进的聊天,按成果重命名它们,并在工作完成后积极归档。浏览已归档聊天使这变得安全:归档是整理,不是删除。
通知是该系统的一部分。完成通知可以直接打开相关的 Codex 聊天,因此从“代理完成”到“人工审查”的交接只需轻点一下。
Spotlight 和 Shortcuts 可以直接打开 Remote。在 iPad 上,键盘快捷键让应用出奇地高效:创建新聊天、在聊天之间移动、打开更改的文件、固定、重命名和归档,无需伸手去操作每个控件。
这是 Remote 的“幕僚长”用例。该应用不仅是我发出提示的地方,也是我跟踪哪些工程工作处于活动、受阻、等待审查或已完成的地方。
输入 / 可以揭示通往应用许多高级行为的最快路径。可用性可能取决于连接的主机、应用版本和账户配置。
| 命令 | 用途 |
|---|---|
/plan |
在实施前切换计划模式。 |
/goal <objective> |
创建或更新持久目标。 |
/side [question] |
在不中断主聊天的情况下提出侧边问题。 |
/review |
审查本地更改或将其与分支比较。 |
/status |
检查会话、工作区、上下文和速率限制。 |
/compact |
压缩长聊天的上下文。 |
/fork |
从当前历史创建新的主聊天。 |
/fast |
在可用时在标准执行和更快执行之间切换。 |
/feedback |
发送与当前会话相关的产品反馈。 |
命令面板值得学习,因为它揭示了产品真正的概念模型:计划、执行、分支、审查、检查和恢复。
10. 在移动端特别有效的五个工作流
发布负责人
为某个发布或拉取请求开启一个专注的聊天。让 Codex 检查当前分支、CI 状态、未处理的评审反馈以及是否纳入发布。固定该聊天。当新信息到来时,仅当它使当前调查失效时才进行引导;否则将其排队。在手机上查看最终 diff 或发布说明,并在发布落地后归档该聊天。
中断驱动的缺陷修复
附上截图、日志或捕获的文件。让 Codex 在编辑之前先进行诊断。使用侧边聊天来审问某个可疑错误,而不偏离主调查。一旦原因明确,返回主聊天并授权进行范围狭窄的修复。
移动端评审者
针对目标分支运行评审,检查变更文件摘要,打开关键文件,并附加行内评论。让 Codex 只处理这些评论,然后评审后续 diff。
长期目标
创建一个具有明确完成条件的目标:测试通过、评审反馈已解决,或达到可复现的性能阈值。通过通知和状态检查进度,而不是反复询问“你完成了吗?”使用排队提示来处理额外工作,并将引导保留用于纠正。
多机器操作者
保持主机命名清晰,并按机器和工作区组织工作。使用手机在具有正确检出、凭据、模拟器或操作系统的机器上开启聊天。当一个聊天需要 Mac 而另一个需要 Windows 主机时,这尤其有用。
小而影响大的功能
我最喜欢的一些新增功能并非头条功能:
- 编辑最近发送的提示,而不是添加一个纠正轮次。
- 从聊天中保存或复制渲染后的图像。
- 在 Codex 仍在运行时查看排队的提示。
- 直接从通知中打开已完成的聊天。
- 浏览已归档的聊天,而不是让活动列表拥挤。
- 在窄屏幕上阅读时对长 diff 行进行换行。
- 使用 Face ID 或设备密码保护 ChatGPT 移动应用。
- 在发送前在编辑器中内联查看技能和插件。
- 当现实世界对象就是上下文时,直接拍照到提示中。
- 从选中的转录文本开始侧边聊天,而不是重新解释问题。
这些都没有改变基本的智能体模型。它们共同消除了让远程工作流感觉脆弱的摩擦。
更大的教训
最好的移动软件不会缩小桌面界面。它会识别你不在办公桌前时重要的决策,并使这些决策快速、清晰且安全。
这就是我现在对 Remote 的看法。在这里,我可以选择合适的环境、设定目标、重定向运行、回答审批、检查结果,并保持整个工程工作队列的连贯性。
计算机仍然完成工作。手机让我保持掌控。
来源:OpenAI Developers:Blog(网页) · developers.openai.com