你还在一遍遍给Claude输入指令吗?Routines让AI学会自己加班

2026-04-23 12:25:47 0点赞 0收藏 0评论

4月14日,Anthropic在Claude Code里上线了一个叫Routines的新功能,一句话概括:你可以把提示词、代码仓库和连接器打包成一个“自动化脚本”,让Claude按时间表、API调用或GitHub事件自己跑起来,全程在Anthropic自家的云端执行,本地电脑可以直接关机。这意味着什么?你晚上睡觉的时候,Claude可以帮你修bug、审查PR、清理开发队列,第二天早上起来直接验收成果就行。今天我就把 Routines 的核心能力、完整配置方法和实战代码全部梳理出来,手把手带大家上手。

你还在一遍遍给Claude输入指令吗?Routines让AI学会自己加班

# 01. Routines 是什么?

### 1.1 从单点对话到自动化工作流

传统AI编程工具的核心范式是“问答式”交互:开发者提出问题,AI给出回答。虽然能解决代码生成的问题,但每个环节仍然需要人工介入。Routines的出现改变了这一局面。 它允许开发者将复杂的多步骤任务流程定义为可复用的自动化脚本,在Anthropic托管的云端基础设施上执行。一旦配置完成,Claude就能自主完成整个工作流程,不需要你的电脑保持开机状态。

你还在一遍遍给Claude输入指令吗?Routines让AI学会自己加班

### 1.2 核心能力矩阵

Routines提供了三种触发方式:

| 触发类型 | 说明 | 适用场景 |

| -------- | -------------------------------------- | -------------------- |

| 定时触发 | 按小时/天/周自动执行,CLI中可写自定义cron,最小间隔1小时 | 夜间代码审查、每日构建检查 |

| API触发 | 接收HTTP POST请求启动,每个Routine有独立端点和鉴权token | 外部系统集成、告警联动、CI/CD流水线 |

| GitHub触发 | PR、push、issue等事件自动触发,可按作者、标签、分支过滤 | 代码审查自动化、测试验证 |

需要说明的是,Routines目前提供的是三种触发方式(定时、API、GitHub),而非四种。

### 1.3 可用范围与每日限额

Routines功能目前以研究预览版形式发布,向Pro、Max、Team、Enterprise订阅用户开放。每日运行次数限制如下:

| 订阅方案 | 每日可运行次数 |

| ----------------- | ------- |

| Pro用户 | 5次 |

| Max用户 | 15次 |

| Team/Enterprise用户 | 25次 |

超出部分可走超额计费。所有Routine运行与普通交互会话共用订阅配额。

### 1.4 触发次数上限与优化策略

对于Pro用户来说,每天5次触发的限制意味着需要合理规划使用场景:

* 合并多个小Routine为一个大Routine:例如,将代码审查、依赖检查和测试运行整合到一个Routine中,一次触发完成多个任务。

* 使用条件判断:在GitHub触发中设置精细的过滤器(按作者、标签、分支等),只在真正需要时才触发,避免次数被无关事件消耗。

* 升级订阅方案:如果自动化需求较大,可考虑升级到Max方案(每日15次)或Team方案(每日25次)。

你还在一遍遍给Claude输入指令吗?Routines让AI学会自己加班

# 02. 快速上手:创建你的第一个 Routines

### 2.1 代码审查Routine配置

以下是一个完整的代码审查自动化Routine配置示例:

```

{

"routine_name": "自动化代码审查",

"trigger": {

"type": "github",

"events": ["pull_request", "push"],

"repo_filter": ["org/repo-name"],    "branch_filter": ["main", "develop"]

},

"steps": [

{

"action": "fetch_code",

"target": "changes",

"options": {

"include_new": true,

"include_modified": true,       

"exclude_patterns": ["*.lock", "node_modules/**", "dist/**"]      }

},

"action": "analyze",      "focus": ["security", "performance", "best_practices"],      "output_format": "structured_report"

},

{

"action": "comment", 

"target": "github_pr",

"format": "markdown",

"severity_threshold": "medium"

}

],

"notifications": {

"on_complete": "slack",

"on_issue_found": "email"

}

}

```

### 2.2 部署验证 Routine

另一个实用场景是自动化部署验证:

```#!/bin/bash

# deploy_verification.sh - 部署验证脚本示例

echo "🚀 开始部署验证流程..."

# 步骤1:环境检查

echo "📋 检查部署环境..."

./scripts/check_env.sh || exit 1

# 步骤2:运行单元测试

echo "🧪 执行单元测试..."

npm run test:unit || { echo "❌ 单元测试失败"; exit 1; }

# 步骤3:执行集成测试

echo "🔗 执行集成测试..."

npm run test:integration || { echo "❌ 集成测试失败"; exit 1; }

# 步骤4:安全扫描

echo "🔒 执行安全扫描..."

./scripts/security_scan.sh || { echo "⚠️ 安全扫描发现警告"; }

# 步骤5:生成部署报告

echo "📊 生成部署报告..."

./scripts/generate_report.sh

echo "✅ 部署验证完成"

```

