@jxnlco: https://x.com/jxnlco/status/2057153744630890620

X AI KOLs Following 产品

摘要

这个推文串讨论了使用Codex编码代理的最佳实践,重点包括持久线程、语音输入、引导、队列,以及其从代码生成扩展到完整计算机工作流程自动化的能力。

https://t.co/9KkXEINuIj
查看原文
查看缓存全文

缓存时间: 2026/05/20 20:35

充分发挥 Codex 的潜力

大多数开发者最初将编码代理用于代码:检查仓库、生成差异、运行测试、提交拉取请求。

这仍然是 Codex 的核心场景。但计算机上的大量工作已经通过代码来驱动:执行 shell 命令、浏览网页、调用 API、导出文档、响应事件、触发自动化。当这些界面向 Codex 开放后,它不再仅仅是一个狭义上的编码助手,更像是一个完成计算机工作的系统。

Codex 应用让这种转变变得具体可感。一个线程可以保持上下文、使用工具、展示工件,并在多次提示之间延续,而不是每次对话后重置。

要充分发挥 Codex 的能力,需要将这些功能结合起来使用:

  • 持久线程,保留上下文
  • 在用户还在循环中时,支持语音、引导和排队
  • 浏览器、计算机使用、MCP 服务器和连接器,让 Codex 能够超出仓库范围行动
  • 线程自动化和目标,让用户在离开时工作仍能继续
  • 侧边栏,用户可以在此审查代码、文档、演示文稿和其他工件

持久线程

持久线程: 长时间运行的 Codex 线程,可在重复会话中保留工作上下文。

固定线程是保持持久线程随手可及的一种方式。它们适用于重复性的工作流,例如:

  • 一个首席参谋线程
  • 一个发布线程
  • 一个文档审查线程
  • 一个专门用于外部监控的线程

这些是持久的工作空间,而非短暂的聊天。Codex 可以随时间反复访问它们,保留之前的决策、偏好和工作上下文,否则这些内容需要从头重建。

固定线程的快捷键让这变得实用。Command-1 到 Command-9 可直接跳转到已保存的线程。

语音输入

语音输入很有价值,因为它能在想法被压缩成精炼文字之前捕捉其粗糙版本。

Codex 内置语音输入功能。它特别适用于那些说起来自然但打字别扭的模糊起点:

我想有人在 Slack 里提到了一个叫 Ben 的人。 我不记得具体细节了。 请你去查一下。

对于一个可以搜索、收集上下文并回报告知的代理来说,这通常就足够了。

它也很适合在任务尚未完全成型时进行两到三分钟的想法倾泻。

转录文本也是如此。原始会议记录或口述的规划笔记往往比简短摘要提供更好的素材,因为它保留了不确定性、重点和未完成思路的脉络。

引导与排队

当与对活动任务的显式控制相结合时,语音变得更有用。

引导: 在当前步骤完成前,用新的方向打断正在进行的 Codex 任务。

当代理走错方向、需要在完成前进行修正时,引导很有用。例如,在网站审查期间,用户可以在侧边栏标注界面时打断工作:

  • 把这个改小一点
  • 这两个元素之间的间距不太对
  • 这个文案错了

排队: 在当前步骤完成后,为 Codex 添加待完成的工作。

排队则不同。它不会打断正在进行的任务,而是将下一个任务添加到队列中。用户可能会说:

工作完成后,把预览链接通过 Slack 发送给审阅者。

引导改变 Codex 当前正在做的事。排队改变下一步应该做的事。两者都让用户在任务进行过程中保持密切参与。

工具与触达范围

一旦线程具有连续性,下一个问题就是它能对什么进行操作。Codex 可以分层向外扩展:

  • $browser 用于侧边栏中的应用内浏览器,Codex 可在其中检查和注释网页界面
  • @chrome 用于已登录的浏览器状态和基于 Chrome 的工作流
  • @computer 用于仅通过桌面 GUI 存在的工作

