Claude Code 进阶技巧指南:4个命令从保姆式到全自动AI编程
0xBC
2026年05月15日 13:59
收录于文集
共3篇
Claude

导语:还在一遍遍给AI下指令、等回复、再下指令?大多数开发者把Claude Code当成需要" babysit "的助手在用。今天,我要教你4个命令,让Claude变成真正的自主编程Agent——设定目标,走开,回来收结果。


一、传统开发 vs 自主开发:工作流的质变

❌ 传统Claude Code工作流

代码块
PlainText
自动换行
复制代码
你输入提示 → Claude回复 → 你检查 → 再输入提示 → Claude回复 → 重复20次...
复制成功

你是循环本身。你是条件检查器。你是让它持续运转的原因。

✅ 自主Claude Code工作流

代码块
PlainText
自动换行
复制代码
你设定条件 → Claude工作 → 快速评估器检查条件 → 未完成则继续 → 完成时给你总结
复制成功

你只设定一次目标。Claude运行直到达成。

这不是小修小补的工作流调整,这是与工具关系的根本性转变。


二、核心命令详解


🎯 命令1:/goal — 最强大的自主命令

大多数开发者从未用过 /goal,但它可能是Claude Code中最强大的功能。

工作原理

你设定一个完成条件。Claude每执行一轮后,一个小型快速模型(默认Haiku)会读取对话记录检查条件是否达成:

  • ❌ 未达成 → Claude自动开始下一轮

  • ✅ 已达成 → 显示"Goal achieved"总结并停止

你再也不需要反复输入提示。Claude会一直工作直到条件满足。

使用方法

代码块
Shell
自动换行
复制代码
/goal all tests in test/auth pass and the lint step is clean
复制成功

就这么简单。Claude立即开始工作。条件本身就是指令。

实时状态监控

运行中会显示 ◎ /goal active 指示器,显示已运行时长。随时检查状态:

代码块
Shell
自动换行
复制代码
/goal
复制成功

显示内容:条件描述、运行时长、已评估轮数、已消耗token、评估器最新判断理由。

提前停止

代码块
Shell
自动换行
复制代码
/goal clear
复制成功

(stop、off、cancel、reset、none 都可以作为别名)

万能模板

代码块
Shell
自动换行
复制代码
/goal [任务] until [成功条件], verified by [检查方式], while [约束条件], or stop after [限制]
复制成功

实战示例

代码块
Shell
自动换行
复制代码
# 示例1:API迁移
/goal migrate auth to the new API until all auth tests pass and unrelated test files are unchanged

# 示例2:带轮数限制的重构
/goal refactor the user service until tests pass, or stop after 10 turns

# 示例3:带时间限制的任务
/goal complete the migration, or stop after 30 minutes
复制成功

写好条件的关键技能

评估器只能读取对话记录,不能独立运行命令或打开文件。因此你的条件必须是Claude的输出能够证明的内容。

好条件

  • "All tests in test/auth pass and npm test exits 0"

  • "git status is clean and no other test files are modified"

  • "Every call site in the module compiles with no errors"

  • "Issue backlog queue is empty — verified by running the list command"

坏条件

  • "Do your best on the refactor" — 无可衡量的结束状态

  • "Looks clean" 或 "seems right" — 主观,无法评估

  • "Improve the code" — 无法验证完成

  • 需要评估器读取不可见文件的条件

💡 黄金法则:如果你无法描述Claude如何在对话记录中证明已完成——重写条件直到可以。

务必添加限制

对于非平凡任务,始终包含轮数或时间限制。否则无法满足的目标将永远运行。

代码块
Shell
自动换行
复制代码
/goal fix checkout tests, or stop after 10 turns
/goal complete the migration, or stop after 30 minutes
复制成功

Claude每轮都会跟踪并报告进度。评估器会判断是否已达到限制。

非交互式运行

代码块
Shell
自动换行
复制代码
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
复制成功

整个循环在一次调用中运行到完成。按Ctrl+C停止。完美适用于CI管道和定时脚本。

与Auto模式结合实现完全无人值守

  • /goal 移除每轮提示

  • Auto mode 移除每个工具的提示

两者结合 — Claude完全无人值守地工作,直到条件满足或达到限制。这是Claude Code中最接近完全自主编码Agent的体验。

崩溃后恢复

如果会话以活跃目标结束,使用 --resume 或 --continue 时会自动恢复。条件会延续过来。轮数、计时器和token消耗会重置。从停止处继续。


🔄 命令2:/loop — 定时循环执行

/loop 按你定义的时间间隔重复运行Claude —— 不是直到条件满足,而是按你设定的节奏。

/goal 说"继续直到这为真",/loop 说"每N分钟继续一次,直到你让它停止。"

最佳适用场景

  • 迭代式重构 —— 你希望Claude执行一轮,暂停,让你检查,然后再执行一轮

  • 需要重复检查的监控任务

  • 逐步清理积压工作 —— Claude每轮处理一个项目,你实时看到进度

  • 轮询随时间变化的外部状态

与/goal的核心区别