### 2.3 如何创建Routine

在Claude Code中创建Routine,可以通过网页端入口([claude.ai/code/routines](https://www.anthropic.com/app-unavailable-in-region))或在CLI中输入 /schedule 命令进行操作[](https://www.chinaz.com/ainews/27115.shtml)。创建时需要配置三个核心要素:**提示词(prompt)、代码仓库和连接器(connectors**

# 三、进阶用法:定时任务与API触发

### 3.1 配置定时触发

官方给出的一个典型例子是:**每晚凌晨2点从Linear拉取优先级最高的bug,尝试修复,然后开一个draft PR,你第二天上班直接review就行**[](https://www.chinaz.com/ainews/27115.shtml)。

定时任务的cron最小间隔为1小时,支持按小时、每晚、每周等节奏执行。

### 3.2 API触发实现

每个Routine都有自己独立的API端点和鉴权token,任何能发HTTP请求的地方——Datadog告警、CI/CD hook、内部面板——都可以直接调用Claude Code[](https://www.chinaz.com/ainews/27115.shtml)。

以下是一个API触发服务的示例:

```from flask import Flask, request, jsonify

import anthropic

import os

app = Flask(__name__)

client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

@app.route('/trigger-routine', methods=['POST'])

def trigger_routine():

data = request.json

routine_name = data.get('routine_name')

params = data.get('params', {})

message = f"请执行{routine_name},参数:{params}"

response = client.messages.create(

model="claude-opus-4-5",

max_tokens=4096,

messages=[{"role": "user", "content": message}],

system="你是一个自动化工作流执行器,负责执行预定义的Routine任务。"

)

return jsonify({

"status": "triggered",

"response_id": response.id

})

@app.route('/webhook/github', methods=['POST'])

def github_webhook():

event = request.headers.get('X-GitHub-Event')

if event == 'pull_request':

routine = 'code_review'

elif event == 'push':

routine = 'build_verify'

else:

return jsonify({"status": "ignored"})

trigger_routine(routine_name=routine)

return jsonify({"status": "ok"})

if name == '__main__':

app.run(port=5000)

```

### 3.3 GitHub触发细节

装上Claude GitHub App之后,pull_request、push、issue、check_run这些事件都可以当触发器[](https://www.chinaz.com/ainews/27115.shtml)。

一个比较实用的玩法是:让它盯着某个敏感目录(比如 /auth-provider 模块),该模块的任何改动都自动总结并发布到指定频道。每个匹配的PR会拿到独立session,后续的评论和CI失败它也会继续跟进[](https://www.chinaz.com/ainews/27115.shtml)。

⚠️ 安全提醒:Claude默认只能推到 claude/ 前缀的分支,不会直接动main分支,这是一个很实用的安全护栏[](https://www.chinaz.com/ainews/27115.shtml)。

# 四、实战案例:代码审查自动化工作流

### 4.1 场景描述

假设你维护一个开源项目,每天会收到多个PR。传统做法需要手动逐一审查,耗时且容易遗漏。

使用Routines,你可以构建一个自动化工作流:收到PR时自动获取代码变更、分析潜在问题、生成审查意见、自动在PR下评论。整个过程无需人工介入。

### 4.2 完整实现

```#!/usr/bin/env python3

"""

Claude Code Routine - 自动化代码审查完整示例

功能:GitHub PR自动审查、问题分析、评论生成

"""

import anthropic

import requests

import os

from typing import Dict, List

class CodeReviewRoutine:

def init(self, github_token: str):

self.github_token = github_token

self.client = anthropic.Anthropic()

self.headers = {

"Authorization": f"token {github_token}",

"Accept": "application/vnd.github.v3+json"

}

def fetch_pr_files(self, owner: str, repo: str, pr_number: int) -> List[Dict]:

"""获取PR修改的文件列表"""

url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{pr_number}/files"

response = requests.get(url, headers=self.headers)

return response.json()

def analyze_code(self, file_changes: List[Dict]) -> str:

"""使用Claude分析代码变更"""

analysis_prompt = """你是一个专业的代码审查助手。请分析以下代码变更,关注以下方面:

1. 安全性:是否有SQL注入、XSS、敏感信息泄露等安全风险

2. 性能:是否有不必要的循环等性能问题

3. 代码质量:是否符合最佳实践,命名是否清晰

4. 测试覆盖:是否提供了必要的测试用例

以下是代码变更:

"""

for file in file_changes:

analysis_prompt += f"nn文件: {file['filename']}n"

analysis_prompt += f"变更类型: {file['status']}n"

analysis_prompt += f"补丁:n{file.get('patch', '无内容')[:2000]}"

response = self.client.messages.create(

model="claude-3-5-sonnet-20241022",

max_tokens=2048,

messages=[{"role": "user", "content": analysis_prompt}]

)

return response.content[0].text

def post_review_comment(self, owner: str, repo: str, pr_number: int,

comment: str, event: str = "COMMENT"):

"""在PR上发表评论"""

url = f"https://api.github.com/repos/{owner}/{repo}/pulls/{pr_number}/reviews"

data = {

"body": f"## 🤖 Claude Code 自动审查报告nn{comment}nn---n*此评论由Claude Code Routine自动生成*",

"event": event

}

response = requests.post(url, headers=self.headers, json=data)

return response.status_code == 200

def execute(self, owner: str, repo: str, pr_number: int):

"""执行完整的代码审查流程"""

print(f"🔍 开始审查 {owner}/{repo}#{pr_number}")

# 1. 获取变更文件

files = self.fetch_pr_files(owner, repo, pr_number)

print(f"📝 修改文件数: {len(files)}")

# 2. AI分析

print("🧠 正在进行代码分析...")

analysis = self.analyze_code(files)

# 3. 发布评论

print("📤 发布审查评论...")

success = self.post_review_comment(owner, repo, pr_number, analysis)

if success:

print("✅ 审查完成!")

else:

print("❌ 评论发布失败")

return analysis

# 使用示例

if name == "__main__":

routine = CodeReviewRoutine(github_token=os.environ["GITHUB_TOKEN"])

review_result = routine.execute(

owner="your-org",

repo="your-repo",

pr_number=123

)

print("n审查摘要:")

print(review_result)

```

### 4.3 运行逻辑说明

1. 触发:当GitHub仓库收到新的PR时,Routine自动启动

2. 获取:通过GitHub API获取PR中修改的文件列表和代码差异

3. 分析:将代码变更发送给Claude模型,进行安全、性能、代码质量等多维度分析

4. 反馈:将分析结果以评论形式自动发布到PR页面,开发者可直接查看并处理

# 五、常见问题与避坑指南

### 5.1 执行频率限制

各订阅方案的每日运行次数上限如上所述:Pro 5次、Max 15次、Team/Enterprise 25次[](https://www.chinaz.com/ainews/27115.shtml)。此外,GitHub触发还有小时级的频控,超出窗口的事件会被直接丢弃,因此如果仓库特别活跃,建议提前把过滤器设置好[](https://www.chinaz.com/ainews/27115.shtml)。

### 5.2 网络与权限问题

Routine执行时提示权限不足,可检查以下两点:

* 确保GitHub Personal Access Token具有repo和workflow权限

* Routine在Anthropic的云端基础设施上运行,不依赖本地网络环境[](https://ai.zhiding.cn/2026/0415/3184062.shtml)

### 5.3 复杂任务处理

对于复杂任务执行时间过长或中途失败的情况:

* 为每个步骤设置合理的timeout

* 使用条件判断让Routine在单个步骤失败时继续执行

* 拆分过长的Routine为多个子Routine

### 5.4 安全护栏

Claude默认只能推到 claude/ 前缀的分支,不会直接操作main分支。除非下游review流程非常完善,否则建议保留这个设置[](https://www.chinaz.com/ainews/27115.shtml)。

# 六、总结

> 本文核心要点:Claude Code Routines是一项云端自动化服务,支持定时、API、GitHub三种触发方式。Pro用户每天5次、Max 15次、Team/Enterprise 25次。配置一次即可在云端自动执行,Mac离线也能跑。关键是合理规划触发策略、用好安全护栏、关注每日限额。

Routines功能代表了AI辅助编程工具发展的重要方向:从被动响应转向主动执行,从单点工具转向工作流平台。对于开发者而言,这意味着可以将更多精力投入到创造性工作中,而将重复性任务交给AI自动化处理。

目前Routines还处于**研究预览阶段**,功能和使用限制都在快速迭代中。建议开发者持续关注Anthropic官方更新,及时了解新特性和使用限制的变化。

你在日常开发中最想用Routines自动化哪些任务?评论区说说你的想法,我会逐一回复~

关注【应用研究社】,回复关键词“Routines”获取完整代码文件和配置模板。后续将持续更新AI前沿资讯和实操教程,记得星标不迷路!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松