2026-04-03 · Steven Ding
为什么我们给CRM加了一套CLI——AI-First架构实践
传统 CRM 的效率瓶颈不在功能,而在交互范式。我们给自研 CRM 加了一套 CLI,让 Agent 能调用命令、编排流程、沉淀经验,把隐性的销售能力变成显性的组织能力。CLI 不是目的,Skills 才是——从界面系统到能力系统,这是 AI-First 架构的核心。
在我们做了多年制造业信息化之后,我们越来越清楚一件事:传统 CRM 的效率瓶颈,不在"功能够不够多",而在"交互范式是不是还停留在人点页面"。
过去,CRM 的核心用户默认是销售、客服、管理者——他们打开系统、点菜单、筛选数据、导出报表。这套模式在 PC 互联网时代成立,但在 AI 时代,它开始出现明显天花板:人是串行操作的,注意力是稀缺的,流程一长就会断点。
今年我们公司从"做系统"进一步转向"做 AI 赋能"。我们在制造业深耕 9 年(MES/WMS/CRM),服务过大量一线业务场景,最终落在一个判断上:未来 CRM 的用户不只是人,还包括 Agent。Agent 不会去点按钮,但它非常擅长执行清晰、可组合、可审计的命令。
所以我们做了一个看起来"复古"、但本质面向未来的动作:给自研 CRM 加了一套 CLI。
为什么要 CLI:GUI 是给人用的,CLI 是给 AI 用的
先说结论:GUI 不是过时,而是单独依赖 GUI 已经不够。
GUI(图形界面)的优势是直观,适合人做探索式操作;但它有三个天然限制:
- 难以被 Agent 稳定调用(点选路径不稳定、依赖页面结构)
- 难以编排复杂流程(跨模块操作需要大量人工衔接)
- 难以成为"组织级自动化能力"(每个人都靠经验点界面)
CLI(命令行接口)恰好相反:
- 输入是结构化的
- 输出是可解析的
- 动作是可复用、可编排、可审计的
这正是 Agent 需要的"操作语言"。
我们内部反复强调一句话:GUI 是给人用的,CLI 是给 AI 用的。
这并不意味着让客户去学命令行。相反,真正的目标是:不是让客户学命令行,而是 AI 替客户操作 CRM,客户只看结果。
比如销售负责人在飞书里只需要说一句"给我看今天高风险商机",背后由 Agent 调用 CLI 完成筛选、汇总、排序、提醒。人拿到的是结论,不是操作负担。

架构设计:CLI → API → 数据层,把命令变成可组合原子能力
这次改造由 Martin(CTO)团队主导,原则非常明确:
- CLI 不直接碰数据库
- CLI 只调用标准 API
- 每个命令只做一件事(原子化)
- 输出统一 JSON,便于机器解析
整体链路是:CLI → API 网关 → CRM 领域服务 → 数据层。
我们把常见业务动作拆成一组原子命令,例如:
- crm opportunity search:按条件查询商机
- crm followup search:查询跟进记录
- crm customer get:获取客户详情
- crm contract search:按条件查询合同
这些命令本身不是终点。真正关键的是把它们交给 Agent 进行编排。
也就是说,CLI 不是目的,Skills 才是——把原子命令组合成业务场景。
一个 Skill 可以由 3~8 个命令组成:先查、再算、再判断、再通知。我们把过去依赖"老销售经验"的隐性流程,逐步沉淀成可复用、可复制、可持续优化的显性能力。
从工程角度看,这让 CRM 从"可操作的软件",变成"可调用的业务能力平台"。

从原子命令到Skills:把经验变成可复用能力
前面说到,单个 CLI 命令是原子能力,但真正的业务价值来自于把多个命令组合成 Skill。
什么是 Skill?
Skill 是一个由 3~8 个命令编排而成的业务场景自动化流程。它的典型结构是:
- 先查(Query):从 CRM 中拉取原始数据
- 再算(Compute):对数据进行聚合、筛选、计算
- 再判断(Judge):根据业务规则识别异常、风险、机会
- 再通知(Notify):把结果推送给相关人员或系统
这种编排把"老销售的经验"变成了"可执行的自动化能力"。
Skill 的核心价值
过去,一个优秀销售经理每天早上会:
- 打开 CRM,筛选各阶段商机
- 手工检查哪些商机超过 7 天没跟进
- 逐个查看跟进记录,判断是否需要预警
- 整理成清单,在晨会上点名提醒
这套流程是隐性的:依赖个人经验,无法复制,难以传承。
现在,我们把它沉淀成一个 Skill:
# 商机健康度巡检 Skill
crm opportunity search --stage "方案" --json
crm opportunity search --updated-before 2026-03-20 --json
crm followup search --related-id <opportunity-id> --related-type 0 --json
# 自动生成风险清单并推送飞书
这套流程变成了显性的:任何人都能调用,可以持续优化,可以跨团队复用。
从个人能力到组织能力
Skills 的本质是把人的经验转化为组织的能力:
- 新人不需要 3 年经验也能获得老销售的判断力
- 最佳实践不会因为人员流动而流失
- 业务规则可以统一优化和迭代
这正是 AI-First 架构的核心:不是让 AI 替代人,而是让 AI 把优秀的人的能力放大、复制、传承。

