从底层实现到实战选型,一文讲透 Anthropic 两大自动化命令的设计哲学、技术架构与最佳实践
2026 年初,Anthropic 的 Claude Code 经历了一次重要的能力跃迁——从交互式编码助手进化为自主后台工作者。这场演进的标志性产物,就是两个斜杠命令:/loop(2026 年 3 月随 v2.1.72 发布)和 /goal(2026 年 5 月 11 日随 v2.1.139 发布)[1][2]。
对 loop engineering 了解的请查看这篇:
为什么大厂都在偷偷搞Loop Engineering?
一文看懂MCP、Skill、Harness、Loop 工程
表面上看,两者都让 Claude "自动干活",但它们的触发机制、停止逻辑、底层架构和适用场景截然不同。选错命令,轻则浪费 token,重则烧光预算——已有开发者报告 14 小时跑掉 $200 的案例[3]。
本文将从技术实现层面,逐层拆解两者的核心差异。
按固定间隔(或动态间隔)反复执行同一段 prompt,本质是 Claude Code 内置的 cron 调度器。适合"每隔 X 分钟帮我检查一下 Y"这类监控场景。
设定一个完成条件,Claude 每轮结束后由独立评判模型检查是否达标——达标则停,不达标则继续。适合"把这件事做到某个可验证的标准为止"这类构建场景。
/loop 底层封装了三个 cron 工具:CronCreate、CronList、CronDelete[1]。每个任务拥有 8 字符 ID,单会话上限 50 个。调度器每秒检查到期任务,以低优先级入队,在用户回合之间执行(不在 Claude 响应过程中执行)[1]。
为避免所有会话同时请求 API,调度器添加了确定性 Jitter(抖动):重复任务最多延迟计划时间的 30 分钟,一次性任务最多提前 90 秒[1]。
语法速查
1
2
3
4
5
6
7
8
# 固定间隔 + prompt
/loop 5m check the deploy status
# 仅 prompt(Claude 动态选择 1min~1h 的间隔)
/loop check the deploy
# 裸命令(运行内置维护模式或 loop.md)
/loop
/goal 的底层是一个会话级(session-scoped)基于 prompt 的 Stop Hook[2]。其核心创新在于工作模型与评判模型分离:
关键设计:评判模型不调用工具、不读文件、不执行命令,仅根据对话中已出现的内容做判断[2]。这意味着用户必须在条件中要求 Claude 将验证证据留在对话中,评判模型才能做出准确判断。
语法速查
1
2
3
4
5
6
7
8
# 设置目标
/goal All tests pass and the new endpoint returns 200, or stop after 20 turns
# 查看当前目标状态
/goal
# 清除目标
/goal clear
图 1:/loop 与 /goal 的执行流程对比
维度 | /loop | /goal |
|---|---|---|
发布时间 | 2026 年 3 月(v2.1.72) | 2026 年 5 月 11 日(v2.1.139) |
驱动方式 | 时间驱动(cron 调度) | 条件驱动(评判模型检查) |
下一轮何时开始 | 等待设定的时间间隔到期 | 上一轮结束后立即开始 |
停止条件 | 用户手动停止,或 Claude 主观判断完成 | 独立评判模型确认条件满足 |
底层实现 | CronCreate / CronList / CronDelete | Session-scoped prompt-based Stop Hook |
模型使用 | 仅主模型 | 主模型 + 独立评判模型(Haiku) |
会话限制 | 最多 50 个定时任务 | 最多 1 个活跃目标 |
过期策略 | 重复任务 7 天后自动过期 | 无过期,需手动清除或条件达成 |
自定义 | 支持 loop.md 自定义默认 prompt | 条件文本即配置(上限 4000 字符) |
恢复机制 | --resume 恢复未过期任务 | --resume 恢复条件,轮数重置 |
这是实际使用中最容易被忽视、却影响最大的维度。
每次循环产生一次 API 调用,消耗取决于上下文大小和输出长度。例如:每小时运行、每次读取 10,000 token 日志并生成 1,000 token 摘要,72 小时约消耗 ~792,000 token[4]。/loop 的优势在于等待期间不消耗 token——只有执行时才计费。
/goal 的消耗结构更复杂:
一位开发者运行 /goal 14 小时后烧光了 $200 账户的全部周额度[3]。Anthropic 自身数据也表明,多代理系统比普通聊天多耗约 15 倍 token[5]。务必在条件中写入轮次上限。
/loop 适合周期性、重复性、监控类任务,核心特征是"每次执行相互独立,不需要累积上下文"[1]:
/loop 5m check the deploy status with 'kubectl rollout status'/loop 2h /review-pr 1234/loop 30m check if CI passed on main/loop 15m scan error logs and flag anything newremind me at 3pm to push the release branch裸 /loop(不带参数)会运行内置维护模式:继续未完成的工作 → 处理 PR 评论和 CI 失败 → 运行代码清理[1]。
/goal 适合有明确可验证终态的实质性构建工作[2]:
场景 | /loop? | /goal? | 原因 |
|---|---|---|---|
头脑风暴、探索性编辑 | 否 | 否 | 需要人类判断,不适合自动化 |
"让代码更快" | 否 | 否 | 开放性优化无明确终态,评判模型总能找到下一个优化点 |
调研类任务 | 否 | 否 | 没有可演示的停止条件 |
修复偶发 bug | 否 | 否 | 评判模型看不到稳定的成功证据 |
监控部署进度 | 是 | 一般 | /loop 的固定间隔更自然 |
实现完整功能模块 | 否 | 是 | 有明确的测试通过标准 |
理解 /loop 和 /goal,还需要引入第三个概念:Auto Mode。
三者的分工形成了一个清晰的自动化层次[2]:
Auto Mode + /goal 组合可以实现完全无人值守的长时间构建——这也是社区中"睡前设 goal,醒来收代码"玩法的根基[3]。
图 2:Auto Mode、/goal、/loop 的自动化层次
陷阱 1:模糊的完成条件
"Build the feature" 不是有效 goal。"All tests pass and the new endpoint returns 200" 才是[3]。评判模型只能做 yes/no 判断,条件必须可测量、可验证。
陷阱 2:无范围限制
不指定工作目录,agent 可能修改意外文件。始终在条件中限定范围。
陷阱 3:确认循环(Acknowledgement Loop)
条件太模糊时,Claude 每轮声称"有进展"但实际未推进,评判模型被说服后不断返回 no[3]。解决方法:要求 Claude 运行测试并将输出留在对话中。
陷阱 4:无轮次上限
/goal 没有内置 --max-turns。必须在条件中显式写入:or stop after 20 turns[2]。
/goal 条件三要素
可测量的终态 + 验证方法 + 约束条件
1
2
3
4
5
# 好的条件示例
/goal Run `npm test` and `npm run lint` — all must pass with zero errors. \
Only modify files under src/features/payment/. \
Do not touch shared utilities. \
Stop after 30 turns or when all tests pass.
or stop after N turnsCLAUDE.md + PRD + 设计文档,goal 就能变成一行命令[3]loop.md 自定义默认维护 prompt[1]/goal 的设计并非凭空而来。它的前身是社区中被称为 "Ralph Wiggum Loop" 的模式[3]:
值得注意的是,Claude Code 的 /goal 与 Codex 的 /goal 虽然同名,但设计不同:Codex 有 pause/resume 子命令和预算门控,主模型自行判断完成;Claude Code 更精简——一个条件、一个停止、一个清除,由外部模型评估[6]。
社区实践中,/goal 和 /loop 可以组合使用[7]:
/background 会话中设 /goal,实现脱离终端的自主运行/loop 轮询 /goal 的进度/goal 完成主任务,其中嵌入 /loop 做子监控这种组合模式代表了 Claude Code 自动化的高级用法——将目标驱动的连续执行与时间驱动的周期检查结合起来,构建多层自动化工作流。
图 3:/loop 与 /goal 选型决策树
归根结底,/loop 和 /goal 的区别可以用一句话概括:
/loop 回答的是"多久做一次",/goal 回答的是"做到什么程度才算完"。
前者是定时器,后者是终点线。理解了这个本质区别,就能在实际开发中做出正确的选型,避免 token 浪费,真正发挥 Claude Code 自动化能力的价值。