文档、会议与邮件全自动化
每天重复的文档整理、会议记录、邮件撰写——用 Claude API + 自动化流水线彻底消灭这些机械工作。
全自动化工作流矩阵
graph TD
INPUT[日常工作输入] --> PIPELINE[自动化流水线]
INPUT --> I1[会议录音/文字记录]
INPUT --> I2[邮件收件箱]
INPUT --> I3[文档草稿]
INPUT --> I4[数据报告需求]
PIPELINE --> CLAUDE[Claude API 处理]
I1 --> CLAUDE
I2 --> CLAUDE
I3 --> CLAUDE
I4 --> CLAUDE
CLAUDE --> OUTPUT[自动输出]
OUTPUT --> O1[会议纪要 + 行动项]
OUTPUT --> O2[邮件草稿 + 优先级]
OUTPUT --> O3[完整文档]
OUTPUT --> O4[数据分析报告]
O1 --> NOTION[Notion 数据库]
O2 --> GMAIL[Gmail 草稿]
O3 --> DRIVE[Google Drive]
O4 --> SLACK[Slack 频道]
style CLAUDE fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
文档、会议、邮件自动化工具集
"""
文档 / 会议 / 邮件 全自动化工作流
三大高频场景的 Claude 提示词 + 处理流水线
"""
import anthropic
import os
from dataclasses import dataclass, field
from datetime import datetime
@dataclass
class MeetingInput:
"""会议输入数据"""
title: str
participants: list[str]
date: str
transcript: str # 会议文字记录或粗略笔记
meeting_type: str = "weekly" # weekly / kickoff / review / interview
@dataclass
class MeetingOutput:
"""会议纪要输出"""
title: str
date: str
summary: str
decisions: list[str]
action_items: list[dict] # [{owner, task, deadline}]
next_meeting: str
raw_notes: str
@dataclass
class EmailDraft:
"""邮件草稿"""
to: str
subject: str
body: str
tone: str # formal / friendly / urgent
priority: str # high / normal / low
class MeetingAutomation:
"""会议纪要自动生成器"""
SYSTEM_PROMPT = """你是专业的会议秘书。将会议记录整理为标准格式:
1. 决策清单(会议中做出的明确决定)
2. 行动项(谁负责什么,截止日期)
3. 下次会议安排
输出格式:JSON,字段:summary / decisions / action_items / next_meeting
"""
PROMPTS = {
"weekly": """整理本次周会纪要:
参会人:{participants}
会议内容:
{transcript}
每个行动项必须有:负责人、具体任务、截止日期(如未提及则写"待定")""",
"kickoff": """整理项目启动会纪要,重点关注:
- 项目目标和范围
- 团队分工
- 关键里程碑
- 风险和假设
会议内容:
{transcript}""",
"review": """整理复盘会纪要,结构:
1. 目标 vs 实际完成情况
2. 做得好的(Keep)
3. 需要改进的(Improve)
4. 下个周期行动(Action)
会议内容:
{transcript}""",
}
def __init__(self):
self.client = anthropic.Anthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY", "demo")
)
def process(self, meeting: MeetingInput) -> MeetingOutput:
"""处理会议记录,生成结构化纪要"""
prompt_template = self.PROMPTS.get(meeting.meeting_type, self.PROMPTS["weekly"])
prompt = prompt_template.format(
participants="、".join(meeting.participants),
transcript=meeting.transcript,
)
# 演示模式(实际会调用 Claude)
mock_output = {
"summary": f"【{meeting.title}】团队讨论了核心议题,达成关键决策。",
"decisions": [
"采用 PostgreSQL + Redis 作为数据库方案",
"下周五前完成 MVP 功能开发",
],
"action_items": [
{"owner": meeting.participants[0] if meeting.participants else "待定",
"task": "搭建开发环境", "deadline": "本周五"},
{"owner": meeting.participants[1] if len(meeting.participants) > 1 else "待定",
"task": "设计数据库 Schema", "deadline": "下周一"},
],
"next_meeting": f"{meeting.date[:7]}-30 15:00",
}
return MeetingOutput(
title=meeting.title,
date=meeting.date,
summary=mock_output["summary"],
decisions=mock_output["decisions"],
action_items=mock_output["action_items"],
next_meeting=mock_output["next_meeting"],
raw_notes=meeting.transcript,
)
def format_for_notion(self, output: MeetingOutput) -> str:
"""格式化为 Notion 页面内容"""
lines = [
f"# {output.title}",
f"日期:{output.date}\n",
"## 摘要",
output.summary + "\n",
"## 决策",
]
for d in output.decisions:
lines.append(f"- [ ] {d}")
lines.append("\n## 行动项")
lines.append("| 负责人 | 任务 | 截止日期 |")
lines.append("|--------|------|---------|")
for item in output.action_items:
lines.append(f"| {item['owner']} | {item['task']} | {item['deadline']} |")
lines.append(f"\n> 下次会议:{output.next_meeting}")
return "\n".join(lines)
class EmailAutomation:
"""邮件自动化处理器"""
DRAFT_PROMPTS = {
"follow_up": """写一封友好但明确的跟进邮件:
上次联系:{last_contact}({days_ago}天前)
主题:{topic}
期望结果:{desired_outcome}
要求:100字以内,语气{tone},末尾有清晰的下一步行动""",
"decline": """写一封委婉拒绝邮件:
对方请求:{request}
拒绝原因:{reason}
是否留门:{keep_door_open}
要求:真诚、简洁,保持良好关系""",
"proposal": """写一封商务提案邮件:
产品/服务:{offering}
客户痛点:{pain_point}
核心价值主张:{value_prop}
格式:开门见山(第1句)→ 核心价值(2-3句)→ 明确 CTA""",
"complaint_response": """回复客户投诉邮件:
客户投诉内容:{complaint}
实际情况:{facts}
解决方案:{solution}
要求:先道歉(真诚),再解释(简短),后给方案(明确)""",
}
@classmethod
def generate_prompt(cls, template_name: str, **kwargs) -> str:
template = cls.DRAFT_PROMPTS.get(template_name, "")
for k, v in kwargs.items():
template = template.replace(f"{{{k}}}", str(v))
return template
class DocumentAutomation:
"""文档自动化生成器"""
DOCUMENT_TYPES = {
"PRD": {
"sections": ["背景与问题", "目标用户", "功能需求", "非功能需求", "成功指标"],
"prompt": "根据以下需求描述,生成结构化 PRD:\n{raw_requirements}",
},
"技术方案": {
"sections": ["背景", "方案对比", "推荐方案", "实施计划", "风险"],
"prompt": "将以下技术讨论整理为标准技术方案文档:\n{discussion_notes}",
},
"周报": {
"sections": ["本周完成", "进行中", "下周计划", "风险与阻碍"],
"prompt": "将以下工作记录整理为专业周报:\n{work_log}",
},
"复盘报告": {
"sections": ["目标 vs 结果", "亮点", "问题", "改进措施"],
"prompt": "基于以下数据和记录,生成复盘报告:\n{retrospective_data}",
},
}
BATCH_PROCESSOR_PROMPT = """你是文档自动化助手。批量处理以下 {count} 份原始记录,
每份生成标准格式的{doc_type}文档。
原始记录:
{raw_content}
输出格式:每份文档用 ---DOCUMENT_BREAK--- 分隔"""
# 演示
def demo():
print("=== 会议纪要自动化演示 ===\n")
meeting = MeetingInput(
title="产品 Q2 启动会",
participants=["Alice(PM)", "Bob(Tech Lead)", "Carol(Design)"],
date="2026-03-23",
meeting_type="kickoff",
transcript="""
Alice: 本季度核心目标是上线支付重构,提升成功率到 99.5%
Bob: 技术方案选择 Stripe,预计开发周期 6 周
Carol: UI 改版同步进行,下周一出初稿
Alice: 风险点是第三方支付接口的稳定性,Bob 负责调研备选方案
确定每周三 3pm 技术同步会
""",
)
processor = MeetingAutomation()
output = processor.process(meeting)
notion_content = processor.format_for_notion(output)
print(notion_content)
print("\n=== 邮件草稿模板演示 ===\n")
templates = [
("follow_up", {"last_contact": "2026-03-16", "days_ago": 7,
"topic": "产品演示", "desired_outcome": "安排下次会议", "tone": "友好"}),
("decline", {"request": "合作邀请", "reason": "时间安排冲突",
"keep_door_open": "是,欢迎未来合作"}),
]
for name, kwargs in templates:
prompt = EmailAutomation.generate_prompt(name, **kwargs)
print(f"【{name}】提示词(前150字):")
print(prompt[:150] + "...\n")
print("=== 文档类型支持 ===\n")
for doc_type, config in DocumentAutomation.DOCUMENT_TYPES.items():
print(f" {doc_type}: {' / '.join(config['sections'])}")
demo()
自动化优先级排序
| 任务 | 频率 | 节省时间 | 实现难度 | 优先级 |
|---|---|---|---|---|
| 会议纪要生成 | 每天 | 30–60 分钟 | 低 | ⭐⭐⭐⭐⭐ |
| 邮件分类回复 | 每天 | 60–90 分钟 | 低 | ⭐⭐⭐⭐⭐ |
| 周报生成 | 每周 | 30 分钟 | 低 | ⭐⭐⭐⭐ |
| PR 代码审查 | 每天 | 20–40 分钟 | 中 | ⭐⭐⭐⭐ |
| 数据报告生成 | 每周 | 60 分钟 | 中 | ⭐⭐⭐ |
行动清单
- [ ] 安装 Otter.ai 或 MacWhisper 做会议录音转文字,再喂给 Claude 生成纪要
- [ ] 用上方"会议纪要"提示词模板处理本周第一个会议记录,评估质量
- [ ] 配置 n8n 工作流:会议结束 → 上传文字记录 → Claude 处理 → 发到 Notion + Slack
- [ ] 建立邮件回复模板库(跟进/拒绝/提案/投诉 4 类),存入 Claude Projects Knowledge Base
- [ ] 设置周报自动化:每周五下午,收集本周 Jira/Linear 完成事项 → Claude 整理为周报
- [ ] 测试文档批量处理:把 5 份会议记录一起发给 Claude,用
---DOCUMENT_BREAK---分隔输出
下一节:03-个人AI中枢与记忆管理 — 建立你的个人 AI 知识库,让 Claude 越用越懂你。