实际场景演示:我们如何在真实业务里使用 CRM CLI
下面是三个已经稳定运行的典型场景。
场景一:商机健康度巡检
每天自动检查各阶段商机,识别停滞风险。
执行步骤:
# 步骤1: 获取各阶段进行中商机
crm opportunity search --stage "方案" --json
crm opportunity search --stage "报价" --json
crm opportunity search --stage "谈判" --json
# 步骤2: 找出停滞超过14天的商机
crm opportunity search --updated-before 2026-03-20 --json
# 步骤3: 针对每个风险商机,检查最近跟进
crm followup search --related-id <opportunity-id> --related-type 0 --size 3 --json
输出示例(商机阶段定义):
[
{"code": "Survey", "name": "线索", "order": 1, "probability": 10},
{"code": "Proposal", "name": "方案", "order": 2, "probability": 20},
{"code": "Quote", "name": "报价", "order": 3, "probability": 30},
{"code": "Negotiate", "name": "谈判", "order": 4, "probability": 50},
{"code": "Contract", "name": "合同", "order": 5, "probability": 90},
{"code": "Win", "name": "赢单", "order": 6, "probability": 0},
{"code": "Lose", "name": "输单", "order": 6, "probability": 0}
]
业务价值:过去这个动作要销售管理层人工导出 + 手工筛选。现在每天自动完成,第二天晨会直接讨论"怎么救火",而不是"数据在哪"。
场景二:客户360°画像
在飞书群里,销售输入:
帮我看一下苏州某智能科技的全貌。
Agent 实际执行:
crm customer get 3a1973c6-0a85-b26f-1bbd-d236ff3e0250 --json
crm opportunity search --customer-id 3a1973c6-0a85-b26f-1bbd-d236ff3e0250 --json
crm contact search --customer-id 3a1973c6-0a85-b26f-1bbd-d236ff3e0250 --json
crm followup search --related-id 3a1973c6-0a85-b26f-1bbd-d236ff3e0250 --related-type 1 --size 10 --json
crm contract search --customer-id 3a1973c6-0a85-b26f-1bbd-d236ff3e0250 --json
输出示例(客户基本信息):
{
"totalCount": 1,
"items": [
{
"id": "3a1973c6-0a85-b26f-1bbd-d236ff3e0250",
"name": "苏州某智能科技有限公司",
"code": "C20250423001",
"owner": "曹海亚",
"province": "江苏省",
"city": "苏州市",
"customLevelName": "B",
"industry": "信息传输、软件和信息技术服务业",
"creationTime": "2025-04-23T10:15:32"
}
]
}
Agent 汇总后回复:
客户等级:B
负责人:曹海亚
行业:信息传输、软件和信息技术服务业
当前商机:2 个(其中 1 个在报价阶段)
最近跟进:3 天前电话沟通技术方案
历史合同:无
业务价值:这个场景的价值不在"查得快",而在"把跨模块信息一次性拉齐"。对一线销售来说,最贵的是上下文切换,不是查询本身。
场景三:销售周报自动生成
每周五自动汇总本周业绩数据。
执行步骤:
# 本周新增商机
crm opportunity search --created-after 2026-03-31 --json
# 本周签订合同
crm contract search --created-after 2026-03-31 --json
# 本周跟进记录
crm followup search --date-after 2026-03-31 --json
# 本周回款
crm receive search --created-after 2026-03-31 --json
输出示例(节选):
本周新增商机:15 个
本周签订合同:3 个,合计金额 ¥2,800,000
本周跟进次数:127 次
本周回款:2 笔,合计 ¥1,200,000
业务价值:以前周报最难的是"凑数据"。现在周报变成"做决策"。
安全与权限:可调用,不等于无边界调用
让 Agent 能操作 CRM,安全必须先行。我们在 CLI 层做了三层控制:
- Token 认证:每个 Agent / 场景使用独立 Token,最小权限发放,定期轮换。
- 权限分级:命令按只读 / 读写分级,默认只读;涉及写入、变更、删除需显式授权。
- 操作审计:所有命令调用留痕(谁在什么时间对什么对象做了什么),支持追溯与告警。
我们不追求"让 AI 什么都能做",而是追求"让 AI 在边界内稳定做对事"。
未来方向:软件将被 AI 调用,而不只是被人操作
我们相信一个趋势:未来所有软件的核心用户是 AI Agent,不是人。
人不会消失,但人的角色会变化——从"亲自操作每一步",转向"定义目标、确认结果、处理例外"。
CRM CLI 只是我们 AI-First 架构的第一步。接下来,我们会继续把 MES、WMS 等系统能力也逐步原子化、可调用化,让更多业务流程通过 Skills 自动编排。
当软件从"界面系统"进化为"能力系统",企业数字化才真正进入下一阶段。
最后回到那句我们内部共识: CLI 不是目的,Skills 才是。
不是让客户学命令行,而是让 AI 替客户操作系统,客户只看结果。
如果说过去十年我们在建设"人能用的软件",那未来十年我们要建设的是"AI 和人都能协作的软件"。这是我们给 CRM 加上一套 CLI 的真正原因。
需要帮助?
如果您需要相关帮助:
👉 预约 15 分钟演示,我们帮您设计适合的解决方案。