企业级AI Agent技术栈解析:CLI、MCP、Skill三件套实战指南

CLI、MCP、Skill:企业级AI Agent的“干活三件套”,一次讲透
想让AI Agent真正替你干活,光靠一个大模型对话框可不够。
最近钉钉、飞书、企业微信扎堆开源CLI,很多开发者一脸懵:CLI是啥?跟MCP啥关系?还有个Skill又是干嘛的?今天把这三件事一次讲明白——它们就是AI Agent落地企业场景的标准化技术栈,缺一不可。
先搞清楚:这三样东西分别是什么
CLI(命令行工具)——Agent的"手脚"。它是本地执行入口,让Agent能在你的电脑或服务器上跑命令、调API、操作文件。没有CLI,Agent就是个只会说话的"嘴替"。
MCP(Model Context Protocol)——Agent的"神经系统"。Anthropic提出的标准化协议,让模型能以统一方式调用外部工具和数据源。不管你是调飞书文档还是钉钉审批,协议格式一样,Agent不用为每个工具单独适配。
Skill(技能包)——Agent的"肌肉记忆"。把一段可复用的业务逻辑封装成模块,比如"创建周报""发起审批""同步日历",Agent调用Skill就像人用肌肉记忆一样,不用每次重新学。
三者关系一句话:CLI负责执行,MCP负责通信,Skill负责封装逻辑。
CLI:从"能对话"到"能动手"
传统AI Agent最大的痛点是什么?光说不练。 你让它帮你发个飞书消息,它只能告诉你怎么发,自己发不了。
CLI解决了这个问题。以钉钉开源的dingtalk-cli为例,安装后你可以在终端直接执行:
# 安装
npm install -g @dingtalk/cli
# 配置认证
dingtalk auth login
# 发送消息
dingtalk message send --to "群组ID" --content "周报已生成"
# 创建日程
dingtalk calendar create --title "产品评审" --time "2026-04-07 14:00"飞书和企微的CLI也类似。关键是:这些命令可以直接被AI Agent调用。Agent收到用户指令后,把自然语言转换成CLI命令执行,真正实现"说了就干"。
实际场景: 你对Agent说"帮我给项目组发个通知,明天下午两点开会",Agent内部执行的是:
dingtalk message send --to "项目组群" --content "通知:明天(4月7日)下午2:00召开项目进度会,请准时参加"MCP:让Agent用一套协议调所有工具
CLI解决了执行问题,但如果每个平台都用自己的一套接口,Agent的适配成本会指数级增长。这就是MCP的价值——标准化的工具调用协议。
MCP定义了三个核心概念:
- Server(工具服务端):暴露能力,比如"发送飞书消息""查询钉钉审批状态"
- Client(Agent端):发起调用,用统一格式请求工具
- Transport(传输层):支持stdio、SSE等多种通信方式
一个MCP Server的配置示例(以飞书为例):
{
"mcpServers": {
"feishu": {
"command": "npx",
"args": ["-y", "@anthropic/feishu-mcp-server"],
"env": {
"FEISHU_APP_ID": "cli_xxxx",
"FEISHU_APP_SECRET": "xxxx"
}
}
}
}Agent启动后,自动发现飞书MCP Server提供的所有工具(发消息、查文档、建日程等),用标准JSON-RPC格式调用,不需要写任何平台特定代码。
关键突破: 钉钉、飞书、企微的CLI开源后,社区可以直接基于CLI封装MCP Server。这意味着一个Agent可以同时接入三个平台,用同一套协议管理所有企业IM工具。

Skill:把业务逻辑变成可复用积木
CLI解决执行,MCP解决通信,但企业场景往往需要多步骤、带判断的复杂流程。比如"每周五自动生成周报并发送到三个群",这不是一条命令能搞定的。
Skill就是干这个的。它把一组CLI命令 + 业务逻辑 + 条件判断封装成一个可复用模块:
# skill: weekly-report
name: weekly_report
description: 自动生成周报并分发
triggers:
- cron: "0 17 * * 5" # 每周五17点
steps:
- action: cli.execute
command: "dingtalk calendar list --range this-week"
extract: meetings
- action: llm.generate
prompt: "根据以下会议记录生成周报摘要:{{meetings}}"
output: report
- action: cli.execute
command: "dingtalk message send --to '产品组群' --content {{report}}"
- action: cli.execute
command: "feishu message send --to '技术组群' --content {{report}}"商业价值直接明了: 一个中型团队每周花2小时写周报,50人团队就是100小时/月。一个Skill部署后,这部分人力成本直接归零,按人均时薪100元算,月省1万元。
三件套协同:一个完整案例
某电商公司的客服自动化流程,完整展示了三件套如何协作:
需求: 客户在企微发消息询问订单状态,Agent自动查询并回复,异常情况升级到钉钉人工客服。
实现路径:
- CLI层:部署企微CLI(接收消息)+ 钉钉CLI(发送工单)+ ERP CLI(查询订单)
- MCP层:三个CLI各自封装为MCP Server,Agent统一调用
- Skill层:封装"订单查询与升级"Skill,包含判断逻辑(物流延迟>3天自动升级)
# Skill核心逻辑伪代码
async def handle_order_inquiry(customer_msg):
order_id = extract_order_id(customer_msg)
# 通过MCP调用ERP查询
status = await mcp.call("erp", "query_order", order_id=order_id)
if status.delay_days > 3:
# 通过MCP调用钉钉创建工单
await mcp.call("dingtalk", "create_ticket",
title=f"订单{order_id}异常",
content=status.detail)
reply = f"您的订单存在延迟,已为您升级处理,工单号XXX"
else:
reply = f"您的订单状态:{status.current_status},预计{status.eta}送达"
# 通过MCP调用企微回复
await mcp.call("wecom", "send_message", content=reply)落地效果: 该公司客服响应时间从平均15分钟降到3秒,人工客服工作量减少60%,月节省人力成本约8万元。
开发者落地三步走
第一步:装CLI,跑通命令。 选一个平台(建议从钉钉开始,文档最全),装CLI,配置认证,手动发一条消息。10分钟搞定。
第二步:接MCP,让Agent能调工具。 用社区封装好的MCP Server配置文件,在Claude Desktop或Cursor里测试Agent调用CLI工具。
第三步:封装Skill,实现自动化。 把重复性业务流程写成Skill,设置触发条件,让Agent自动执行。
三个平台CLI同一周开源,不是巧合,是信号——企业级AI Agent的基础设施已经标准化了。 现在入场,正好赶上从"能用"到"好用"的窗口期。
下一步行动: 去GitHub搜索dingtalk-cli、feishu-cli、wecom-cli,Star一下,花30分钟装起来跑个hello world。然后打开龙虾官网(yitb.com)的Agent开发文档,找到MCP Server配置模板,把CLI接进你的Agent。今天就能让AI替你发第一条消息。