Skip to content

最佳实践

返回总览

这页不讲功能清单,只讲更稳的写法

先用最小模型起步

第一版 workflow 只保留必要步骤

  • 少量输入
  • 明确顺序
  • 简单返回值

history、checkpoint、logs、plugins 都在确认收益后再加

step id 要稳定、可读、可长期维护

推荐把 id 当成长期接口来命名

  • 用业务词,不用临时缩写
  • 避免今天叫 svc,明天改成 service
  • 同名步骤只在 when 互斥时使用

输入和值快照尽量分层

经验上更稳的做法是

  • values 保存会参与摘要和复用的输入
  • results 保存命令或步骤产物

不要把所有中间态都塞进 values,否则快照和历史会越来越脏

command 步骤尽量单一职责

一条 command 步骤里只处理一类动作,后续维护最轻

  • 安装依赖是一条
  • 构建产物是一条
  • 发布镜像是一条

只有在上下文共享价值明显时,才把多条命令收进同一个 run(context, io)

并行只用于真正独立的任务

parallel 组适合彼此无依赖、互不覆盖结果的步骤

如果三条命令之间存在前后顺序或共享产物,串行会更安全

把 CLI 参数映射和步骤定义放在一起

这样最不容易出现字段漂移

当 step id、option 名和 parse 逻辑分散在多个文件里时,维护成本会明显上升

把模板和插件职责分开

  • 模板解决结构复用
  • 插件解决运行时能力复用

这两个维度混在一起后,调试通常会变慢

让日志有足够上下文

开启 logs 后,适当使用 meta、workflow.log 和结构化事件,回看价值会高很多

日志不是越多越好,而是要能回答“这次运行为什么这样结束”

下一步建议