在 monday.com,公司原本面临一项看似不可能完成的挑战:拆分庞大的 JavaScript 客户端单体架构(monolith)。这一任务原本被评估需要 8 年的人力才能完成,但借助 Morphex——一套由公司自行开发、基于 AI 的迁移系统——最终仅用 6 个月就成功完成。
这场工程挑战展示了公司如何在复杂程度极高的开发任务中有效运用 AI,也揭示了为何选择自主构建系统、采用哪些实践方法,以及整个过程中所积累的经验与教训。
“登月计划”:从 AI 月到 Morphex 的诞生
Morphex 的起点是在一次名为 “AI Month” 的公司内部活动中。活动期间,公司几乎所有工程师都投入到构建内部 AI 工具或为产品添加 AI 能力的任务中。作为其中一个特别小组的目标,团队希望选择一个极具挑战性的任务——不仅需要 AI 超越以往能力的极限,还能对日常开发带来重大影响。
最终,选择落在了拆分客户端单体架构并用现代技术栈重建上。这一“登月计划”具有深远意义:monolith 通常是指一个巨大的、结构复杂的单一代码库,其依赖关系庞大、内聚性极强、极难分离。而 monday.com 的客户端正是如此,其架构庞大且可扩展,支持数百位内部开发者以及成千上万的社区开发者和 AI 代理共同协作。
该单体架构囊括了十余年的代码积累,分布在数千个文件中,包括大量 Redux 动作、选择器、reducer、常量、服务、工具函数等。为了实现迁移,代码不仅需要从 JavaScript 重写为 TypeScript,还要将状态管理从 Redux 切换到 Zustand。
任务目标被定为仅用 6 个“人月”完成这一看似不可能的任务。
变身为 AI 代理团队的“经理”
项目初期遇到许多挑战:如何将庞大的代码库和其依赖关系映射为可执行的工作项?AI 代理能否并行工作且避免冲突?如何确保进度的可视化?
公司决定使用 monday.com 自身的平台来管理整个流程。首次重大突破是将 monolith 中的每个文件映射为 monday.com board 中的一个项目项。Morphex 系统会反复扫描并解析整个客户端代码库,将每个文件转化为一个 item,并根据以下多项指标为其打分:
- 复杂度:文件依赖的数量及复杂程度;
- 影响力:该文件被引用的频率及其是否容易提取;
- 挑战性:是否存在遗留问题或技术债;
- 核心程度:该文件是否直接或间接与项目核心目标相关。
Morphex 按照迭代流程自动执行:
- 选择得分最高的文件开始拆分;
- 拆出后,其它依赖该文件的文件会因依赖减少而得分提升;
- 重复执行。
在这一过程中,monday.com board 既是 AI 持续并行执行任务的“记忆体”和任务同步平台,同时也为人类工程师提供任务进度管理与汇报的统一接口。
为何不使用现有 AI 工具?
团队之所以开发 Morphex,并非因为现有工具如 Cursor 或 Claude 的 CLI 不足够强大。事实上,这些工具依然在日常中使用。但它们主要依赖原始 AI 能力,在面对规模如此庞大且结构复杂的任务时,常常容易“迷失方向”或产生幻觉。例如,AI 可能会错误判断“代码已测试通过”,而实际上并未通过。
即便通过拆分提示、设置严格规则或使用 CursorRIPER 这类工具能提升结果质量,但依旧难以做到真正“无人干预自动运行”。更关键的是,要在大规模文件并行处理下保证稳定性和一致性,必须构建一种无需人类驱动的自主流程。
Morphex 正是建立在 AI 与传统确定性逻辑代码混合驱动的基础上。其核心原则包括:
- 使用 NodeJS 编排确定性的迁移计划,每一步都可验证、可重现;
- 将每个任务分解为简单清晰、易于 AI 执行的子任务;
- 每一步操作后都进行校验(如通过 linter、单元测试、人工代码审查),失败则反馈给下一轮迭代;
- 借助 codemod 工具和静态分析,为 AI 提供结构信息,避免其自行“猜测”;
- 对常量抽离、依赖分析等任务采用传统工具辅助,提升效率和准确率。
这种“确定性流程 + 多重验证”的机制,是抑制 AI 幻觉、确保高质量迁移的关键。
AI 与人类的协作:迁移实战
迁移过程中,Morphex 会先分析旧代码,生成目标代码,同时保留原始逻辑不变,并在新代码中添加类型与文档,提升工程质量。此外,Morphex 还会添加 “Human TODOs”,用于提示需要人类审查的风险区域或不确定决策点。
新生成的代码也会默认通过特性开关(Feature Flag)控制上线,便于渐进式部署与性能监控,确保迁移稳定可靠。
每次成功迁移后,Morphex 会生成 Pull Request,并通过 Slack 向开发团队汇报此次改动的详细内容与资源消耗,最终由至少两位工程师进行人工审查和批准。
总结与收获
Morphex 的诞生是为了应对 monday.com 有史以来最具挑战性的工程任务——拆解客户端单体架构。
现有 AI 工具不足以支撑如此庞大的工作量,因此团队构建了 Morphex:一个融合 AI、确定性代码、codemod 工具与多重验证机制的混合系统。这一策略使公司能够有信心地提取高复杂度、高影响力的代码模块,同时提升代码质量、文档和测试覆盖,整个过程中无重大故障。
这次实践的重要启示在于:AI 不应被视为“黑箱”,而应当像团队成员一样进行管理。将宏大目标拆分为可验证的小步骤,引入静态分析与人工审查,才能真正驾驭 AI 潜力、避免其幻觉和偏离方向。
最令人振奋的成果是:Morphex 在投入运行后的首日,即完成了客户端代码库 1% 的提取任务——这个工作量过去需要数月才能完成。
若没有 AI,这一拆分工作可能根本不会被立项,“8 年”的评估更像是“永远无法完成”的委婉表达。而如今,AI 已成为 monday.com 最值得信赖的工程合作伙伴之一。