Scheduled AI Agent输出不一致的两个主要根因:模型采样概率波动(temperature/top-p即使设为0也存在残差)与prompt/上下文隐式变化;解决思路是锁定随机种子+增加输出结构化约束。
答案每次都不一样的两个原因
只有两大类原因,弄清楚你在对付哪一种很重要。
原因一:模型掷了不同的骰子。语言模型是一个 token 一个 token 地生成输出,从概率分布中采样。temperature 和 top-p 控制模型在每个 token 上的冒险程度。即使把 temperature 设为 0 也不能完全消除变化:Google 自己的 generation-parameter 文档就警告过,temperature 0 仍然可能允许少量随机性,而固定随机种子只是让输出"基本确定"而非保证一致。所以漂移有一部分是真正的概率性因素。
原因二:Agent 收到的输入不一样。"相同的 prompt"对一个 Agent 运行来说描述太粗糙了。有效输入包括它携带的对话历史或记忆、检索步骤抓取的文档、工具返回的值、当前时间,以及提供商悄悄给你路由到的模型版本。如果周一到周二之间这些有任何变化,Agent 得到的就是一次不同的运行,尽管 prompt 文本完全相同。
锁住能锁住的
对于概率性那一半,有一套已知的方法:
把 temperature 设为 0,用于任何输出会进入流水线的 Agent。这是代价最低的一致性保障。记住它不是绝对的。
在使用固定随机种子如果 API 支持的话。对于相同的输入基本可复现。
固定模型版本。提供商会悄无声息地退役和更新模型。一个指向"最新"的 Agent 可能一夜之间就改变了行为,而你这边什么都没动。
把 prompt 文本冻结并版本化管理。把 prompt 当成代码来对待:变更要记录、可对比、可回滚。
对于输入漂移那一半,修复方法是日志。记录每次运行的完整有效输入:工具输出、检索到的文档、Agent 看到的记忆。当一次运行发生漂移时,与一次正常运行做 diff。通常差异就在眼前:一个工具返回了不同结果、一个 CRM 字段今早是空的、一个记忆存储昨天有内容今天被清空了。
那个实际上是失忆症的漂移
这是大多数自动化运维人员会忽略的模式。两次"应该"一致的运行实际上有不同的上下文,因为一个记住了另一个没记住的东西。
假设你在周一纠正了 Agent:"billing 线索打 1-10 分,其他打 1-5 分。"周一的运行在它的上下文里有这个纠正。周二的运行全新启动、新的执行环境,没有这个纠正的记录。相同的 prompt、相同的线索、不同的答案。漂移不是随机性。是穿着随机性外衣的失忆症。
这是定时 Agent 真正的杠杆。定时运行是生成、执行、然后消亡的;当进程退出时,它的上下文也随之消亡。除非有东西在运行之间做了记录,否则纠正、决策和过去的输出都会蒸发。Prompt 编辑是常用的变通方案,但它们有一个结构性的失败原因:prompt 是配置,是在 UI 里手动编辑的。Agent 无法把学到的东西写进任何地方。它无法完成一次运行、发现自己漂移了,然后把教训存储起来。
让定时 Agent 稳定下来需要两种记忆:
纠正记忆( playbook )。Agent 学到的关于自己工作的规则:路由规则、格式要求、评分量表、已知的失败模式。这就是让周一的纠正到周三还活着的机制。当它存在于共享记忆中而不是 prompt 字段里时,每次运行都读同一本规则手册。
输出记忆(参考运行)。Agent 过去的输出,存储起来并可检索。在发布之前,Agent 检查上一次产生了什么,匹配那个形状。这就是格式漂移消失的方式:Agent 对比自己的历史记录而不是每天早上即兴发挥。
注意这对概率性部分的作用。你无法让采样完全确定化。但一个记得自己过去输出和纠正的 Agent 会趋向于一致的行为,因为每次运行都锚定在共享记录上而不是从零开始。记忆不能消除随机性;但它给了 Agent 一个可以比对的东西。
定时 Agent 的一致性检查清单
如果你在 n8n、Make、Zapier 或定时 Python Agent 中运行 AI Agent,这是完整的工具包:
Temperature 0、固定随机种子、固定模型版本。先拿下免费的一致性。
版本化管理的 prompt。变更要记录、可对比、可回滚。
记录每次运行的完整有效输入。漂移诊断从这里开始。
一份共享的纠正 playbook,每次运行都读:第 100 天和第 2 天规则相同。
过去的输出作为参考。Agent 在发布前先做对比。
一个统一的纠正入口。说一次,所有读取那个记忆的 Agent 都收到。
记忆存在哪里
你可以自己构建:一个存储规则和过去输出的数据库、在每个工作流开头加一个读步骤、结尾加一个写步骤。这能工作,但每个平台需要几天的接线工作,还要持续维护,而且在 n8n、Make 和你 Agent 运行的其他工具之间会有重复的步骤。
另一种方案是一个 Agent 直接连接的共享记忆层。Vilix AI 是一个选择:云托管,无需运行基础设施,通过 MCP 与 Agent 连接,这意味着相同的记忆会跟着 Agent 穿越 Claude、Codex、Cursor、OpenClaw、Hermes 或任何兼容 MCP 的 AI。它存储完整对话历史,而不只是提取的事实,这样 Agent 可以重访发生纠正的那次实际运行,而不只是总结后的规则。这对漂移诊断很重要:Agent 看到和决定什么的日志本身就是记忆。
这个形态很适合自动化实验:免费计划,以及 7 天 Pro 试用无需信用卡,这样你可以在付费之前把一个定时工作流指向它,看看周二的运行是否开始和周一的一致了。而且这是你的数据:随时可以导出全部内容或删除,以可移植的格式。
定时 Agent 的一致性不是 prompt 问题。是状态问题。锁住采样旋钮、记录有效输入、给 Agent 一个关于它决定了什么、你纠正了什么、以及好的输出长什么样的共享记忆。做到了这些,早上 7 点的运行就会像同一个员工每天来上班,而不是一个新员工没有入职培训。
在 vilix.ai 了解更多。