Agent Workflow 一旦承载长任务、人工确认和真实工具,它就不再是一张可以随手改的流程图。运行中的实例可能停在旧节点,等待一个旧 schema 的工具结果;这时删节点、换工具或调整状态含义,会让恢复逻辑无法解释历史。
我会像发布代码一样发布 Workflow:源码构建成不可变 definition,锁定 Prompt/模型/工具/策略依赖,通过静态检查和回归后灰度。新版本默认只接新 Run,旧实例继续原版本,确需迁移则使用显式 migration plan。
邓明瑞 / 纯粹
Agent Workflow 一旦承载长任务、人工确认和真实工具,它就不再是一张可以随手改的流程图。运行中的实例可能停在旧节点,等待一个旧 schema 的工具结果;这时删节点、换工具或调整状态含义,会让恢复逻辑无法解释历史。
我会像发布代码一样发布 Workflow:源码构建成不可变 definition,锁定 Prompt/模型/工具/策略依赖,通过静态检查和回归后灰度。新版本默认只接新 Run,旧实例继续原版本,确需迁移则使用显式 migration plan。
Prompt 从十几行增长到几百行后,很容易变成一份“谁都能改、没人敢删”的线上配置。有人为了修一个格式问题加两句指令,第二天工具选择率下降;回滚时只把文本改回去,结果仍和上周不同,因为模型别名、工具 schema 或检索模板已经变了。
我不把 Prompt 单独视为版本单位。真正决定一次模型行为的是完整运行组合:system prompt、消息模板、模型 snapshot、sampling 参数、工具定义、检索/上下文策略和输出 parser。它们一起形成不可变 Bundle,发布与回滚都指向 Bundle ID。