把 Claude 接进日常工作流:从脚本到定时任务的完整实操指南
Claude 工作流自动化教程|附完整命令
在日常工作中,很多人已经开始使用 Claude 来写文档、总结资料、生成代码、分析需求、处理邮件、辅助运营,甚至完成一部分研发与数据分析任务。单次对话式使用 Claude 已经很方便,但如果每次都需要手动复制材料、输入提示词、等待结果、再整理输出,效率仍然有限。
真正能提升生产力的方式,是把 Claude 融入工作流,让它像一个自动化助手一样,按照固定步骤批量处理任务。例如:
- 每天自动读取项目日报并生成周报;
- 批量总结多个文档;
- 根据用户反馈自动分类并生成处理建议;
- 对代码仓库进行自动审查;
- 把会议纪要整理成任务清单;
- 将网页内容抓取后交给 Claude 生成摘要;
- 用脚本调用 Claude API 完成内容生产。
本文将从零开始,介绍如何搭建 Claude 工作流自动化环境,并提供完整命令示例。你可以根据自己的业务场景进行改造,把 Claude 变成稳定、可复用、可批量运行的自动化工具。
一、Claude 工作流自动化是什么?
Claude 工作流自动化,简单来说,就是通过脚本、命令行工具、API、定时任务、自动化平台等方式,让 Claude 按照预设流程自动完成任务。
传统使用方式是:
人工打开 Claude 页面
复制资料
输入提示词
等待回答
复制结果
整理到文档
自动化后的方式是:
脚本读取资料
自动发送给 Claude
Claude 返回结果
脚本保存结果
自动通知或继续执行下一步
这意味着 Claude 不再只是一个聊天工具,而是可以成为工作流中的一个智能节点。
例如,你可以搭建如下流程:
收集数据 → 清洗内容 → 调用 Claude 分析 → 生成报告 → 保存文件 → 发送通知
对于内容团队、产品团队、研发团队、运营团队来说,这种方式都非常实用。
二、适合用 Claude 自动化的场景
在正式配置之前,我们先明确哪些任务适合交给 Claude 自动化处理。
1. 文档总结
例如批量总结 PDF、Markdown、Word 文档、网页文章、会议纪要等。
适合任务:
- 长文摘要;
- 提炼核心观点;
- 生成目录;
- 生成行动项;
- 提取风险点;
- 转换成周报或日报。
2. 内容生产
Claude 在中文写作、英文写作、结构化表达方面表现较好,非常适合辅助内容生产。
适合任务:
- 公众号文章初稿;
- 小红书文案;
- 短视频脚本;
- 产品介绍;
- 邮件模板;
- FAQ 文档;
- 营销话术。
3. 代码辅助
如果结合代码仓库和命令行,Claude 可以参与代码审查、注释生成、测试用例生成、Bug 分析等工作。
适合任务:
- 解释代码;
- 生成单元测试;
- 审查 Pull Request;
- 总结代码变更;
- 根据需求生成脚手架;
- 分析报错日志。
4. 数据分析
对于一些非超大规模数据,Claude 可以辅助分析 CSV、日志、用户反馈、调研问卷。
适合任务:
- 用户反馈分类;
- 情绪倾向判断;
- 关键词提取;
- 数据洞察总结;
- 生成可执行建议。
5. 客服与运营
Claude 可以将大量用户问题归类,并生成标准回复。
适合任务:
- 工单分类;
- 客诉分析;
- 生成回复模板;
- 识别高优先级问题;
- 输出运营优化建议。
三、准备工作
下面以常见的 Claude API 自动化方式为主进行讲解。你需要准备以下环境:
- 一台安装了 Python 或 Node.js 的电脑;
- Claude API Key;
- 基础命令行操作能力;
- 一个用于保存自动化脚本的项目目录。
本文主要使用 Python 示例,因为 Python 更适合快速编写自动化脚本,也方便处理文件、表格、日志和定时任务。
四、创建项目目录
首先创建一个专门用于 Claude 自动化的项目目录。
mkdir claude-workflow-demo
cd claude-workflow-demo
创建基础目录结构:
mkdir input output prompts scripts logs
目录说明:
claude-workflow-demo/
├── input/ # 存放待处理文件
├── output/ # 存放 Claude 输出结果
├── prompts/ # 存放提示词模板
├── scripts/ # 存放自动化脚本
└── logs/ # 存放运行日志
五、配置 Python 环境
建议使用虚拟环境,避免影响系统 Python 环境。
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
Windows PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
如果 PowerShell 提示无法执行脚本,可以运行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
然后重新激活虚拟环境:
.\.venv\Scripts\Activate.ps1
六、安装依赖
安装 Anthropic 官方 SDK:
pip install anthropic
如果后续需要读取环境变量和处理 Markdown,可以安装:
pip install python-dotenv markdown
如果需要处理 CSV 或 Excel,可以安装:
pip install pandas openpyxl
完整安装命令如下:
pip install anthropic python-dotenv markdown pandas openpyxl
生成依赖文件:
pip freeze > requirements.txt
以后在新环境中恢复依赖:
pip install -r requirements.txt
七、配置 Claude API Key
在项目根目录创建 .env 文件:
touch .env
Windows 可以使用:
New-Item .env
在 .env 中写入:
ANTHROPIC_API_KEY=你的Claude_API_Key
注意:不要把 .env 文件提交到 GitHub。
创建 .gitignore 文件:
touch .gitignore
写入:
.env
.venv/
__pycache__/
logs/
八、编写第一个 Claude 调用脚本
在 scripts 目录下创建 ask_claude.py:
touch scripts/ask_claude.py
Windows:
New-Item scripts/ask_claude.py
写入以下代码:
import os
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
messages=[
{
"role": "user",
"content": "请用中文解释什么是工作流自动化,并给出3个实际例子。"
}
]
)
print(response.content[0].text)
运行脚本:
python scripts/ask_claude.py
如果终端正常输出 Claude 的回复,说明环境配置成功。
九、将提示词模板化
在自动化工作流中,不建议把提示词全部写死在代码里。更好的做法是将提示词保存为模板文件,方便维护和复用。
创建提示词文件:
touch prompts/summary_prompt.txt
写入:
你是一名专业中文内容编辑,请对以下文本进行总结。
要求:
1. 用中文输出;
2. 提炼核心观点;
3. 输出不超过500字;
4. 使用Markdown格式;
5. 最后给出3条行动建议。
以下是待总结文本:
{{content}}
这里的 {{content}} 是占位符,脚本运行时会自动替换成真实内容。
十、自动读取文件并总结
在 input 目录中创建一个示例文本文件:
touch input/article.txt
写入一段你想总结的内容。
然后创建脚本:
touch scripts/summarize_file.py
写入代码:
import os
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
def read_file(path):
with open(path, "r", encoding="utf-8") as f:
return f.read()
def write_file(path, content):
with open(path, "w", encoding="utf-8") as f:
f.write(content)
def load_prompt(template_path, content):
template = read_file(template_path)
return template.replace("{{content}}", content)
def call_claude(prompt):
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1500,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return response.content[0].text
if __name__ == "__main__":
input_path = "input/article.txt"
prompt_path = "prompts/summary_prompt.txt"
output_path = "output/article_summary.md"
content = read_file(input_path)
prompt = load_prompt(prompt_path, content)
result = call_claude(prompt)
write_file(output_path, result)
print("总结完成,结果已保存到:", output_path)
运行:
python scripts/summarize_file.py
查看输出文件:
cat output/article_summary.md
Windows PowerShell:
Get-Content output/article_summary.md
十一、批量总结多个文件
如果你有多个文档,希望 Claude 自动逐个总结,可以编写批处理脚本。
在 input 目录放入多个 .txt 文件,例如:
input/
├── doc1.txt
├── doc2.txt
└── doc3.txt
创建脚本:
touch scripts/batch_summarize.py
写入代码:
import os
import time
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
INPUT_DIR = "input"
OUTPUT_DIR = "output"
PROMPT_PATH = "prompts/summary_prompt.txt"
def read_file(path):
with open(path, "r", encoding="utf-8") as f:
return f.read()
def write_file(path, content):
with open(path, "w", encoding="utf-8") as f:
f.write(content)
def load_prompt(content):
template = read_file(PROMPT_PATH)
return template.replace("{{content}}", content)
def call_claude(prompt):
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1500,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return response.content[0].text
def main():
os.makedirs(OUTPUT_DIR, exist_ok=True)
files = [
f for f in os.listdir(INPUT_DIR)
if f.endswith(".txt")
]
for filename in files:
input_path = os.path.join(INPUT_DIR, filename)
output_name = filename.replace(".txt", "_summary.md")
output_path = os.path.join(OUTPUT_DIR, output_name)
print(f"正在处理:{input_path}")
content = read_file(input_path)
prompt = load_prompt(content)
result = call_claude(prompt)
write_file(output_path, result)
print(f"已完成:{output_path}")
time.sleep(2)
if __name__ == "__main__":
main()
运行:
python scripts/batch_summarize.py
这里加入了 time.sleep(2),是为了避免短时间内请求过于密集。实际项目中可以根据 API 限额和任务量调整等待时间。
十二、将 Claude 用于用户反馈分类
假设你有一份用户反馈 CSV 文件,内容如下:
id,feedback
1,登录页面经常卡住,希望优化速度
2,能不能增加导出Excel的功能
3,客服回复太慢了
4,价格有点贵,希望有学生优惠
保存为:
input/feedback.csv
创建提示词模板:
touch prompts/feedback_classify_prompt.txt
内容如下:
你是一名资深产品运营分析师,请对以下用户反馈进行分类。
请从以下类别中选择一个:
- 功能需求
- 性能问题
- 客服问题
- 价格问题
- 其他问题
请输出JSON格式:
{
"category": "分类结果",
"reason": "分类理由",
"suggestion": "处理建议"
}
用户反馈:
{{feedback}}
安装 pandas:
pip install pandas
创建脚本:
touch scripts/classify_feedback.py
写入:
import os
import json
import time
import pandas as pd
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
def read_prompt():
with open("prompts/feedback_classify_prompt.txt", "r", encoding="utf-8") as f:
return f.read()
def call_claude(prompt):
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=800,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return response.content[0].text
def main():
df = pd.read_csv("input/feedback.csv")
template = read_prompt()
results = []
for _, row in df.iterrows():
feedback = row["feedback"]
prompt = template.replace("{{feedback}}", feedback)
print("正在分析:", feedback)
result_text = call_claude(prompt)
try:
result_json = json.loads(result_text)
except Exception:
result_json = {
"category": "解析失败",
"reason": result_text,
"suggestion": ""
}
results.append({
"id": row["id"],
"feedback": feedback,
"category": result_json.get("category", ""),
"reason": result_json.get("reason", ""),
"suggestion": result_json.get("suggestion", "")
})
time.sleep(1)
output_df = pd.DataFrame(results)
output_df.to_csv("output/feedback_result.csv", index=False, encoding="utf-8-sig")
print("用户反馈分类完成:output/feedback_result.csv")
if __name__ == "__main__":
main()
运行:
python scripts/classify_feedback.py
查看结果:
cat output/feedback_result.csv
Windows:
Get-Content output/feedback_result.csv
十三、自动生成日报或周报
很多团队都需要写日报、周报。如果每天已经有工作记录,可以让 Claude 自动整理成结构化日报。
创建输入文件:
touch input/worklog.txt
示例内容:
今天完成了登录接口联调,修复了用户头像上传失败的问题。
和产品讨论了会员权益页面改版。
发现订单列表查询速度较慢,初步判断是索引缺失。
明天计划优化订单查询接口,并补充相关单元测试。
创建提示词:
touch prompts/daily_report_prompt.txt
内容:
你是一名专业项目经理,请根据以下工作记录生成日报。
输出要求:
1. 使用中文;
2. 使用Markdown格式;
3. 包含:今日完成、遇到问题、明日计划、风险提醒;
4. 表达简洁、专业;
5. 不要虚构不存在的信息。
工作记录:
{{content}}
创建脚本:
touch scripts/generate_daily_report.py
代码:
import os
from datetime import datetime
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
def read_file(path):
with open(path, "r", encoding="utf-8") as f:
return f.read()
def write_file(path, content):
with open(path, "w", encoding="utf-8") as f:
f.write(content)
def call_claude(prompt):
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1200,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return response.content[0].text
def main():
content = read_file("input/worklog.txt")
template = read_file("prompts/daily_report_prompt.txt")
prompt = template.replace("{{content}}", content)
result = call_claude(prompt)
today = datetime.now().strftime("%Y-%m-%d")
output_path = f"output/daily_report_{today}.md"
write_file(output_path, result)
print("日报生成完成:", output_path)
if __name__ == "__main__":
main()
运行:
python scripts/generate_daily_report.py
十四、结合命令行参数,让脚本更灵活
前面的脚本路径都是固定的。如果想让脚本更通用,可以使用命令行参数。
创建脚本:
touch scripts/claude_file_task.py
写入:
import os
import argparse
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic(
api_key=os.getenv("ANTHROPIC_API_KEY")
)
def read_file(path):
with open(path, "r", encoding="utf-8") as f:
return f.read()
def write_file(path, content):
with open(path, "w", encoding="utf-8") as f:
f.write(content)
def call_claude(prompt, max_tokens):
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=max_tokens,
messages=[
{
"role": "user",
"content": prompt
}
]
)
return response.content[0].text
def main():
parser = argparse.ArgumentParser(description="Claude 文件处理自动化工具")
parser.add_argument("--input", required=True, help="输入文件路径")
parser.add_argument("--prompt", required=True, help="提示词模板路径")
parser.add_argument("--output", required=True, help="输出文件路径")
parser.add_argument("--max-tokens", type=int, default=1500, help="最大输出token数")
args = parser.parse_args()
content = read_file(args.input)
template = read_file(args.prompt)
final_prompt = template.replace("{{content}}", content)
result = call_claude(final_prompt, args.max_tokens)
write_file(args.output, result)
print("任务完成:", args.output)
if __name__ == "__main__":
main()
运行示例:
python scripts/claude_file_task.py \
--input input/article.txt \
--prompt prompts/summary_prompt.txt \
--output output/article_summary.md \
--max-tokens 1500
Windows PowerShell:
python scripts/claude_file_task.py `
--input input/article.txt `
--prompt prompts/summary_prompt.txt `
--output output/article_summary.md `
--max-tokens 1500
这样你只需要更换输入文件和提示词模板,就能完成不同类型的任务。
十五、加入日志记录
自动化任务运行久了,必须有日志。否则一旦出错,很难排查问题。
创建脚本时可以加入日志模块:
import logging
logging.basicConfig(
filename="logs/claude_workflow.log",
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s"
)
logging.info("任务开始")
logging.error("任务失败")
logging.info("任务完成")
可以改造 claude_file_task.py,在关键步骤记录日志:
logging.info(f"读取输入文件:{args.input}")
logging.info(f"读取提示词模板:{args.prompt}")
logging.info("开始调用 Claude")
logging.info(f"写入输出文件:{args.output}")
查看日志:
cat logs/claude_workflow.log
Windows:
Get-Content logs/claude_workflow.log
十六、设置定时任务
如果希望每天自动生成日报、每周自动生成周报,可以结合系统定时任务。
macOS / Linux 使用 cron
打开定时任务配置:
crontab -e
例如每天晚上 18:30 自动生成日报:
30 18 * * * cd /你的路径/claude-workflow-demo && /你的路径/claude-workflow-demo/.venv/bin/python scripts/generate_daily_report.py >> logs/cron.log 2>&1
查看当前定时任务:
crontab -l
查看日志:
cat logs/cron.log
Windows 使用任务计划程序
也可以用命令创建计划任务。
假设项目路径是:
C:\Users\YourName\claude-workflow-demo
创建每天 18:30 执行的任务:
schtasks /Create /SC DAILY /TN "ClaudeDailyReport" /TR "C:\Users\YourName\claude-workflow-demo\.venv\Scripts\python.exe C:\Users\YourName\claude-workflow-demo\scripts\generate_daily_report.py" /ST 18:30
查看任务:
schtasks /Query /TN "ClaudeDailyReport"
手动运行任务:
schtasks /Run /TN "ClaudeDailyReport"
删除任务:
schtasks /Delete /TN "ClaudeDailyReport"
十七、结合 Git 自动生成代码变更总结
如果你是研发人员,可以让 Claude 自动总结最近一次代码提交变更。
查看最近一次提交差异:
git show --stat
查看完整 diff:
git show --patch
将 diff 保存到文件:
git show --patch > input/git_diff.txt
创建提示词:
touch prompts/code_review_prompt.txt
内容:
你是一名资深软件工程师,请审查以下代码变更。
请输出:
1. 本次变更摘要;
2. 潜在问题;
3. 可读性建议;
4. 测试建议;
5. 风险等级:低 / 中 / 高。
代码变更:
{{content}}
运行通用脚本:
python scripts/claude_file_task.py \
--input input/git_diff.txt \
--prompt prompts/code_review_prompt.txt \
--output output/code_review.md \
--max-tokens 2000
查看结果:
cat output/code_review.md
你也可以把这个流程接入 CI/CD,在代码合并前自动生成审查建议。不过需要注意,Claude 的代码审查结果应作为辅助参考,不能完全替代人工 Review。
十八、常见问题与优化建议
1. 输出格式不稳定怎么办?
可以在提示词中明确要求输出格式,例如:
请严格按照以下Markdown结构输出,不要添加额外内容:
# 摘要
## 核心观点
## 行动建议
如果需要 JSON,可以写:
请只输出合法JSON,不要输出解释文字,不要使用Markdown代码块。
2. 文本太长怎么办?
如果输入内容太长,可以采用分块处理:
长文档 → 拆成多个片段 → 分别总结 → 合并总结 → 再次让 Claude 提炼
可以按字符数简单切分,例如每 8000 字一段,再逐段处理。
3. 如何降低成本?
可以从以下几个方面优化:
- 减少不必要的上下文;
- 使用更短、更明确的提示词;
- 控制
max_tokens; - 对重复结果做缓存;
- 批量任务中避免重复请求;
- 对简单任务使用较小模型,对复杂任务使用高级模型。
4. 如何提升结果质量?
核心在于提示词设计。高质量提示词通常包括:
- 明确角色;
- 明确任务;
- 明确输入;
- 明确输出格式;
- 明确限制条件;
- 提供示例;
- 告诉模型不要虚构。
例如:
你是一名资深产品经理。
请基于用户反馈提炼需求,不要添加用户没有表达的信息。
输出格式为:
- 需求标题
- 用户原话
- 影响范围
- 优先级
- 建议方案
十九、推荐的 Claude 自动化工作流模板
下面给出一个通用模板,适合大多数场景:
1. 准备输入数据
2. 清洗或格式化数据
3. 加载提示词模板
4. 拼接最终Prompt
5. 调用Claude API
6. 解析返回结果
7. 保存到文件或数据库
8. 记录日志
9. 出错重试
10. 定时执行或人工触发
你可以根据任务复杂度继续扩展:
网页抓取 → 内容清洗 → Claude摘要 → 关键词提取 → 生成报告 → 邮件发送
或:
用户反馈 → Claude分类 → 写入表格 → 生成统计报告 → 通知产品经理
二十、一个完整的项目启动命令清单
最后汇总一套从零开始的完整命令,方便你直接复制使用。
mkdir claude-workflow-demo
cd claude-workflow-demo
mkdir input output prompts scripts logs
python3 -m venv .venv
source .venv/bin/activate
pip install anthropic python-dotenv pandas openpyxl markdown
pip freeze > requirements.txt
touch .env
touch .gitignore
echo ".env" >> .gitignore
echo ".venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "logs/" >> .gitignore
touch prompts/summary_prompt.txt
touch scripts/ask_claude.py
touch scripts/claude_file_task.py
Windows PowerShell 版本:
mkdir claude-workflow-demo
cd claude-workflow-demo
mkdir input, output, prompts, scripts, logs
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install anthropic python-dotenv pandas openpyxl markdown
pip freeze > requirements.txt
New-Item .env
New-Item .gitignore
Add-Content .gitignore ".env"
Add-Content .gitignore ".venv/"
Add-Content .gitignore "__pycache__/"
Add-Content .gitignore "logs/"
New-Item prompts/summary_prompt.txt
New-Item scripts/ask_claude.py
New-Item scripts/claude_file_task.py
结语
Claude 工作流自动化的核心,不是简单地“让 AI 回答问题”,而是把 AI 能力嵌入稳定、可重复、可追踪的业务流程中。通过 API、脚本、提示词模板、批处理和定时任务,你可以让 Claude 自动完成总结、分类、写作、分析、代码审查、日报生成等大量重复性工作。
建议你从一个小任务开始,例如“每天自动生成日报”或“批量总结文档”。当这个流程跑通之后,再逐步加入日志、错误处理、命令行参数、定时执行和多步骤任务编排。这样,Claude 就不再只是一个聊天助手,而会成为你工作系统中的自动化生产力节点。