<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Goal Mode on Codexer</title><link>https://codexer.com/tags/goal-mode/</link><description>Recent content in Goal Mode on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 03 Jun 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://codexer.com/tags/goal-mode/index.xml" rel="self" type="application/rss+xml"/><item><title>Codex Goal Mode：让 AI 自主编程数小时，开发者只需要定义目标</title><link>https://codexer.com/posts/2026-06-03-codex-goal-mode-autonomous-coding/</link><pubDate>Wed, 03 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-03-codex-goal-mode-autonomous-coding/</guid><description>&lt;h2 id="从一问一答到给我一个任务我干完叫你"&gt;从「一问一答」到「给我一个任务，我干完叫你」&lt;/h2&gt;
&lt;p&gt;你有没有这样的经历？用 Codex 或其他 AI 编程助手写代码，每次都是「提一个需求，等它完成，检查结果，再提下一个需求」。一个涉及几十个文件的迁移任务，你可能要手动循环二十多次，每次都要重新告诉它上下文、目标和约束。&lt;/p&gt;
&lt;p&gt;这种「请求，响应」的交互模式，本质上把 AI 当成了一个更聪明的自动补全。它能帮你写一个函数、解释一个 bug、生成一段测试，但当任务需要跨多个文件规划、反复执行测试、自动修复失败、再重试时，这种模式就力不从心了。&lt;/p&gt;
&lt;p&gt;2026 年 5 月 21 日，OpenAI 发布了被称为「Codex Thursday」的重大更新。其中最引人注目的功能，就是 Goal Mode 从实验阶段正式毕业，成为 Codex App、VS Code 扩展、JetBrains 扩展和 CLI 的稳定功能。&lt;/p&gt;
&lt;p&gt;简单来说，Goal Mode 把 Codex 从「响应指令的工具」变成了「领受任务的自主 Agent」。你给它一个长期目标，定义好成功条件，设定一个 token 预算，然后就可以锁屏走人了。等你回来时，任务可能已经完成了。&lt;/p&gt;
&lt;h2 id="goal-mode-的五层架构"&gt;Goal Mode 的五层架构&lt;/h2&gt;
&lt;p&gt;要真正用好 Goal Mode，理解它的内部工作机制很重要。这个功能并不是简单的「循环执行」，而是由五个独立的层协作完成的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;状态层（SQLite）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;每个线程有一个活跃目标，存储在本地 SQLite 数据库中。字段包括目标文本、状态（active、paused、budget_limited、complete）、token 预算（可选）和运行中的用量计数器。关键设计：一个线程同一时间只能有一个活跃目标。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;应用服务器 API（JSON-RPC）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Codex 应用服务器暴露了 &lt;code&gt;thread/goal/set&lt;/code&gt;、&lt;code&gt;thread/goal/get&lt;/code&gt; 和 &lt;code&gt;thread/goal/clear&lt;/code&gt; 三个方法。你在 TUI 里输入的 &lt;code&gt;/goal pause&lt;/code&gt; 或 &lt;code&gt;/goal clear&lt;/code&gt; 命令，底层就是调用这些接口。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;模型工具层&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;模型可以访问三个工具：&lt;code&gt;create_goal&lt;/code&gt;、&lt;code&gt;update_goal&lt;/code&gt;（包括设置 complete 状态）和 &lt;code&gt;get_goal&lt;/code&gt;。有一个重要设计决策：模型无法自行暂停或恢复目标，这些状态转换由系统控制。这防止了模型陷入死循环时自行「续命」，或者在遇到困难时过早放弃。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;运行时事件总线&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;生命周期钩子会追踪每轮的 token 消耗和墙钟时间，在收到中断信号时自动暂停，在线程恢复时自动重新激活，并在接近预算限制时向模型的响应流注入「该收尾了」的引导信号。&lt;/p&gt;</description></item><item><title>Codex Goal Mode：让 AI 编程助手连续工作数小时，你只需要下一次指令</title><link>https://codexer.com/posts/2026-05-31-codex-goal-mode-autonomous-coding/</link><pubDate>Sun, 31 May 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-05-31-codex-goal-mode-autonomous-coding/</guid><description>&lt;h2 id="你有没有遇到过这样的场景"&gt;你有没有遇到过这样的场景？&lt;/h2&gt;
&lt;p&gt;你有一个 40 个文件的 API 迁移任务要完成。你打开 Codex，输入指令，它帮你改了两三个文件。然后呢？你得再发一条消息，告诉它继续。改完，再发消息。再改，再发。整个下午，你基本上就是一个「继续」按钮的搬运工。&lt;/p&gt;
&lt;p&gt;这种情况在 2026 年 5 月 21 日之后有了根本性的改变。&lt;/p&gt;
&lt;p&gt;OpenAI 在那天一次性发布了三个 Codex 更新，内部称之为 &amp;ldquo;Codex Thursday&amp;rdquo;。其中最核心的一个功能就是 Goal Mode 正式版。它从实验阶段走向全平台稳定发布，覆盖 Codex 桌面应用、VS Code 和 JetBrains 扩展，以及 CLI。&lt;/p&gt;
&lt;p&gt;简单来说，Goal Mode 让你可以给 Codex 一个跨越数小时的长期目标，设定一个验证成功条件，然后就去做别的事。等你回来的时候，任务已经完成了。&lt;/p&gt;
&lt;h2 id="从工具到有任务的-agent"&gt;从「工具」到「有任务的 Agent」&lt;/h2&gt;
&lt;p&gt;要理解 Goal Mode 的价值，得先看清楚传统 AI 编程助手的工作模式有什么问题。&lt;/p&gt;
&lt;p&gt;绝大多数基于大语言模型的编程工具都是「请求响应」式的：你写一段提示词，模型写一段代码，你检查，再提修改意见，它再改。这种方式处理单个函数、解释一个 Bug、生成一段测试代码，效果很好。&lt;/p&gt;
&lt;p&gt;但它有一个致命的短板：一旦任务需要跨文件规划、执行测试、修复失败、再重跑测试这样的循环流程，请求响应模式就撑不住了。因为每一轮对话结束后，模型的状态就重置了。它不记得上一轮干了什么，也不知道接下来该干什么。全靠你在每一轮重新描述目标。&lt;/p&gt;
&lt;p&gt;Goal Mode 增加的是一层「持久化记忆」。当你设定一个目标后，这个目标会存活在本地 SQLite 数据库里，不会因为对话轮次的切换、中断、预算暂停或恢复而丢失。Codex 会持续追踪目标的完成状态，把自己的输出和你定义的成功条件做对比，然后不断迭代，直到目标完成或者触发了你设定的边界条件。&lt;/p&gt;
&lt;p&gt;用一句话概括：模型从「你问它答」的工具，变成了「领了任务就干活」的自主 Agent。&lt;/p&gt;
&lt;h2 id="五层架构让目标运转起来"&gt;五层架构，让目标运转起来&lt;/h2&gt;
&lt;p&gt;理解 Goal Mode 的内部架构，能帮你写出更高效的目标定义，也能在出问题时快速定位原因。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;状态层（SQLite）&lt;/strong&gt;：每个线程只能有一个活跃目标。目标的完整生命周期信息都存在一张本地 SQLite 表里，包括目标文本、当前状态（&lt;code&gt;active&lt;/code&gt;、&lt;code&gt;paused&lt;/code&gt;、&lt;code&gt;budget_limited&lt;/code&gt;、&lt;code&gt;complete&lt;/code&gt;）、Token 预算（可选）和实时消耗计数。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;应用服务 API（JSON-RPC）&lt;/strong&gt;：Codex 应用服务器暴露了 &lt;code&gt;thread/goal/set&lt;/code&gt;、&lt;code&gt;thread/goal/get&lt;/code&gt;、&lt;code&gt;thread/goal/clear&lt;/code&gt; 三个接口。你在 TUI 界面输入的 &lt;code&gt;/goal pause&lt;/code&gt; 或 &lt;code&gt;/goal clear&lt;/code&gt; 命令，底层调的就是这些接口。&lt;/p&gt;</description></item></channel></rss>