$browser 适用于侧边栏浏览器审查。@chrome 适用于依赖于用户 Chrome 上下文的已登录浏览器工作。@computer 适用于仅通过桌面 GUI 完成的任务。

MCP 服务器和连接器将同样的理念扩展到工作流的其余部分。Slack、Gmail 和日历很重要,因为许多重要任务在成为代码之前,首先表现为消息、收件箱项或日程安排问题。

技能让重复工作流可复用。一旦某个工作流被证明有用,将其打包为技能,这样 Codex 就可以再次运行它,而无需从头重新学习整个过程。

随处工作

Codex 移动应用改变了用户必须守在桌前的状态。任务可以从 Mac 开始,那里已有文件、权限和本地设置,然后用户通过手机检查进度时继续执行。

这在零碎时间里很有意义。当 Codex 运行较长时间的任务时,用户可以离开桌面,从外部回答问题,批准下一步,或在返回前重定向线程。本地环境保持不变;用户不必守着。

自动化

自动化按计划运行 Codex 工作。当重复性工作应从工作空间重新开始时(如日报或定期仓库检查),使用计划自动化。当计划应返回到一个带有运行上下文的活跃对话时,使用线程自动化。

线程自动化: 类似心跳的周期性唤醒机制,按计划返回同一个 Codex 线程。

固定线程很有用,但它们仍需要用户返回。线程自动化可以每隔几分钟或几小时检查某些内容,继续执行直到满足条件,并随时间调整节奏。

一个首席参谋线程可能每 30 分钟运行一次:

每 30 分钟检查 Slack 和 Gmail 中未读且需要注意的消息。 帮助我确定最重要的事项。 如果有人向我提问,尽可能深入研究答案并草拟回复,但不要发送。

当用户返回时,收集上下文的繁重工作往往已经完成。人类仍然决定发送什么内容。

线程自动化也适用于反馈循环。线程自动化可以监控拉取请求评论、Google Docs 评论或 Slack 回复,并在用户离开时保持相关工作的推进。

考虑一个动画工作流,审阅者在 Slack 中分享了一个视频。线程自动化可以按计划检查线程,当评论到达时渲染更新版本,并在同一个线程中回复并标记审阅者。如果一个集成无法完成最终上传,桌面自动化可以通过 GUI 完成这一步。

这个循环跨越了用于反馈的 Slack、用于渲染的代码库以及用于最终上传的桌面自动化。

目标

当任务有一个代理可以持续推动的明确终点时,目标最为强大。一个弱目标是:

目标: Codex 长期运行的任务,具有代理可以随时间持续努力实现的终点。

实现这个 Markdown 文件中的计划。

一个更强的目标具有可衡量的成功标准。

例如,一位工程师可能通过设置新目录、定义目标并使终点明确(新实现在单元测试通过之前不算完成),将内部工具从 Python 迁移到 Rust。

一个目标将持续执行与验证器相结合。用户定义结果、停止条件以及表明 Codex 是否接近目标信号。

有用的验证器包括:

  • 测试套件
  • 基准测试
  • 缺陷复现
  • 验证矩阵
  • 必须持续通过的端到端工作流

有雄心是好的,但没有验证就只是空想。

侧边栏

侧边栏将工作与产生它的对话放在一起。用户无需导出工件并切换上下文,即可原地审查。输出可能是代码,但也可能是演示文稿、PDF、浏览器页面、表格或其他在过程中创建的工件。

它特别擅长四种工作:

  • 检查工件
  • 标注需要更改的内容
  • 操作网页界面
  • 审查更改

侧边栏允许用户原地审查 Markdown、电子表格、数据表格、文档和幻灯片。他们可以检查、标记和修改工件,而不会中断循环。

注释 注释

演示文稿或 PDF 可以保持打开在与产生它的线程旁边,随时准备直接审查和修复。

Codex 中的表格 Codex 中的表格

应用内浏览器允许 Codex 检查渲染后的页面,控制它,并直接在被审查的界面上响应注释。页面或工件上的评论留在工作循环内,而不是变成单独的交接。

