Clipping 微信公众号

Claude Code 自动模式、-goal 和 -routines:如何在无人值守的情况下运行Agent

by 扶苏 原文 ↗
Created: 2026-07-03

公众号名称:奇点先锋

作者名称:扶苏

发布时间:2026-07-03 08:00

你有没有过这种崩溃时刻——半夜 CI 红了一片,第二天还要赶工去修?或者每周例行的依赖审计,每次都得手动跑一遍?接下来把 Claude Code 的 Auto Mode、/goal 命令、/routines 调度这三件套拆得明明白白。看完你就会发现,原来让 AI 员工7×24 自驱干活,根本不需要养一个 DevOps 团队。一杯咖啡的时间,让你从”AI 监工”升级成”AI 老板”。

⚡ 太长不看(TL;DR)

  • Auto Mode = 给 Claude 开”免打扰审批”权限,让它一次性把多步任务跑完

  • /goal = 给 Claude 立一个”KPI”,让它自己拆解路径,而不是事无巨细写 To-Do

  • /routines = 给 Claude 装个定时器,按 Cron / Webhook / Git Hook 触发任务

  • 三者合一:方向 + 调度 + 执行 = 一个真正不需要人盯的”数字员工”

  • 核心安全准则:权限越小越好、失败兜底必须写、测试用例必须跑


正文开始

一、为什么我们需要一个”不用你”的 Claude Code?

先问个扎心的问题👇

你每周到底花多少时间,在手动触发那些”明明可以让 AI 干”的任务上?

跑测试覆盖率检查、写 changelog、扫过期依赖、review PR…… 这些事儿有规律、可重复、却又繁琐得要命

传统玩法是写个 cron 脚本,或者下班前手动 npx claude "..." 一下。但问题来了——静态脚本没有脑子,AI 对话又没法定时

于是,Claude Code 推出了三件套:

  • 🔥 Auto Mode(自动模式):让 AI 摆脱”步步审批”

  • 🎯 /goal 命令:给 AI 立一个”KPI”

  • /routines:让 AI 按时间表自动上班

三者合起来的意思就是:你只管睡觉,AI 帮你干活


二、Auto Mode:把”挨个确认”按钮彻底砸烂

1. 默认 vs. Auto Mode 的区别

默认情况下,Claude Code 是一个”乖学生”

  • 跑命令前问你:“这条命令要执行吗?”

  • 写文件前问你:“这个改动可以吗?”

  • 删东西前更得问:“你确定要删?”

你写一句 prompt,它回你 15 次确认——这种体验,摸过鱼的兄弟都懂😮‍💨。

Auto Mode 直接掀桌子:只要权限白名单内的动作,一路狂奔到结束,最后只跟你汇报结果。

2. 怎么开启 Auto Mode?

最暴力的方式:命令行加个 --dangerously-skip-permissions 参数(生产环境慎用)。

更优雅的姿势:用 Claude Code 内置的权限系统,给它白名单某些权限(比如 file_writeshell_execweb_request),其他权限继续收紧。

比如你想让 Claude 非交互地跑一个任务,直接这样:

```bash
# 非交互模式:跑完即结束,不问问题
claude --no-interactive "审计 auth 模块的测试覆盖率,把报告写到 coverage-report.md"
```

没有 ? (Y/n),没有”请确认”,一句话进、一份报告出。堪称打工人的摸鱼神器。

但这只是一次性任务。想要”天天自动跑”,就要请出下面这俩兄弟👇。


三、/goal 命令:给 Claude 立一个 KPI,而不是 To-Do

1. 这玩意儿跟普通 Prompt 有什么不一样?

博主给你打个比方👇

  • 普通 Prompt = To-Do List(“今天买菜、洗衣服、拖地”)

  • /goal = Job Description(“保持家里干净整洁”)

To-Do 写死步骤,Goal 只说结果。剩下的路,Agent 自己走。

2. 一个例子秒懂

/goal 保持 main 分支的测试套件全绿——任何 CI 失败,30 分钟内自动修复

设了这个 Goal 之后,Claude 心里就有数了:

  • 成功长啥样:测试全绿

  • 触发条件:CI 失败

  • 时间窗口:30 分钟

至于”该改哪些文件、要不要提 PR、走什么分支策略”——别写,它自己会琢磨。这才是 Agent 跟脚本的本质区别。

3. Goal 的”三段式”写法

Goal 写得烂,AI 就给你摸鱼;写得太死,又退化成脚本。一份合格的 Goal 必须包含三段:

  1. 清晰的验收标准:啥叫”干完了”?

  2. 明确的范围:哪些目录、哪些模块能动?

  3. 明确的禁区:哪些事绝对不能干?

反面教材

/goal 提高代码质量

——这种 Goal 写出来,AI 只能一脸懵,最后给你把整个项目 format 一遍。

正面教材

/goal 重构 /api/handlers 目录,使其遵循 CONTRIBUTING.md 里规定的错误处理规范。
不要动任何数据库 migration 文件。

——目标明确、范围清晰、禁区明示,AI 就能放心开干。

4. 持久 Goal vs. 会话 Goal

