@jxnlco: https://x.com/jxnlco/status/2057153744630890620
摘要
这个推文串讨论了使用Codex编码代理的最佳实践,重点包括持久线程、语音输入、引导、队列,以及其从代码生成扩展到完整计算机工作流程自动化的能力。
查看缓存全文
缓存时间: 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 现在可以将工作流从指令传递到执行再到工件审查,即使工作离开了仓库。
相似文章
@jxnlco: 我是 codex 团队的 jason,这里有一篇关于 codex 高效使用以及我日常使用的几个基本工具的草稿 https://jxnl.g…
Jason Liu 分享了高效使用 Codex 的工作流基本组件,包括持久线程、语音输入和引导,将 AI 智能体从编码扩展到知识工作。
Codex 最大化
Jason Liu 分享了他如何使用 OpenAI 的 Codex 进行编码之外的知识工作,利用持久化线程、语音输入和引导将编码代理整合到他更广泛的工作流程中。
@dotey: https://x.com/dotey/status/2057250417638035555
本文分享了来自Codex官方团队的使用技巧,包括持久对话流、语音输入、任务干预与排队、工具集成、自动化和目标设定等,帮助用户最大化利用Codex这一AI编码智能体。
解析Codex代理循环
# 解析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)是我们的跨平台本地软件代理,旨在在你的机器上安全高效地运行,生成高质量、可靠的软件更改。自从我们首次推出以来,我们已经学到了大量关于如何构建世界一流软件代理的知识[自从我们首次启动
@nickbaumann_:这彻底改变了我使用 Codex 的方式——所有操作都从单个持久线程(我的“chief of staff”)中运行……
Codex 现在可以自动创建、搜索、整理、固定线程,并为并行任务生成工作树,让用户将线程管理委托给 AI 本身,充当一个持久的 chief of staff。