上一篇 下一篇 分享链接 返回 返回顶部

把 Claude 接进日常工作流:从脚本到定时任务的完整实操指南

发布人:慈云数据-客服中心 发布时间:9小时前 阅读量:4

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 就不再只是一个聊天助手,而会成为你工作系统中的自动化生产力节点。

目录结构
全文