跳到正文
北京时间
原文
OpenAI Developers:Blog(网页)·· 2026-06-23精选AI 评分67

OpenAI 讲解如何用手机远程掌控 Codex 编码工作

Mastering remote engineering work from your phone

AI 导读

OpenAI 开发者博客发布长文,讲解如何在 ChatGPT 移动端通过 Codex Remote 启动、引导、审查和管理运行在开发机上的编码任务。文章提出手机是控制平面而非小型终端,介绍了 Queue 与 Steer 两种跟进方式的区别、/side 侧聊、/goal 持久目标、内联代码评论审查、权限审批和 /compact 等上下文管理命令,并给出发布负责人、移动端审查者等五种实用工作流。

推荐理由

作者以两个月的使用积累为基础,拆解手机端 Remote 的 Queue 与 Steer、侧聊、目标等机制,给出可直接照做的移动端编码工作流。

正文 · AI 翻译

ChatGPT 移动应用中的 Remote 很容易被低估。

乍一看,它像是用手机查看编码对话的一种方式。这确实有用,但忽略了更大的图景。Remote 的真正威力在于,它让你能够启动、指挥、审查和整理运行在开发机器上的工作,而不必假装 iPhone 应该是一个微型终端。

在过去两个月里,我们为这个循环增加了令人惊讶的深度:远程主机连接、工作树、目标、侧边聊天、内联代码审查、排队和引导提示、附件、技能和插件、归档聊天、安全控制,以及一长串让这款应用能够胜任严肃工作的小细节。

这是我希望每位新晋高级用户都能拥有的实战指南。

Remote project picker in the ChatGPT mobile app

正确的心智模型:你的手机是控制平面

代码仍然运行在它该在的地方:你的 Mac、Windows 机器、devbox 或其他已连接的主机上。在 ChatGPT 移动应用中,Remote 为你提供了一个原生界面来控制这些工作。

这一区别很重要。目标不是在小屏幕上复刻终端的每一项功能。目标是让你无论身在何处,都能轻松做出为智能体解除阻塞的决策:

  • 它应该使用哪个仓库和工作区?
  • 这应该运行在当前分支还是全新的工作树中?
  • 我的下一条消息应该等待,还是应该重定向当前正在进行的回合?
  • 这条命令批准执行安全吗?
  • 发生了什么变更,我是否认同?
  • 这应该成为一个持久目标、一个独立聊天,还是一个快速的侧边问题?

一旦你以这种方式使用这款应用,它就不再像远程桌面软件,而开始像工程控制平面。

1. 以正确的边界开启聊天

优秀的智能体工作始于一个范围界定正确的环境。Remote 让你在第一条提示之前选择已连接的主机和工作区。对于新聊天,你还可以选择分支、创建独立的工作树,并运行与之关联的环境设置。

Remote controls for choosing a host, repository, worktree, and environment

这让几种有用的模式成为可能:

  • 使用当前检出进行快速调查。
  • 为应当保持隔离的变更创建新的工作树。
  • 从预期的基线分支开始,而不是事后修复 Git 状态。
  • 在要求 Codex 构建或测试之前,先让环境设置运行完毕。

这是最重要的高级用户习惯之一:花 10 秒选择正确的执行上下文,省下 10 分钟的事后清理。

输入框还能承载比纯文本更多的上下文。你可以附加文件、照片或即时拍摄的照片。技能和插件会内联显示,这让确认你的提示是否调用了预期的能力变得容易得多。

Remote composer with multiple skills and plugins added inline

我的规则很简单:如果截图、文件或具名技能能消除歧义,就在第一回合之前附加或提及它。

2. 了解 Queue 与 Steer 的区别

这大概是 Remote 中最不显眼却高杠杆的设置。

当 Codex 已经在工作时,后续消息可以做两件事之一:

  • Queue 会等到当前响应结束后,再将你的提示作为下一回合发送。
  • Steer 会将指导注入到已经进行中的工作里。

Queue 是安全的默认选项。用于第二项任务、额外的测试请求,或任何应在当前工作之后进行的事情。

Steer 用于在继续走错路的代价仍在增长时纠正方向:

把修复限制在移动端包内。不要重构共享渲染器。

该复现只在重新连接后发生。测试恢复后的路径,而不是实时路径。

别再排查 UI 了。检查一下服务器是否在恢复过程中移除了该项。

这让手机变得比一块状态屏更有用。你可以在某次运行需要判断的确切时刻介入。

你可以在设置中选择默认的后续行为。我把 Queue 保持为默认,并有意识地使用 Steer;意外地在回合中途改变方向通常比等待代价更高。

3. 把侧边聊天当作思维的分支

长时间运行的编码对话会积累有价值的上下文。用每一个附带问题去打断它,会让主对话记录变得嘈杂,还可能把智能体从目标上拉走。

这正是侧边聊天所解决的。

使用 /side 打开一个与当前聊天相连的轻量对话。使用 /side <prompt> 打开它并预先准备好一个问题。更好的做法是,在对话记录中选择文本,然后选择 Ask in side chat。所选段落会成为新对话的起始上下文。

Selected transcript text with the Ask in side chat action

我用侧边聊天来处理这样的问题:

  • Codex 为什么选择这种架构?
  • 这个错误实际上是什么意思?
  • 这种行为与桌面应用一致吗?
  • 给我一个这个实现细节的发布说明版本。
  • 在我批准这条命令之前,我应该验证什么?

这个区分很有用:主聊天负责工作;侧边聊天帮助我理解工作。

4. 用 Plan 规划路径,用 Goal 明确结果

Plan 模式和目标解决的是不同的问题。

Plan 模式要求 Codex 在更改代码之前先提出实现路径。当任务描述不充分、有风险或可能涉及多个系统时,它很有用。

目标是持久的。它告诉 Codex 在多个回合中要持续追求什么结果。在移动端,/goal 可以创建和管理该目标,同时随着工作继续,进度保持可见。

一个实用的模式是:

  1. 对一项有风险的更改,从 Plan 模式开始。
  2. 检查所提议的边界。
  3. 当工作将需要多次迭代时,把已接受的结果转化为一个目标。
  4. 让 Codex 继续完成实现、测试、审查反馈和清理,而无需每次都重述目标。

计划回答的是“我们应该如何着手做这件事?”目标回答的是“在我们完成之前,什么必须为真?”

5. 不离开对话即可审查代码

审查循环正是 Remote 对工程工作真正有用、而不仅仅是方便的地方。

已完成的回合可以显示更改文件的摘要。从那里,你可以打开 diff、检查单个文件、展开或折叠各部分、折行显示长行,并打开带语法高亮的源文件。你可以把行内评论附加到相关行,并将该审查上下文发回给 Codex。

Remote diff with an inline review comment

这个工作流有几个层次:

  • 打开更改文件摘要以进行快速检查。
  • 当 diff 缺少周围上下文时,点进完整源代码。
  • 添加行内评论以进行精确修正。
  • 使用审查命令来审查本地更改或与某个分支进行比较。
  • 当你希望 Codex 专门针对某个文件进行推理时,将该文件链接回聊天中。

这使得紧凑的移动端审查循环成为可能:

  1. Codex 完成实现。
  2. 我从手机上检查 diff。
  3. 我留下两条行内评论。
  4. Codex 在同一个聊天中处理它们。
  5. 我审查更小的后续 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