别再给 Salesforce 交年费了,用 AI 自建轻量级 CRM 的实操路径
我想分享一个核心观点:用 AI 替代昂贵 SaaS 的关键,不在于你写代码的能力,而在于你将业务逻辑翻译成 AI 可执行指令的精度。如果你直接对 AI 说“帮我写一个 CRM”,你大概率会得到一个充满冗余代码、无法维护的垃圾堆。
真正高效的路径是先定义最小可行性功能(MVP)。在 CRM 这个场景下,你应该强迫自己把需求拆解到原子级。首先是定义基础的 Lead(线索)和 Contact(联系人)的数据库表结构,其次是梳理最简单的状态流转逻辑——比如从“潜在客户”到“已签约”的单向流转,最后才是对接邮件或日历等必要的 API 接口。
在实操迭代阶段,我建议采用“Schema 驱动”法。先在数据库层面定义好严格的 Schema,然后利用 Cursor 的 @Codebase 功能将整个上下文喂给 AI。这样 AI 生成的页面和逻辑才会基于现有的框架,而不是在凭空想象。
举个具体的自动化跟进场景:如果你需要一个功能来检查所有状态为 'Pending' 且超过 3 天未更新的联系人,并将其标记为 'Needs Follow-up',你的指令必须包含明确的时间计算逻辑。在 TypeScript 环境下,正确的实现应该是通过 Date.now() - 3 * 24 * 60 * 60 * 1000 来精确计算毫秒差值,并配合 lt(小于)操作符在数据库中筛选。如果指令模糊,AI 可能会写出逻辑错误的时间判断,导致提醒功能失效。
但在这种“快餐式”开发模式中,有两个极其容易翻车的坑:权限控制和数据一致性。
AI 编写的代码通常倾向于“功能实现优先”,它会给你一个能跑通的接口,但往往会忽略边界情况。例如,它可能会忘记在更新联系人状态时加入事务处理,导致在高并发更新时出现数据不一致。更严重的是,它可能会写出缺乏鉴权的 API 接口,导致数据裸奔。
为了规避这些风险,我建议在部署前的强制环节中加入“测试驱动”。不要相信 AI 第一次生成的代码就完美,你应该强制要求它针对每一个 API 接口编写一组完整的测试用例。只有当测试覆盖率达到要求,才允许进入生产环境,否则后期的维护成本和 Bug 修复时间,可能会让你觉得还不如回去交订阅费。
现在确实是“产品经理兼开发者”的黄金时代。只要你能把业务工作流理清楚,通过 AI 自建的轻量级方案,完全可以取代那些臃肿且昂贵的大厂 SaaS 方案。