会议刚散场,参会者的邮箱里就躺着一条条待办,连截止日期都自动填好了。这不是什么企业级SaaS,是我自己搭的开源流水线,跑在一张二手RTX 3060 12GB显卡上。
工具组合:n8n、Whisper.cpp和一个轻量Agent
要完成“录音转写 -> 任务提取 -> 日历同步”这个闭环,需要三个组件:一个调度工作流的引擎,一个本地语音转写工具,和一个能在消费级显卡上跑的语言模型。我选的组合是:n8n(工作流调度)、Whisper.cpp(语音转写)、AutoGPT的一个轻量衍生分支(任务理解)。选它们的原因很直接:全部开源,社区活跃,且在12GB显存的卡上能稳定跑起来。用llama.cpp加载Q4量化的VibeThinker-3B模型处理复杂任务是可行的,这给了我省钱的底气。
第一个教训:别让AI当“管道工”
一开始我想让Agent直接去调Google Calendar和邮件API。结果发现,让AI去处理认证、Token刷新和错误重试,既费劲又不稳。工作流的连接,该交给专门工具做。
现在架构很清楚:n8n是调度中枢。它负责监听会议结束事件,调用Whisper转录音频,把文字发给本地Agent处理,再把Agent返回的任务列表通过API写入Todoist和Google Calendar。AI只做它擅长的“理解”和“规划”,脏活累活全让n8n干。这有点像给AI套上缰绳:先划清职责,它才能可靠干活。
本地模型:够用就行
Agent的大脑是本地跑的VibeThinker-3B。没选更大的模型,原因就两个:成本和隐私。我的会议内容涉及客户信息,不能上云。本地用3060跑3B模型,总结20分钟录音大概要15-20秒,延迟可以接受。小模型能完成这类任务,靠的是社区成熟的微调和蒸馏工具链。
提示词反复调过,关键指令是:“提取所有待办事项,每个包含任务描述、负责人、建议截止日期,返回JSON数组。”输出格式化了,后面系统才能对接。
第二个坑:转写文本不能直接用
Whisper转写准确率不错,但原生文本里满是“嗯”、“那个”、多人交叉说话也没分清。直接丢给Agent总结,效果很差。
我在n8n里加了预处理环节:先清洗掉语气词,再根据音频静音段和音调变化(逻辑粗糙但有用)粗略区分说话人。这样处理完,总结质量明显提升。输入结构化了,输出才靠谱。
跑起来什么样
现在每周开完会,15分钟内,所有人的Todoist里都会出现分配好的任务,详情里还带着会议原话。关键日期自动同步到日历。
成本算笔账:硬件是一张二手RTX 3060 12GB,市价大约1500元。软件全开源,零成本。搭建花了大概三个周末,后面主要在调提示词和预处理逻辑。
这套方案不完美。它处理不了复杂推理,也替代不了人做判断。但它确实把我从“会议记录员”和“任务整理员”的重复劳动里捞了出来。自动化的目标,有时候不是取代判断,而是先消灭那些消耗精力的、确定性的流程。