默认情况下,/goal 只在当前会话有效,关掉就没了。

想要跨会话、跨定时任务一直生效?把它存到项目的 .claude 配置目录里。这是跟 /routines 联动的前置条件。


四、/routines:给 Claude 装个闹钟

1. 啥是 Routine?

Routine = 触发器 + Goal + 权限上下文,三件套打包成一个可重复执行的工作流

来看一个真实例子:

```yaml
# 文件:.claude/routines/daily-dependency-audit.yaml

name: daily-dependency-audit
schedule: "0 9 * * 1-5"   # 工作日早上 9 点
goal: |
检查过期的 npm 依赖。如果有安全告警,
就开一个 GitHub Issue 写明情况。
如果是非破坏性更新,直接提个 PR 改上去。
permissions:
- file_write
- shell_exec
- github_api
```

设完之后——周一到周五早上 9 点,Claude 自动醒来、扫依赖、判断风险、开 Issue 或提 PR。你连手指都不用动,这就是数字员工的真正形态。

2. 怎么创建和管理 Routine?

```bash
/routines new            # 新建(交互式向导)

/routines list           # 列出所有 routine

/routines run daily-dep  # 手动跑一次(上线前先测这个!)
```

除了交互式向导,你也可以直接写 YAML 文件,扔到项目的 .claude/routines/ 目录下。博主更推荐后者——可以进 Git 版本管理,谁改了一目了然。

3. 触发器不只有 Cron!

Routine 的触发器远不止定时任务,还能接这些👇

  • 📂 文件系统事件:配置文件改了,自动跑校验

  • 🔔 Webhook:CI 系统推送事件,自动触发

  • 🪝 Git Hook:commit、merge 后自动跑

  • 🖱️ 手动触发:临时跑一次(跟手动模式一致)

说白了,Routine 不是定时任务脚本,而是可复用的智能工作流


五、三件套合体:真正的”无人值守 Agent”

1. 它们是怎么配合的?

组件职责
Auto Mode解决”执行问题”——AI 不再等你审批
/goal解决”方向问题”——AI 知道目标是什么
/routines解决”时机问题”——AI 知道啥时候该干活

合起来就是:一个能按时起床、知道今天该干啥、还不用你盯的 AI 员工

2. 实例 1:PR Review 自动预处理

需求:每次有人对 main 提 PR,自动生成结构化 review 评论。

Step 1:定义 Goal

/goal 每当新 PR 针对 main 提出来时,分析 diff 并写一条结构化评论,
覆盖:(1) 潜在 Bug,(2) 缺失的测试用例,(3) 风格规范违规,(4) 代码亮点。
最后把评论发到 PR 上。

Step 2:创建 Routine

```yaml
name: pr-review-prep
trigger:
type: webhook
event: pull_request.opened
branch: main
goal: pr-review-prep-goal
permissions:
- github_api
- file_read
```

Step 3:开启 Auto Mode

```yaml
auto_mode: true
skip_confirmations:
- file_read
- github_api_read
- github_api_comment
```

搞定。从此以后,每个 PR 一提出来,几分钟内就有 AI 写的 review 摘要。开发压根不用记着”哦我得跑一下”。

3. 实例 2:周末凌晨自动重构

需求:每周六凌晨 2 点,让 Claude 扫一遍 TODO:REFACTOR 标记的函数,自动重构并跑测试。

```yaml
name: weekly-refactor-pass
schedule: "0 2 * * 6"   # 周六凌晨 2 点
goal: |
扫描代码库里所有带 TODO:REFACTOR 注释的函数,
按注释里的说明重构它们。每改一个就跑一遍测试套件。
如果测试挂了,回滚改动并开一个 GitHub Issue。
最后把所有成功的重构打包进一个 PR。
permissions:
- file_read
- file_write
- shell_exec
- github_api
auto_mode: true
```

这个 routine 跑的时候你正在睡觉。周一早上醒来,PR 已经静静地躺在仓库里——祖传代码就这么无声无息地被清理了,堪称”懒人重构”的终极形态。


六、权限管理:这是最关键的一环

博主见过太多”翻车现场”——AI 干太多、或者该干的时候被权限拦住了。根本原因都是权限配置没做好

1. 三级权限模型

Claude Code 的权限分三档:

  1. Always allow:直接放行,不问

  2. Ask once per session:开头问一次,后面放行

  3. Always ask:每次都问

跑 Auto Mode 的 routine 时,大部分动作应该是”Always allow”,但只允许它真正需要的那些

2. 这些动作永远要”收紧”!

哪怕开了 Auto Mode,下面这些动作也必须保留确认

  • 🗑️ 删除文件/目录:除非任务就是清理,否则别给权限

  • 🚫 推送到保护分支:让 AI 开 PR,人类来 merge

  • 🌐 超出范围的外部 API:GitHub routine 不应该能访问任意网站

  • 🔐 密钥/凭证访问:能少给就少给,最好全程审计

3. 日志审计别偷懒

每个 Auto Mode 会话都会生成日志。建议养成习惯,每周翻一翻

  • 哪些动作让你意外?

  • 哪些任务半路挂了?为啥挂?

  • 哪些权限请求被拒了?(这往往说明你的白名单需要调整)

