Codex CLI 的 /goal:让 AI 记住你要做什么

2026-05-07

一个问题

用过 AI 编程的人大概都经历过这个场景:你让 AI 改一个功能,改了十分钟还没改完,你关掉终端去开会。回来之后重新打开,AI 已经不记得刚才在做什么了。你得重新说一遍需求,重新推送给它上下文,浪费十分钟进入状态。

这不是 AI 的错——每次对话都是新的开始。AI 没有长期记忆,你跟它说的每一段话都只在这段对话里有效。

如果能让 AI 记住一个目标,每次回来都自动继续做呢?

什么是 /goal

Codex CLI(OpenAI 的命令行编程工具,80k+ stars)内置了一个 /goal 命令。它不是第三方插件,不是 skill,是 CLI 自带的原生功能。

/goal 让 Codex 记住一个长期目标,跨对话轮次持续工作,直到完成、暂停或取消。

用法很简单:

/goal 给搜索页面加上分页功能

设完之后,AI 会把"给搜索页面加分页"记下来。接下来的对话,每次开始时 AI 都会检查这个目标,主动继续推进。如果你问的事情和目标无关,它会提醒你:"当前目标是给搜索页加分页,要继续做这个还是先暂停?"

你也可以检查进度:

/goal status        # 看当前目标是什么、做到哪了
/goal pause         # 暂停,去做别的事
/goal resume        # 恢复,继续做
/goal clear         # 清除目标

生命周期

一个目标有几种状态:

pursuing → 正在做
paused   → 暂停了,但目标还在
achieved → 完成了
unmet    → 没完成(比如方案不可行)
budget-limited → 配额用完了

设完目标之后,Codex 会处于 pursuing 状态。每次对话它都会检查目标进度,自动往下推。你做完了就告诉它"这个完成了",它标记为 achieved

和普通对话有什么区别

没有 /goal 的时候,对话是这样的:

你:给搜索页面加上分页功能
AI:好,改了 xxx 文件
你:(关掉终端,去吃饭)
你:(一小时后再打开)给搜索页面加上分页功能
AI:好,改了 xxx 文件——等等,它又从头开始做了。它不记得刚才改过。

/goal 的时候:

你:给搜索页面加上分页功能
AI:好,开始改
(你关掉终端,去吃饭,回来)
你:继续
AI:上次改到了分页参数解析的部分,遇到一个问题:页码从 1 开始还是从 0 开始。我看了下现有 API 的规范,应该从 1 开始,继续改?
你:继续
AI:好,继续改分页逻辑...

它记住了进度,不需要你重新描述上下文。

当前状态

/goal 是 Codex CLI 自带的功能,但目前官方文档还没有完整列出它(GitHub issue #20536 就是提这个的)。所以很多人不知道有这个东西。

已知的问题:

  • 对话 compaction 后目标上下文可能丢失(#19910
  • plan mode 下 /goal 可能看起来卡住了(#20656
  • 粘贴长文本到 /goal 时可能解析失败(#20736

但这些 bug 说明的是它在积极开发中,不是功能不可用。

适配 OpenCode 的 goal 技能

我们基于这个思路为 OpenCode 定制了 /goal 技能,见 opencode_skill 仓库。原理类似但实现方式不同:

维度Codex CLIOpenCode (定制 skill)
实现方式CLI 原生内置Markdown skill + 文件持久化
存储内部状态管理.opencode/goal.json 文件
命令/goal / /goal status / /goal pause / /goal resume / /goal clear/goal / /goal status / /goal pause / /goal resume / /goal clear
生命周期pursuing/paused/achieved/unmet/budget-limitedpursuing/paused/achieved/unmet
维护方式OpenAI 官方维护,但未文档化开源 skill,自维护

两个工具的核心思路一样:让 AI 不要每次都从头开始。

和 autoresearch 的区别

本博客另一篇文章介绍了 autoresearch——让 AI 自己跑实验做优化。两个技能容易混淆,但解决的问题不同:

维度/goal/autoresearch
要解决的问题AI 不记得上次在做什么人不想手工跑几十次实验
作用范围跨对话轮次(天/周)单次对话内(小时)
核心机制读取 .opencode/goal.json 记住目标循环:改→测→保留或回滚
是否需要指标不需要,纯目标描述必须,需要可量化的 Verify 命令
典型场景"写个注册系统,今天做一半明天继续""测试覆盖率从 72% 提升到 90%,一晚上跑 100 次"
输出进度追踪 + 冲突提醒实验日志 + 指标变化趋势

可以串用。/goal 记住大目标("优化搜索性能"),在具体 session 里用 /autoresearch 优化具体指标("p99 延迟降到 100ms")。


如果你在用 Codex CLI,试试:

/goal 给搜索页面加上分页功能
/goal status

它解决的不是"AI 能不能写代码"的问题,而是"AI 能不能持续做完一件事"的问题。后者在实际使用中可能更重要。

https://blog.logfun.xyz/blog/feed.xml