网络既是输出也是控制界面。Codex 可以构建工件,在侧边栏中打开它,检查它,调试它,并在原地不断优化同一个对象。

以下界面尤其好用:

  • index.html 用于轻量级静态工件
  • Storybook 用于 UI 审查
  • Remotion Studio 用于程序化动画
  • 基于浏览器的演示文稿
  • 用于分析工作流的数据应用

一个单一的 index.html 文件可以成为持久的交互式工件,无需服务器。线程自动化还可以随时间刷新静态工件,以便在用户返回时线程有新的内容等待。

共享记忆

长时间运行的线程在拥有外部于任何单个对话的共享记忆时更有用。

共享记忆: 存储在单个线程之外的持久上下文,以便未来的工作可以从明确且可审查的内容继续。

一个持久的模式是将持久线程锚定在 Obsidian 仓库中。实际上,这意味着一个纯文本文件夹,易于检查、编辑、移动并长期保存。团队可以将该文件夹存储在云存储、Git、Dropbox、Google Drive 或其他适合其工作流的同步层中。

一个仓库可能看起来像这样:

vault/ ├── TODO.md ├── people/ ├── projects/ ├── agent/ └── notes/

在顶层,AGENTS.md 可以定义 Codex 应如何随着其对人员、项目、决策和未完成任务的了解加深来更新该工作空间。

不要照搬某个具体的仓库结构。教给代理持久上下文应放在哪里、应保留哪些上下文,以及何时不应制造变动。

一个实用的 AGENTS.md 可能这样说:

  • ~/vault 视为持久工作记忆。
  • 优先使用规范笔记,避免笔记泛滥。
  • 明确路由 TODO、人员、项目、每日摘要和草稿笔记。
  • 保留决策、阻塞项、负责人、日期和有用的链接。
  • 如果没有有意义的变化,不要变动仓库。

仓库保存代码。仓库保存滚动上下文:涉及的人员、发生了什么变化、什么被阻塞了、什么需要跟进,以及那些否则会在会话之间消失的内容。

重要的上下文不应只存在于对话记录中。将其写下来,以便下一个线程可以重新拾起。

Codex 在设置 > 个性化 > 记忆中也有第一方记忆功能。它们为偏好、重复性工作流和已知陷阱提供了一个本地回忆层。它们补充而非替代明确的书面上下文。Chronicle 通过帮助 Codex 从最近的屏幕上下文中构建记忆,朝着同样的方向努力。

从代码向外延伸

Codex 仍然从代码开始。但代码周围的更多工作现在可以通过同一个系统访问:MCP 服务器、浏览器界面、桌面控制、线程自动化和可审查的工件。

这改变了控制模式。引导打断正在进行的工作。排队安排下一个任务。线程自动化在用户离开时保持线程活跃。目标增加了具体的终点,Codex 可以持续朝着它努力。

Codex 现在可以将工作流从指令传递到执行再到工件审查,即使工作离开了仓库。

相似文章

Codex 最大化

Hacker News Top

Jason Liu 分享了他如何使用 OpenAI 的 Codex 进行编码之外的知识工作,利用持久化线程、语音输入和引导将编码代理整合到他更广泛的工作流程中。

@dotey: https://x.com/dotey/status/2057250417638035555

X AI KOLs Timeline

本文分享了来自Codex官方团队的使用技巧,包括持久对话流、语音输入、任务干预与排队、工具集成、自动化和目标设定等,帮助用户最大化利用Codex这一AI编码智能体。

解析Codex代理循环

OpenAI Blog

# 解析Codex代理循环 来源:[https://openai.com/index/unrolling-the-codex-agent-loop/](https://openai.com/index/unrolling-the-codex-agent-loop/) [Codex CLI⁠\\(在新窗口中打开\\)](https://developers.openai.com/codex/cli)是我们的跨平台本地软件代理,旨在在你的机器上安全高效地运行,生成高质量、可靠的软件更改。自从我们首次推出以来,我们已经学到了大量关于如何构建世界一流软件代理的知识[自从我们首次启动