<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>自主编码 on Codexer</title><link>https://codexer.com/tags/%E8%87%AA%E4%B8%BB%E7%BC%96%E7%A0%81/</link><description>Recent content in 自主编码 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/%E8%87%AA%E4%B8%BB%E7%BC%96%E7%A0%81/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></channel></rss>