特性 /goal /loop 停止条件 条件确认满足时 你停止它,或Claude判断工作完成 节奏控制 连续执行 按设定间隔执行 人工介入 无需 可在间隔期间检查


⏰ 命令3:/schedule — 定时任务调度

/schedule 按固定节奏启动Claude —— 独立于任何开放会话。无论你是否打开Claude Code,它都会运行。

/goal 和 /loop 保持当前会话运行,/schedule 创建在后台按计时器独立发生的工作。

可以调度的任务示例

  • 夜间测试运行 —— Claude在凌晨2点运行完整测试套件,将总结发布到Slack

  • 早间分类 —— Claude每天早上审查开放issues,标记它们,标记阻塞项

  • 每周清理 —— Claude每周日扫描死代码、过时注释和TODO项

  • 每日站会准备 —— Claude在早9点前拉取最近提交、开放PR和失败测试到总结中

关键区别

特性 /goal / /loop /schedule 会话依赖 需要开放会话,关闭Claude Code即停止 完全独立运行 持久性 会话级 永久运行直到取消 使用方式 临时工具 基础设施组件

这就是你如何将Claude Code变成基础设施,而不仅是记得打开时才用的工具。


🛑 命令4:Stop Hooks — 程序化停止控制

Stop hook让你对Claude何时被允许完成一轮拥有程序化、脚本化的控制。

/goal 在底层使用Stop hook —— 它是一个基于提示的会话级hook,在每轮后触发。但你可以编写自己的Stop hook以实现完全自定义控制。

两种类型

▸ 基于脚本的Stop hooks

运行你的实际测试套件。调用CI端点。检查文件是否存在。查询数据库。任何确定性检查 —— 如果脚本退出码为0,Claude可以停止。否则,Claude继续。

这是最强大的模式:Claude工作,你的测试运行,如果失败Claude再试一次。完全没有人工参与。

▸ 基于提示的Stop hooks

模型针对对话记录评估自然语言条件 —— 完全像/goal。区别在于:Stop hooks存在于你的设置文件中,应用于其范围内的每个会话。/goal 是会话级且一次性的。

何时使用Stop hook vs /goal

场景 推荐方案 一次性条件,仅当前会话 /goal 相同评估逻辑应用于每个会话 Stop hook(基于提示,在设置文件中) 需要脚本运行确定性检查 Stop hook(基于脚本)

改变一切的组合

代码块
PlainText
自动换行
复制代码
/goal + Auto mode + 基于脚本的Stop hook(运行你的测试套件)
复制成功

Claude自主工作。每轮后,你的测试运行。如果通过 —— Claude停止。如果失败 —— Claude读取失败输出并重试。你回来时看到绿色构建或清晰解释为何无法达成。


三、命令选择速查表

你的需求 推荐命令 "我想让Claude继续工作直到测试通过" /goal all tests pass and npm test exits 0 "我想让Claude在重构时进行迭代轮次,我在每轮之间检查" /loop "我想让测试套件每晚自动运行" /schedule "我想让脚本决定Claude何时可以停止 —— 不是模型" Stop hook(基于脚本) "我想让每个会话自动应用相同条件" Stop hook(基于提示,在设置文件中) "我想让Claude完全无人值守工作 —— 无每轮提示,无每工具提示" /goal + Auto mode


四、快速参考卡片

设定目标

代码块
Shell
自动换行
复制代码
/goal [condition]
复制成功

检查状态

代码块
Shell
自动换行
复制代码
/goal
复制成功

提前停止

代码块
Shell
自动换行
复制代码
/goal clear
复制成功

非交互式运行

代码块
Shell
自动换行
复制代码
claude -p "/goal [condition]"
复制成功

添加安全限制

代码块
Shell
自动换行
复制代码
/goal [condition], or stop after [N turns / N minutes]
复制成功

万能模板

代码块
Shell
自动换行
复制代码
/goal [任务] until [成功条件], verified by [检查方式], while [约束条件], or stop after [限制]
复制成功

五、结语:两种开发者,两种未来

大多数开发者读完这篇文章,会回到手动输入每一步提示的老路。

那些在下个任务中设置 /goal + Auto mode 的人,将永远不会回头。

设定一个条件。走开。回来收结果。

这就是全部理念。


附录:进阶技巧

1. 条件设计的艺术

好的条件应该:

  • ✅ 可客观验证

  • ✅ 基于Claude可输出的内容

  • ✅ 包含明确的完成标准

  • ✅ 有合理的安全限制

2. 常见陷阱

  • ❌ 条件过于模糊

  • ❌ 忘记设置时间/轮数限制

  • ❌ 依赖外部状态变化而不检查

  • ❌ 条件与Claude能力不匹配

3. 最佳实践

  1. 从小目标开始,逐步增加复杂度

  2. 始终包含安全限制

  3. 定期检查 /goal 状态了解进度

  4. 结合Auto mode实现真正无人值守

  5. 使用Stop hooks处理复杂验证逻辑


📌 延伸阅读

  • Claude Code 官方文档

  • Claude Code 最佳实践


Tags:#ClaudeCode #AI编程 #开发效率 #自动化 #编程工具 #开发者进阶


本文基于Claude Code官方文档及社区实践经验整理