
1. 为什么我决定把重复劳动交给 WorkBuddy 定时任务每天早上九点我做的第一件事几乎一模一样打开工作台检查昨天遗留的待办把几个固定数据源的内容拉一遍生成一份日报草稿再手动触发几个例行检查。这套动作我做了大半年熟练到闭着眼都能点完但问题恰恰在这里——它太机械了机械到占用的是我一天里注意力最清醒的那段时间而产出却毫无创造性。WorkBuddy 这个工具我用了有一阵子一开始只是把它当成一个带工作空间概念的 AI 助手用来处理零散的提示词任务。真正让我改变使用方式的是它的定时任务能力上线之后。简单说它允许你把一段已经调好的提示词、一个固定的工作空间、一个指定的模型绑定到一个时间计划上到点自动跑跑完把结果落到你指定的位置。这意味着那些每天重复、步骤固定、不需要临场判断的活可以彻底从我手里交出去。这篇内容适合三类人看一是已经在用 WorkBuddy、但还停留在手动提问阶段的人二是手里有一堆重复性文本处理、数据整理、内容生成任务想找个轻量方案自动化的人三是对定时任务这个概念感兴趣但不确定怎么和 AI 工作流结合的人。我会把整个接入过程、提示词怎么写、工作空间怎么配、模型怎么选、踩过哪些坑全部摊开讲清楚。核心关键词就几个WorkBuddy、定时任务、提示词、工作空间、模型这五个东西串起来就是一套能自己跑起来的自动化流水线。需要先说明一点定时任务本身不是什么新概念后端领域里 Spring 的Scheduled、分布式场景下的调度框架都是成熟方案。但那些是给工程师写代码用的门槛在你得会写服务。WorkBuddy 的定时任务把门槛降到了你得会写提示词这是它对我这种非纯后端背景的人最大的价值。下面我按实际接入的顺序一层层拆。2. 接入前的整体设计思路与方案选型2.1 先想清楚哪些活该交给定时任务不是所有重复劳动都适合自动化这一点我踩过坑。最开始我贪心想把所有日常操作都塞进定时任务结果配了七八个跑起来互相干扰有的任务依赖上一个任务的输出时间没对齐就拿到空数据。后来我总结出一个筛选标准只有同时满足下面几条的活才值得接进定时任务触发时间固定每天、每周固定时间点执行或者固定间隔执行不需要人工判断现在该不该跑。输入稳定任务依赖的数据源、文件、上下文基本不变或者变化在可预期范围内。输出格式固定产出的是结构化文本、报告、清单这类东西不需要人盯着调整。失败可容忍偶尔跑失败不会造成严重后果重跑一次就行。反过来那些需要临场判断、依赖实时人工输入、失败代价很高的活我坚决不放进定时任务。比如对外发布的正式内容我宁可让定时任务只生成草稿最后一步人工确认。2.2 为什么选 WorkBuddy 而不是自己写脚本有人会问这种定时任务用系统的计划任务加个脚本不就行了。我试过问题在于脚本能处理的是确定性逻辑而我的很多任务本质是让 AI 读一段内容然后产出另一段内容这中间涉及提示词、模型调用、上下文管理自己写脚本要处理 API 调用、重试、结果解析维护成本不低。WorkBuddy 的价值在于它把提示词、工作空间、模型这三样东西做成了可复用的配置单元。你调好一次绑定到定时任务上它就能反复跑。工作空间负责隔离上下文和文件模型负责决定用哪个能力档位提示词负责定义任务逻辑。这三者解耦之后改一处不影响其他维护起来比一坨脚本清爽得多。2.3 整体架构三个配置单元加一个调度器我把整套东西理解成四个部分画在脑子里是这样的关系组成作用我的配置习惯工作空间隔离任务的文件与上下文一个业务线一个空间不混用提示词定义任务要做什么单独存一份方便复用和迭代模型决定能力与成本简单任务用轻量模型复杂任务用强模型定时任务把上面三者按时间绑定错峰排布留出依赖间隔这个结构的好处是当我想调整某个任务的产出质量时我只需要换模型或者改提示词不用动调度配置当我想让同一个提示词在多个时间点跑时复制定时任务即可工作空间和提示词都能复用。提示一开始不要追求全自动无人值守先把任务配成自动跑但结果只落草稿观察一两周稳定了再考虑减少人工介入。3. 核心配置细节提示词、工作空间与模型怎么调3.1 提示词设计定时任务的提示词和手动提问不一样这是我最想强调的一点。手动提问时你可以根据 AI 的回复不断追问、修正提示词写得糙一点没关系。但定时任务是一次性执行没有追问机会所以提示词必须自包含、无歧义、输出格式明确。我总结的定时任务提示词写法包含四个必备部分角色与目标一句话说清这次要干什么比如你是一个日报生成助手负责把输入内容整理成固定格式的日报。输入说明明确告诉它数据从哪来是工作空间里的某个文件还是上一步任务的输出。输出格式用具体的模板约束输出最好给出字段名和示例避免它自由发挥。边界与兜底说明遇到空数据、异常情况时怎么处理比如如果输入为空输出今日无数据不要编造内容。举个我实际在用的例子一个每天整理待办清单的提示词大致长这样角色你是我的待办整理助手。 输入工作空间 todo 目录下最新的一个 txt 文件。 任务读取文件内容按紧急/重要/常规三档分类去掉已完成项。 输出格式 【紧急】 - 条目 【重要】 - 条目 【常规】 - 条目 兜底如果文件不存在或为空只输出今日无待办数据不要补充任何其他内容。对比一下手动提问时那种帮我整理下待办的随意写法你会发现定时任务的提示词更像一份规格说明书。这不是啰嗦是因为机器执行时没有人兜底提示词就是唯一的契约。3.2 工作空间隔离做得好排查少烦恼工作空间这个概念我一开始没重视把所有任务都塞在一个默认空间里结果文件互相覆盖上下文串味排查问题时根本分不清是哪个任务产生的。后来我改成按业务线划分空间每个空间只放这一类任务需要的文件和上下文。具体做法上我给每个空间定了三条规矩一个空间只服务一类任务日报归日报数据整理归数据整理不混。输入输出分目录输入放input输出放output中间产物放temp这样任务跑完一眼能看出结果落在哪。空间命名带业务前缀比如daily-report、>