构建可靠的 AI 工作流:我们在 MCP 架构下的实践与经验

本文总结 MaybeAI 团队在 MCP(Model Context Protocol) 框架下构建生产级 AI 工作流系统的经验。
从最初的“让模型在运行时直接生成代码”到后来的“规划期验证 + 组件化执行”,我们在失败与重构中逐步建立起一个可扩展、可复用、可验证的工作流体系。
一、背景:为什么“自动化更强”,却不代表“更可靠”
过去一年,越来越多平台在谈「智能工作流」:LLM 规划、代码生成、自动调用工具……
但当这些逻辑进入真实业务场景(CRM、销售、财务、营销分析)后,问题开始暴露。
MaybeAI 的经验是:
如果把运行期代码生成作为默认路径,稳定性会迅速失控。
我们最初的实现方式是——让 LLM 在运行时生成并执行工具调用代码。
几个月的实践后,得到的现实是:
超过 20% 的运行失败率
忘记
await语句造成阻塞类型不匹配、边界异常频发
工作流多步串行后成功率骤降
简单的数学说明一切:
每步成功率 95%,十步流程整体成功率仅 60%。
对于处理真实客户数据的业务工作流,这是完全不可接受的。
二、关键转变:从运行期生成到规划期验证
我们决定把代码生成从运行期前移到规划期。
新架构如下:
自然语言 → DSL 计划(由预构建组件组成) → 验证 → 执行
在这种模式下:
LLM 不再输出整段可执行代码;
而是选择、排列并验证已有组件(Components),组成可解释的执行计划;
验证逻辑在执行前完成,运行期只负责确定性调度。
我们称这种模式为 Definition-first Workflow(定义优先工作流)。
它让 AI 的创造性存在于“规划阶段”,而执行阶段完全遵循工程规则。
三、控制流与数据流的解耦:让工作流可扩展
工作流的稳定性,取决于对控制流(Control Flow)和数据流(Data Flow)的分离程度。
| 流程类型 | 职责 | 实现方式 |
|---|---|---|
| 控制流(Planning) | 决定执行顺序、条件、分支逻辑 | LLM 解析需求 → DSL 规划 |
| 数据流(Runtime) | 管理数据在任务间的流动与计算 | DataFrame 在内存中直接传递,不经 LLM 上下文 |
这种分离带来显著优势:
可处理超出上下文窗口的大型数据集
LLM 仅访问摘要信息,降低成本与风险
用户可获得实时预览(类似 Excel 视图)
整体计算过程可观测、可审计、可回放
这让工作流平台具备了“AI 规划 + 确定性执行”的双重特性。
四、业务视角:可重现比“智能”更重要
MaybeAI 的主要用户包括:
销售运营团队
市场与分析人员
财务与商业数据部门
他们希望系统:“每周一上午 9 点,按计划自动生成报告。”
在这类固定节奏的工作流中,
“智能反思与重试”听上去很先进,但对业务而言,不确定性就是风险。
一封错误的邮件
一张写错字段的报表
这些都不是“bug”,而是“业务后果”。
因此我们的原则是:
自然语言规划层 + 确定性执行层(Deterministic Execution)
外层对用户仍是对话式体验,
但底层执行逻辑必须稳定、可审计、可回放。
五、工程要点:从概念到可生产的工作流体系
| 技术原则 | 说明 |
|---|---|
| 前置验证 | 在规划阶段校验类型与逻辑,提前捕获错误。 |
| 强类型与 Schema 校验 | 所有输入输出需明确定义,保障一致性。 |
| 组件化执行 | 预构建可重用组件,减少动态代码生成。 |
| 用户心智映射 | 模型决策结构贴近业务用户的表格与任务思维。 |
我们发现:
工程上的确定性 比“模型智能”更能赢得信任;
Schema 与日志 是连接 AI 层与业务层的真正桥梁。
六、MCP 框架下的经验与未来方向
MCP(Model Context Protocol)让工作流能够在不同工具、模型与执行环境间保持一致的通信标准。
但要想在生产级环境下落地,还需要配合以下架构思路:
规划期验证(Validation before Execution):确保执行图可解释、可复现。
组件库治理(Reusable, Audited Components):提高复用率、减少潜在错误。
执行日志与回放机制(Replayable Execution):让每次运行都能被追踪、优化、再利用。
MaybeAI 的工作流系统正基于此演进:
通过自然语言定义任务,通过 MCP 标准执行任务,让系统在确定性执行中不断学习。
七、开放问题:Tool Composition 的工程化挑战
虽然 MCP 统一了协议层,但工具组合(Tool Composition)仍是整个生态的难题:
不同组件的输入输出如何标准化?
如何在并行任务中保持一致性与隔离性?
如何实现跨模块的监控、回滚与版本控制?
这些问题目前没有标准答案。
MaybeAI 正在探索「工具注册 + Schema 对齐 + 路由评估」的自动治理框架,也欢迎其他团队分享他们在大规模工作流编排中的实践。
八、结论(Conclusion)
生产级工作流与实验性自动化的最大区别在于:
可靠性、可验证性、可复用性。
MaybeAI 在 MCP 架构下的探索告诉我们:
代码生成不是目标,清晰定义才是。
AI 规划不是魔法,需要强类型约束与组件治理。
确定性执行不是保守,而是业务级稳定性的前提。
真正的智能,不是随机尝试的成功率,而是系统持续复现正确结果的能力。
TL;DR
动态代码生成在多步工作流中成功率低、难以复现;
将生成逻辑前移到规划期,通过 DSL + 组件组合实现可控执行;
分离控制流与数据流,提高扩展性与可靠性;
工作流平台的核心价值是“可重现、可审计、可复用”。
