第17篇:预定义工作流:高频需求的缓存式加速方案
第17篇:预定义工作流:高频需求的缓存式加速方案
用户经常问"查询预算小于 200 的项目的全部附件"——这个需求每次都一样:先查所有项目,再过滤预算,最后循环查附件。如果每次都让大模型动态编排 steps,不仅消耗 Token,还增加了大模型输出错误的风险。预定义工作流把这类高频需求固化到数据库中,大模型只需输出一个 workflow_code,引擎从数据库加载预置的 steps 执行。本文完整拆解预定义工作流的双层架构:数据库层(ai_workflow 表存储 steps_json、trigger_keywords、template_key)和服务层(WorkflowService 管理、DialogManager 执行),对比动态编排与预定义调用在 Token 消耗、可靠性、响应速度三方面的差异,以及 trigger_keywords 序列化一致性的踩坑经验。
一、问题提出:动态编排的代价
WorkflowEngine 支持大模型动态编排 steps 列表,这给了系统极大的灵活性。但灵活性是有代价的:
Token 消耗高。用户说"查询预算小于 200 的项目的全部附件"时,大模型需要输出完整的工作流定义:
{"action"