还可以让 Claude 把日志以 结构化 JSON 输出,方便接 ELK / Datadog 这类监控。


七、新手最容易踩的 4 个坑

坑 1:Goal 写得太模糊

/goal 优化一下代码  ❌ 太宽泛,AI 只能瞎猜

正确姿势:写明成功标准、范围、禁区。

坑 2:权限给得太宽

“为了保险,给它开个全权吧”——这是最危险的思路

权限爆炸半径 = 任务复杂度 × 权限范围。任一项失控,另一项救不了你

正确姿势:先开最小权限,跑几次没问题再逐步放开。

坑 3:没有失败兜底

“AI 跑挂了怎么办?”

如果你没告诉 Claude 失败时该怎么办,它会直接躺平,啥也不做——日志里一行 failure 就完事了。

正确姿势:在 Goal 里显式写明失败行为

如果你因为任何原因无法完成重构,开一个 GitHub Issue,
标题:"[Routine Failed]: weekly-refactor-pass",附上错误详情。
不要留下未提交的半成品改动。

坑 4:跑任务不跑测试

Agent 改完代码不跑测试?那不如不跑

任何涉及代码变更的 routine,都要在 Goal 里写明:改完 → 跑测试 → 通过才能提交。这是 CI/CD 的灵魂,AI 写代码也一样要守。


八、MindStudio:让 Agent 跑出代码库

⚠️ 本节为原文广告内容译介,博主仅做客观翻译,不代表推荐立场。

Claude Code 的这三件套是面向开发者的工具——需要写 YAML、敲命令、懂权限模型。如果你只想拖拖拽拽就搭出”自动跨工具跑任务”的 Agent,MindStudio 提供了另一条路。

它主打”无代码 + 1000+ 工具集成”:定时拉 GitHub 数据、自动发 Slack、写 Notion 文档、发邮件汇总——全在一套工作流里跑完,完全不用碰终端。

如果你已经在用 Claude Code 的 routine,可以把 MindStudio 当作”外围协作层”——让 AI 的产出自动触达业务侧,或者让非技术同事也能看见 Agent 在干啥。


九、常见 FAQ

Q1:什么是 Claude Code Auto Mode?

Auto Mode 是 Claude Code 的一种配置,允许 Agent 执行多步任务时不中断问询。你预先批准一组权限(写文件、跑命令、调 API 等),Claude 就一路跑到结束。特别适合 CI/CD、定时任务等”人插进来反而碍事”的场景。

Q2:/goal 跟普通 Prompt 有什么区别?

普通 Prompt 是一次性指令,/goal 是个持续目标。Claude 在整个会话里都会以这个目标为参考——甚至可以存到项目配置里,跨会话、跨 routine 生效。Goal 决定了 Agent 的”决策参考系”,不是单纯的”初始指令”。

Q3:Claude Code Routine 跟 Cron 一样吗?

不一样。Cron 跑静态脚本,Routine 让 Agent 带着脑子跑——它会看现场情况、根据当前状态做判断、动态调整动作。触发器也不止 Cron,还有 Webhook、文件事件、Git Hook 等。

Q4:怎么防止 AI 在 Auto Mode 里瞎搞?

权限收敛是核心。只给任务必需的那几种权限;不可逆操作(删文件、合保护分支、外部写操作)保留在”每次都问”档位;Goal 里显式写明失败时的应对策略,别让 AI 自己临场发挥。

Q5:能在 CI/CD 里跑 Routine 吗?

。Claude Code 的 --no-interactive 模式专门干这个。GitHub Actions、GitLab CI、Jenkins 都能调用。跑长时间 routine 时,记得配置好日志输出和失败处理,让流水线能正确解读 Claude 的结果。

Q6:Routine 跑一半挂了咋办?

默认行为是记日志、停止。如果 Goal 里定义了失败路径(开 Issue / 发通知 / 回滚),Claude 会按那个走。啥都没定义的话,就只剩日志里一行红字。所以生产级 routine 一定要写明失败行为


十、终极总结:一张图带走全文

如果你只能记住一句话,那应该是这句👇

Auto Mode 决定”能不能放手”,/goal 决定”往哪走”,/routines 决定”啥时候走”——三者合一,才是真正的”数字员工”。

最后送大家一份实操 checklist

  • [ ] Goal 写得明明白白:成功标准 + 范围 + 禁区,缺一不可

  • [ ] 权限给得刚刚好:先窄后宽,跑几次再放开

  • [ ] Routine 配得稳稳的:Cron / Webhook / Git Hook 选合适的触发器

  • [ ] 失败兜底写得硬:AI 挂掉时该开 Issue 还是发通知,写清楚

  • [ ] 测试用例必须跑:没跑测试的 routine 比没有 routine 还危险

  • [ ] 日志定期翻一翻:每周审计一次,看有没有意外动作

做到这 6 点,你就能从”AI 监工”进化成”AI 老板”。剩下的事情,就交给你的数字员工吧


内容效果不满意?点此反馈

输入关键词开始搜索