欢迎光临
我们一直在努力

【AI应用--白话大模型(篇四)】《搞懂大模型之AI Agent 实战:Cherry Studio + MCP 全教程|工具调用、架构原理、高德航班项目完整落地》

一.Cherry Studio

再写这节内容之前补个知识点,在前几节的内容中有一个Cherry Studio(“AI 聚合工具箱”):

1.简介

Cherry Studio 是⼀款集多模型对话、智能体、知识库管理、AI 绘画、翻译等功能于⼀体的全能 AI 助⼿平台。Cherry Studio ⾼度⾃定义的设计、强⼤的扩展能⼒和友好的⽤⼾体验,使其成为专业⽤⼾和 AI 爱好者的理想选择。⽆论是零基础⽤⼾还是开发者,都能在 Cherry Studio 中找到适合⾃⼰的 AI 功能,提升⼯作效率和创造⼒。


2.官⽹

Cherry Studio 官方网站 – 全能 AI 工作站


3.安装

a. 进⼊官⽹,点击下载


b. 启动安装


4.基本使用

1. 启动应⽤后,可以直接进⾏聊天

2. 在设置⾥⾯我们对接不同⼚商的模型服务

3.

3.具体的操作⽂档(联网模式 | Cherry Studio)官⽅很详细我们这⾥不再 赘述


二.工具调用

学习这个板块,理解起来就是:有了脑⼦,有了⼈设,怎么给模型添加上双⼿?

1.概念

简单来说,⼯具调⽤(Tool Calling)就是让⼤模型“学会使⽤⼯具”。传统的⼤模型只能根据训练数据中的知识进⾏⽂本⽣成,⽆法实时获取最新信息,也⽆法执⾏具体操作(如发邮件、查天⽓、计算复杂数学题等)。

⼯具调⽤是指 LLM 在处理⽤⼾请求时,能够识别出⾃⼰⽆法独⽴完成该任务(例如:计算复杂数学题、查询实时天⽓、操作数据库),并主动输出⼀个结构化的指令(通常是 JSON 格式),告诉外部系统:“请帮我运⾏这个函数,并传⼊这些参数。”

LLM 本⾝并不运⾏代码或调⽤ API它只是扮演“⼤脑”的⻆⾊进⾏决策,或者提取参数,⽽具体的“执⾏”是由你的后端系统或代理框架(如 LangChain)完成的。简单理解LLM是⼈的脑⼦,⼯具调⽤相当于⼈的四肢,让⼤模型具备了操作能⼒。


2.为什么需要⼯具调⽤

1. 信息过时

模型训练数据有截⽌时间,⽆法获知最新新闻、股价、天⽓等实时信息。通过⼯具调⽤可以接⼊实 时数据源。

  • 未联⽹检索

  • 联⽹搜索


2. 数学与精确逻辑能⼒差

LLM 是基于概率预测下⼀个字符的,处理 11123.678*8123 这种精确计算时极易出错。⼯具调 ⽤允许它将这类任务“外包”给专业的计算器或 Python 解释器。

⽤计算器计算,可以看到上⾯的值是错误的


3. 没有动⼿能⼒

原⽣ LLM 只能输出⽂本。但在实际业务中,我们希望模型能“发邮件”、“推荐⾏程和餐厅”或 “查询数据库”。⼯具调⽤为模型提供了操作外部系统的接⼝。


3.⼯作过程

我们来看下LLM调⽤⼯具的过程,这个过程中模型做的事情本质上就⼀个:根据⽤⼾输⼊,输出⼀个符合你定义的数据结构,供你后续处理。

下⾯我们来通过查询天⽓来看下⼯具内部具体的调⽤细节:

⽤⼾:就是实际使⽤应⽤的⽤⼾,⼀般通过APP或者浏览器操作

应⽤程序:⼀般是交互的⽹站或者APP

LLM模型:如DeepSeek、⾖包模型,⼀般以API的⽅式提供

外部⼯具/API: ⼀般为应⽤程序提供的服务或者由第三⽅公司提供的服务

工作步骤:

1. 注册⼯具(给⼤脑⼀份“使⽤说明书”)

在对话开始前,开发者会告诉模型:“你可以使⽤⼀个叫 get_weather 的⼯具。”

定义的 Schema(结构):

  • 名字: get_weather
  • 功能:获取指定城市的实时天⽓。
  • 必需参数: location (字符串)
  • 可选参数: unit (摄⽒度/华⽒度)

2. ⽤户提问(触发需求)

用户问: “北京现在的天⽓怎么样?需要穿外套吗?”

此时模型的思考:

“我没有实时互联⽹连接,不知道北京现在的温度。但我有⼀个 get_weather ⼯具可以查到这 个信息。”


3. 模型输出指令

模型停⽌输出⾃然语⾔,可以抽取你要求的参数,转⽽⽣成⼀段精准的 JSON 数据。(数据的真正来源 :外部API、数据库、内部系统、物联网设备等)

{
"tool_call": {
"function_name": "get_weather",
"parameters": {
"location": "北京",
"unit": "摄氏度"
}
}
}

关键点: 此时模型并不知道北京的天⽓,它只是完成了“提取参数”的⼯作。


4. 执⾏⼯具(⼿去⼲活)

你的后端程序(Python 或 Node.js)接收到了上⾯那段 JSON。

a. 程序解析出: location="北京" 。 b. 程序通过⽹络请求调⽤真正的⽓象局 API。 c. API 返回真实数据: {"temp": 12, "condition": "Cloudy", "wind_speed": "Strong"} 。


5. 汇总回复(⼤脑整理汇报)

应⽤程序把 API 返回的结果塞回给模型。现在模型的“短期记忆(Context)”⾥有了这些新鲜数 据:

  • ⽤⼾意图:查北京天⽓,问是否穿外套。
  • 实时数据:12度,多云,⼤⻛。

模型最终⽣成的⾃然语⾔:

“北京⽬前⽓温 12°C,多云且⻛⼒较⼤。体感温度可能更低,建议您出⻔穿⼀件厚外套或防⻛⾐。”


4.Function Calling是什么

Function Calling 是模型的⼀种原⽣能⼒,允许开发者向 LLM 描述⼀组函数的“签名”(包括函数名、功能描述、参数列表及类型)。

怎么理解呢?下⾯看下管家的这个例⼦搞清楚LLM和Function Calling 的关系。

⽐如:
你雇了⼀位知识渊博但⼿脚“瘫”了的管家(这就是 LLM)。他什么都会……但他⾃⼰完全没法动⼿——不
会拧扳⼿、不会点⼿机、也不会按计算器。
不过,管家⾯前有⼀排神奇的“功能按钮”(这就是 Function Calling 提供的函数列表),每个按钮
上都贴着标签:
🔧 修⽔管(参数:漏⽔位置、管道类型)
✈ 订机票(参数:出发地、⽬的地、⽇期)
🧮 计算器(参数:数学表达式)
这些按钮背后连着真正的执⾏者(外部系统,⽐如维修⼯、订票平台、计算器程序)。管家虽然⾃⼰按
不动按钮,但他能“思考”:
你告诉他:“厨房⽔槽漏⽔了,帮我找⼈修⼀下。”
管家⽴刻分析:哦,这事需要按 “修⽔管” 按钮。
他仔细填好参数:{“漏⽔位置”: “厨房⽔槽”, “管道类型”: “PVC”}
然后把这张“指令单”递给你(或者直接交给背后的执⾏系统)。
你(或系统)替管家按下按钮,真正的维修⼯接到单⼦就去修好了。
管家再把结果转述给你:“修好了,花了200元。”

LLM 负责“判断该按哪个钮 + 填好参数单”,Function Calling 就是“那个钮和填单的规范格式”。

可以看下DeepSeek调⽤外部⼯具的约定:Tool Calls | DeepSeek API Docs


5.Function Calling和Tool Calling的关系

Function Calling最早由 OpenAI 在 2023 年 6 ⽉推出。当时模型可以输出⼀个结构化的函数名和参数,⽅便开发者调⽤外部函数(⽐如查天⽓、发邮件)。这个名字因此流⾏起来。后来 OpenAI 在2024 年更新了功能,发现模型不仅能调⽤函数,还能调⽤内置⼯具(如⽂件搜索、代码解释器)或API 接⼝。叫“函数”不够准确,于是官⽅改称 Tool Calling。

1. 包含与被包含

⽬前主流的 API(如 OpenAI、Claude)中,Tool(⼯具) 是⼀个⼤的包装器,⽽ Function(函数)是⽬前最常⽤的⼯具类型。

2. 实际使⽤对绝⼤多数开发者⽽⾔是⼀个内容。遇到这两个词,把它们当成⼀回事即可,核⼼都是 “让 AI 调⽤外部能⼒”。


三.MCP

简单说就是:每来个⼯具写⼀套代码,有没有标准的协议?

1.MCP是什么

MCP 起源于 2024 年 11 ⽉ 25 ⽇ Anthropic 发布的⽂章:Introducing the Model Context Protocol(Introducing the Model Context Protocol \\ Anthropic)MCP是⼀种开放协议,通过标准化语⾔和接⼝,实现AI模型与外部数据源/⼯具的⽆缝交互。

MCP不是⼀个⼯具,⽽是⼀种⼯作⽅式或者规则。 核⼼⽬标:建⽴类似USB-C的标准化协议,统⼀AI模型与外部资源的交互接⼝,实现"⼀次集成,处处运⾏"。解决当前 AI 模型因数据孤岛限制⽽⽆法充分发挥潜⼒的难题,MCP 使得 AI 应⽤能够安全地访问和操作本地及远程数据,为 AI 应⽤提供了连接万物的接⼝。

MCP(模型上下⽂协议)之于 AI 应⽤,就像 USB-C 之于电⼦设备。

USB-C 统⼀了充电、数据传输和视频输出。在它出现前,你要为⼿机、硬盘、显⽰器准备不同的线缆;有了它,⼀根线、⼀个接⼝就能搞定所有,⽆论连接的是充电头、U盘还是4K显⽰器,系统都能⾃动识别并协商好供电和通信协议。

MCP 则在 AI 世界⾥扮演同样的“通⽤连接器”⻆⾊。在它出现前,每个⼤模型(Agent)要调⽤⼀个外部⼯具(⽐如查天⽓、搜索、画图),都得写⼀套专属的“驱动代码”——这种“每个⼯具⼀套接⼝”的做法,让 AI ⽣态碎⽚化严重。

有了 MCP,情况彻底改变:

  • 标准化:MCP 定义了⼀套通⽤的原语,就像 USB-C 定义了电源、数据、视频等通道。
  • 即插即⽤:任何符合 MCP 标准的 Server(服务端),都可以像 USB-C 设备⼀样插上就跑。客⼾端只需发送标准格式的调⽤请,就能“唤醒”服务器执⾏具体功能
  • 主从清晰:MCP Client(客⼾端) 是“主机”,负责发现和发起请求;MCP Server(服务端) 是“设备”,负责具体执⾏,就像电脑(主机)和 U 盘(设备)的关系。


2.为什么需要MCP

1. 适配⼯作量极⼤降低

在 MCP 出现之前,AI 连接外部⼯具,基本就是“硬编码”⼀对⼀⼿⼯对接。你有 M 个 AI 应⽤,N 个⼯具(数据库、⽂件系统啥的),那就得写 M × N 个集成模块。每对接⼀个新⼯具,都要从头适配⼀遍,费时费⼒。有了 MCP,M 个 AI 应⽤只需实现⼀次 MCP 客⼾端,N 个⼯具只需实现⼀次 MCP 服务器。⼀次对接,解锁整个⽣态——这才是真正的效率提升!

传统方式:N个AI模型对接M个工具,需要写N×M套代码,加个新工具所有模型都要重写一遍。

MCP方式:加一个"万能接口",所有模型和所有工具都只对接这个标准协议,新增工具一次接入,所有模型直接通用。

简单说:MCP就是AI界的"USB-C接口",统一标准,插上就能用。

我们可以想象⼀下,每个企业系统都像是不同品牌的智能家电(电视、空调、智能灯),原本每个设备都需要专属遥控器(定制接⼝)。

MCP就像⼀个预置了所有家电协议的万能遥控器:AI助⼿拿着这个遥控器,既能让"电视"播放监控视频(调⽤安防系统),也能让"空调"调节数据温度(调整服务器负载),还能让"⾳响"播报业务报告(触发语⾳合成)——所有操作都通过统⼀按键(标准化指令)完成,⽆需再为每个设备寻找专⽤遥控器。


2. 标准化的⼯具发现和使⽤

MCP标准化了⼯具的定义、托管和向 LLM 暴露的⽅式,所有 MCP Server 都以统⼀的格式(名称、参数、描述)向 Client 暴露⼯具,LLM 能轻松发现可⽤⼯具、理解架构并使⽤. ⽐如⼯具清单调⽤格式约定

⼯具调⽤格式约定

做了约定之后,这样很容易对于新的服务器的⼯具做发现和调⽤。


3. 构建开放的“⽣态”,⽽⾮孤⽴的“应⽤”

MCP是⼀个开放标准,不绑定任何特定模型、框架或供应商。避免供应商锁定:基于MCP开发的⼯具,可以被任何⽀持MCP的AI客⼾端(如Claude、⽀持MCP的GPT等)调⽤。这保障了技术投资的灵活性,不会被任何单⼀AI公司锁定。Function Calling 的接⼝格式、参数定义⽅式都由特定模型⼚商(如 OpenAI、Anthropic)定义。为⼀个模型(如 OpenAI)编写的调⽤代码,⽆法直接⽤于另⼀个模型(如 Google Gemini)。切换模型平台往往意味着要重写⼤量代码。

⽐如你基于 MCP 标准开发了⼀个“天⽓查询”的 MCP Server。⽆论是 OpenAI、Anthropic Claude还是其他⽀持 MCP 的模型,都可以直接发现并使⽤这个 Server 提供的⼯具,⽆需任何修改。


3.官⽹

1. 官⽹ :What is the Model Context Protocol (MCP)? – Model Context Protocol

2. Github : https://github.com/modelcontextprotocol

3. MCP协议地址:Versioning – Model Context Protocol


4.MCP社区

1. 魔搭 (ModelScope) 社区MCP⼴场ModelScope – MCP 广场

2. MCP World海量 MCP Servers 导航网站

3. ⽕⼭引擎MCP⼴场火山引擎-你的AI云

4.阿⾥云MCP 大模型服务平台百炼控制台

5. MCP.so https://mcp.so/

6.CLine MCP⼴场MCP Marketplace – Cline

5.MCP初体验

我们这个案例通过调⽤多个MCP 服务来感受下MCP服务的快速集成。

Trae

a.简介

Trae IDE 是字节跳动推出的AI原生集成开发环境(IDE),由传统的代码编辑器进化而来,更像是一位能与你协作完成整个开发任务的"AI开发工程师"。

b.官网

国内版本:TRAE – The Real AI Engineer | TraeCode – 你的 AI 开发工程师

国际版本:TRAE – Collaborate with Intelligence

下载安装

1.下载Trae IDE,双击启动进行安装

2.安装完成后启动,左边是文件编辑区域,右边是和AI协作区域


c.基本使⽤
Agent构建官⽹

1. 我们以创建⼀个咖啡店的官⽹为例来看下如何操作,⾸先我们新建⼀个⽬录(这里你可以直接在你的磁盘里新建一个文件夹然后打开)


2. AI聊天区域我们可以选择不同的模式


3. 我们选择Agent模式,输⼊下⾯的提⽰词

⽣成⼀个咖啡店的官⽹,使⽤简单的html,js,css来完成


4. 经过⼀段时间的等待后可以看到官⽹⽣成了。(这里可能会等几分钟)

5. 如果效果达到了我们的预期,我们选择全部保留,⽂件会保存起来

右下角有一个全部保留的标识。


6. 我们也可以添加到对话来完成修改


8. 添加到对话后,我们输⼊提⽰词


9. 可以看到已经修改


Chat⽅式构建官⽹

1. 我们新建⼀个⼯程的⽬录 ,⽤Trae打开

2. 我们输⼊提⽰词,⽣成官⽹

⽣成⼀个咖啡店的官⽹,使⽤简单的html,js,css来完成


3. ⽣成后,提⽰我们要⼿动操作

手动方式如下:

4. 我们挨个拷⻉⽣成的⽂件


5. 我们打开⽬录下⾯的⽂件查看效果

6. 如果我们要修改可以在编辑器中选择代码,然后在聊天窗⼝中输⼊内容进⾏修改,⽐如我们选择精品咖啡来点击添加到对话

快捷方式:


SOLO 模式

1. 我们新建⼀个⽂件,⽐如 E:\\code\\traeprj\\pets ,使⽤Trae打开⽂件夹,切换到solo模 式

  • 与AI对话 (Ctrl+U):这对应的是原来的 Chat 模式。主要用于问答、解释代码、生成片段等。

  • Editor内AI编码 (Ctrl+I):这对应的是 Solo 模式 的核心操作方式。它让你在编辑器里直接向 AI 下达任务,AI 会自主规划并完成代码编写和文件操作。

  • 2. Agent和solo有下⾯2个可选的模式

    /plan

    ## /plan(计划模式)
    ⽤途 :⽤于⽣成实现计划,指导具体的代码修改。
    适⽤场景 :
    – 当你需要对现有代码进⾏修改、添加新功能或修复 bug 时
    – 需要明确列出要修改的⽂件、步骤、潜在⻛险等

    /spec

    ⽤途 :⽤于⽣成详细的技术规范⽂档,包括 PRD(产品需求⽂档)和技术架构设计。
    适⽤场景 :
    – 从零开始构建新的应⽤或⼤型功能
    – 需要完整的需求分析和架构设计
    – 涉及多个模块、复杂交互或多端适配

    /goal

    ⽤途 :⽤于创建和追踪⻓期⽬标,管理任务进度和预算。
    适⽤场景 :
    – 需要持续追踪的复杂任务

    3. 输⼊下⾯的提⽰词,使⽤/plan模式

    我想打造⼀个⾯向中国消费者的宠物电商⽹站。⽹站需要设计简洁现代,适配⼿机端浏览。核⼼⻚⾯包
    括:⾸⻚(包含轮播图、宠物推荐、热销宠物、新⽤⼾弹窗),注册登录⻚(⽤⼾可以使⽤⼿机、微信注册
    登录)、商品列表⻚、商品详情⻚(展⽰宠物图⽚、尺⼨信息和⽤⼾评价),购物流程包括:购物⻋、下单
    结算、⽀付(⽀持⽀付宝、微信⽀付、银⾏卡⽀付等主流⽅式)。在结算时填写收货地址,并查看历史订
    单。⽀持⽤⼾通过邮件⽅式联系官⽅。整体视觉⻛格以暖⾊为主⾊调,使⽤⼤图展⽰商品,⻚⾯布局简
    洁,交互动效⾃然流畅。使⽤html,js,css来完成。

    4. 我们点击执⾏,让它开始执⾏计划

    5.看见他生成的技术文档

    6.最后我们来看下⽣成的效果,可以看到⽣成了对应的⻚⾯,因为我们没有让他使⽤后台框架,所有主要⽣成了前端⻚⾯的交互。


    高德

    a.简介

    ⾼德是中国领先的数字地图、导航及位置服务解决⽅案提供商,⽬前是阿⾥巴巴集团旗下的全资⼦公司,⾼德拥有国家甲级导航电⼦地图测绘和甲级航空摄影等资质,其优质的电⼦地图数据库是核⼼竞争⼒,⾼德已从⼀个单纯的⼯具应⽤,发展为提供“⾐⻝住⾏”⼀站式服务的综合性⽣活平台。其核⼼产品“⾼德地图”APP覆盖了海量⽤⼾,⽉活跃⽤⼾(MAU):已突破9亿,⽇定位量:借助北⽃卫星系统,⽇定位量已突破9000亿次。

    b.官⽹

    高德开放平台 | 高德地图API

    高德地图

    c.⾼德开放平台

    ⾼德开放平台是⼀个⾯向开发者和企业的“地图能⼒输出平台”。它将⾼德地图专业的定位、地图、 导航等底层技术能⼒,以 API(应⽤程序接⼝)和 SDK(软件开发⼯具包)的形式开放出来,让第三⽅开发者可以便捷地集成到⾃⼰开发的应⽤或⽹站中,从⽽降低开发⻔槛,并拓展⾃⾝产品的服务边界。核⼼能⼒主要包括:

    • 🗺 基础地图与展⽰:提供多种样式(如动态、3D、交通地图等)的地图SDK,⽀持⾃定义样式、交互和叠加标记,满⾜APP或⽹⻚的地图展⽰需求。
    • 📍 定位与搜索:提供⾼精度的GPS、⽹络定位服务,并⽀持地理编码(地址转坐标)/逆地理编码(坐标转地址),以及周边搜索、关键字搜索等功能。
    • 🗺 路线规划与导航:⽀持驾⻋、步⾏、骑⾏、公交等多种⽅式的智能路线规划;提供实时路况查询和动态导航;并提供轨迹管理与智能调度⽅案。
    • 🧠 前沿AI与⼤数据:借助AI提升路径规划的智能化⽔平;通过海量时空数据提供⽤⼾洞察,辅助商业决策。
    • 🌐 全球化能⼒:覆盖全球200多个国家和地区,⽀持56种语⾔,拥有1.2亿海外POI数据,满⾜出海应⽤需求。


    d.注册申请key

    1. 注册登录控制台高德控制台

    2. 创建应⽤

    3.创建key


    4. 创建成功后,可获取 Key 和安全密钥。

    5. 查看配额


    6. 如果配额觉得低或者想开发⼀些个⼈的应⽤,可以认证开发者账号,注册成为开发者。

    高德控制台


    Node

    a.简介

    在 Node.js 之前,JavaScript 运⾏时被绑定在浏览器中,作为浏览器的各种模块出现。这意味着,要想运⾏ JavaScript 代码就必须启动浏览器,JavaScript 逃不出浏览器的⼿掌⼼,它的功能受到很⼤的限制,只能作为⽹⻚脚本使⽤。

    JavaScript 的⼀⽣伴随着浏览器⼤战。JavaScript 由 Netscape(⽹景)浏览器发布,但是 Netscape在和 IE 的竞争中落败,早已不复存在;后来⾕歌公司的 Chrome 浏览器异军突起,凭借强悍的性能把IE 按在地上摩擦。

    ⾕歌公司在 Chrome 浏览器中集成了⼀种名为“V8”的 JavaScript 引擎(也即 JavaScript 解释 器),它能够⾮常快速地解析和执⾏ JavaScript 代码。

    V8 引擎使⽤ C++ 语⾔编写,可以独⽴运⾏,也可以嵌⼊到任何其它 C++ 程序中。⾕歌公司将 V8 引擎甚⾄整个 Chrome 浏览器都开源了,任何⼈都可以免费地将 V8 应⽤到⾃⼰的项⽬中。

    V8 引擎的强⼤,以及当年 JavaScript 的⽕爆,使得⼀名叫 Ryan Dahl 的程序员希望在浏览器之外再为 JavaScript 构建⼀个运⾏时,让 JavaScript 能够直接在计算机上运⾏,这样 JavaScript 就能像Python、Ruby、PHP 等其它脚本语⾔⼀样⼤展宏图,不必再受限于浏览器,只能做⼀些⼩事情。

    Ryan Dahl 和他的团队将这套独⽴的 JavaScript 运⾏时命名为 Node.js;为了避免被误认为是 JavaScript 框架,现在也经常简称为 Node。

    Node.js® 是⼀个免费、开源、跨平台的 JavaScript 运⾏时环境,它让开发⼈员能够创建服务器、 Web 应⽤、命令⾏⼯具和脚本。


    怎么理解呢?

    JavaScript 就像前厅服务员

    想象 JavaScript 是⼀种 “沟通指令”。以前,这种指令只能在⼀个叫 “浏览器” 的餐厅前厅⾥使 ⽤。 前厅服务员(浏览器⾥的 JavaScript)能做这些事:

    • 帮客⼈点菜(点击按钮)
    • 即时把菜名显⽰在菜单上(修改⽹⻚内容)
    • 检查客⼈输⼊的⼿机号格式对不对(表单验证)

    但服务员 不能进厨房,也不能去仓库、不能去收银后台。

    也就是说,传统 JavaScript 没办法 操作电脑的⽂件、连接数据库、监听服务器端⼝ 等后端能⼒。

    Node.js 就是给 JavaScript 配了⼀个“万能厨房通⾏证”

    Node.js 就是⼀个 让 JavaScript ⾛出前厅、进⼊整个餐厅后厨乃⾄全店管理的⼯具包。操作电脑的⽂件、连接数据库、监听服务器端⼝ 等后端能⼒都具备了。

    b.官⽹

    Node.js — Run JavaScript Everywhere

    c.为什么需要Node?

    1. 统⼀前后端语⾔

    • 团队只需会 JavaScript,就能写前端(React/Vue)和后端(API 服务)。
    • 代码可以复⽤:⽐如数据校验函数,浏览器和服务器⽤同⼀份。

    2. 轻量快速

    • Node.js ⼀个进程(例如默认的 node app.js )通常只占⽤ ⼏⼗ MB 到 200 MB 内存。对⽐:Java 的 Spring Boot 应⽤空载时往往 200~500 MB
    • Node.js 应⽤从 node app.js 到监听端⼝,通常 ⼏⼗毫秒到⼏百毫秒。Java 应⽤启动需要加载 JVM、类加载、字节码验证,往往 ⼏秒到⼗⼏秒(尤其是 Spring Boot)。

    3. ⽣态极强

    npm 是全球最⼤的软件包仓库,⼏乎所有现代前端⼯具(Webpack, Vite, ESLint)都依赖 Node.js。


    NPM

    a.简介

    NPM 的全称是 Node Package Manager(Node.js 包管理器)。它是 Node.js 的官⽅包管理⼯具,主要做三件事:

    • 安装包:从远程仓库下载第三⽅代码库(如 express , lodash )到你的项⽬中。
    • 管理依赖:通过 package.json 记录项⽬需要的包及版本,确保环境⼀致。
    • 发布包:开发者可以将⾃⼰的代码打包发布到 npm 仓库,供他⼈使⽤。

    怎么理解呢? NPM 就像 ⼿机应⽤商店(App Store)。

    • 你需要⼀个“计算器”功能,不⽤⾃⼰写代码,去商店搜索“计算器”App,⼀键安装( npminstall calculator )。
    • 商店会记录你安装过的 App 列表( package.json )。
    • 如果你开发了⼀个很棒的 App,也可以上传到商店供别⼈下载。

    b.官⽹

    https://www.npmjs.com/

    这是 npm 公司的官⽅⽹站,也是全球最⼤的 JavaScript 包注册中⼼。

    • 上⾯托管了超过 200 万个开源包(截⾄ 2025 年),每周下载量达数⼗亿次。
    • 你可以在这⾥搜索包、查看⽂档、统计信息,以及管理⾃⼰的包。

    c.主要功能

    1.安装、卸载、更新依赖包(全局或局部) 2. 管理项⽬的包信息 3. 运⾏ 定义的脚本 4. 发布⾃⼰的包到 npm 仓库


    d.使⽤⽅式

    npm-install | npm Docs

    • npm install <pkg> # 局部安装(当前项⽬)
    • npm install -g <pkg> # 全局安装(系统级)
    e.Node的安装

    1. 进⼊官⽹,点击下载

    Node.js — Run JavaScript Everywhere


    2. 下载系统对应的安装包


    3. 以windows为例说明安装步骤


    4. 启动命令⾏,输⼊命令 node -v ,正常输出版本说明安装成功

    win+R启动输入node -v


    5. 检查npm和npx


    6. 配置国内npm源

    1. 查看当前镜像源
    npm config get registry
    2. 设置为淘宝镜像源
    npm config set registry https://registry.npmmirror.com
    3. 验证是否设置成功
    npm config get registry

    7. 配置全局包安装⽬录

    • a. D:\\lib 下⾯创建⽬录

    node_global
    node_cache

    • b. 配置包下载⽬录,注意 D:\\lib 是我电脑上的⽬录,需要根据⾃⼰的⽬录动态配置

    npm config set prefix "D:\\lib\\node_global"
    npm config set cache "D:\\lib\\node_cache"

    • c. 配置环境变量,将 D:\\lib\\node_global 放到系统的PATH⽬录下⾯
    • d. 检查配置

    npm config list


    f.NPM基本使⽤

    1. 我们可以⽤ cowsay 这个经典的命令⾏⼯具来测试。它的功能⾮常简单:让⼀只⼩⽜(或者其他 动物)在终端⾥说出你指定的话。 2. 使⽤NPM安装测试

    npm install -g cowsay

    运⾏结果


    3. 可以看到node_global⾥⾯安装了cowsay


    4. 执⾏命令 cowsay "Hello hjq"


    NPX

    a.简介

    npx (Node Package Executor) 是⼀个 包执⾏器。它从 npm 5.2.0 版本开始被内置在 npm 中,所以只要你安装了较新版本的 Node.js,就⾃带了 npx。 它允许你直接运⾏来⾃ npm 注册表的包,⽽⽆需先通过 npm install 将其永久安装到本地或全局。

    b.主要功能

    1.直接运⾏⼀个 npm 包中的命令,⽆需预先安装(可临时下载并执⾏) 2. ⾃动查找命令:优先使⽤当前项⽬的 node_modules/.bin/ ,其次使⽤全局安装,最后临时下使⽤⽅式载最新版 3. ⼀次性执⾏,执⾏后不安装包(除⾮主动安装)

    c.使⽤⽅式

    npx | npm Docs

    npx <pkg>[@<version>] [args…] # 运⾏命令

    d.为什么有了NPM还需要NPX

    简单理解:npm 负责“拥有”包,npx 负责“使⽤”包。


    e.NPX基本使⽤

    1. 执⾏命令 npx cowsay "Hello, ⽐特!"

    npx cowsay "Hello, ⽐特!"


    2. 查看结果


    6.MCP实战对接–高德MCP服务

    前面的相关知识,我已经讲过了,接下来进行就行

    1.参考快速接入-MCP Server | 高德地图API⾼德MCP配置,添加MCP配置,注意key要换成⾃⼰的

    {
    "mcpServers": {
    "amap-maps-streamableHTTP": {
    "url": "https://mcp.amap.com/mcp?key=您在高德官网上申请的key"
    }
    }
    }

    2.配置好⾼德地图

    结果如下:


    7.MCP实战对接–航班的MCP服务

    假如我们要⻜到北京去旅游,我们需要航班信息,我们使⽤⻜常准的MCP服务MCP – 飞常准-Aviation

    (为 VariFlight 航班信息服务实现的模型上下⽂协议(MCP)服务器。该服务器提供了多种⼯具来查询航班信息、天⽓数据和⻜⾏舒适度指标。)

    我们进⼊⻜友开放平台飞友 AI 开放平台 | VariFlight AI Open Platform


    点击注册

    进⼊后台我们创建API-KEY


    新⽤⼾有个赠送额度


    我们在trae完成mcp的配置,注意API key换成⾃⼰的

    {
    "mcpServers": { // 固定入口:MCP服务器列表
    "variflight": { // 服务名称(可自定义)
    "command": "npx", // 执行命令:用 npx 来运行
    "args": [ // 传给 npx 的参数
    "-y", // -y 表示自动确认安装
    "@variflight-ai/variflight-mcp" // 要运行的包名
    ],
    "env": { // 环境变量配置
    "VARIFLIGHT_API_KEY": "your_api_key_here" // 需要替换
    }
    }
    }
    }

    完成配置:


    8.MCP实战–实现旅游报告

    这个实战就是基于我们前面的两个操作:

     我们来输⼊个需求看下

    我要从西安⻜到北京旅游3天,给我⽣成具体的旅游规划,景点之间借助⾼德地图⽣成具体的路线信
    息,并且查询下航班信息给出合理建议,最终使⽤html,js,css的⽣成报告


    可以看到调⽤了⾼德地图,⽣成了路线规划

    结果演示:


    四.MCP核⼼架构

    MCP遵循CS(客⼾端-服务端)架构,⼀个AI应⽤可以连接到多个MCP服务器。

    • 左侧:MCP 客户端 (MCP Client) 这些都是需要 AI 能力的上层应用,比如你正在使用的智能 IDE(如 Trae)、本地大模型运行工具(如 LM Studio),或者其他 AI 软件。它们通过统一的 MCP 协议 发送请求。

    • 中间:MCP 协议 (MCP Protocol) 这是一个标准化的通信管道,相当于一个“通用语言”。它负责在客户端和服务器之间传递指令和数据,让任何遵循该标准的双方都能顺畅沟通。

    • 右侧:MCP 服务器 (MCP Server) 这些是提供具体数据和功能的后端服务或工具,比如一个文件系统、一个数据库,或者一个查询航班信息的 API。MCP 服务器将这些能力以标准格式“暴露”出来,供客户端调用。

    整个流程可以这样理解:

    整个工作流程是:AI 客户端(应用) -> MCP 协议 -> MCP 服务器(工具/数据)。

  • 请求:你在 AI 应用(客户端)里问:“帮我查一下今天北京到上海的航班”。

  • 路由:你的应用通过 MCP 协议,将这个请求发给对应的“航班查询”MCP 服务器。

  • 执行:航班 MCP 服务器收到请求后,去查它的数据库或调用外部 API。

  • 返回:服务器将查到的航班信息,再通过 MCP 协议传回给你的 AI 应用。

  • 呈现:你的 AI 应用把结果整理成你能看懂的话回复给你。

  • 简单来说,这张图的意思就是:MCP 在 AI 应用和外部工具之间建立了一个统一的连接标准。 这样做的好处是,开发者只要遵循 MCP 标准,就能让一个 AI 应用轻松接入无数种工具,大大降低了开发成本。你之前配置的飞常准 MCP,就是图上右侧的其中一种“MCP 服务器”。


    1.MCP HOST

    MCP HOST是⽤⼾与 AI 交互的前端,⽐如我们使⽤Trae,是⾯向⽤⼾的 AI 应⽤ , 就像指挥中⼼。Host内嵌 MCP 客⼾端(Client),负责协议握⼿、⼯具能⼒发现、调⽤请求转发等功能。


    2.MCP Client

    MCP Client则像是LLM的遥控器,负责向Server发送指令并接收结果。它充当了翻译官的⻆⾊,把⾃然语⾔指令转换成Server能理解的请求格式,通常嵌⼊在 Host 中),负责处理底层事务.

    • 接收来⾃ LLM 的请求
    • 转发请求⾄相应的 MCP 服务器
    • 将 MCP 服务器返回的结果返回给 LLM


    3.MCP Server

    能⼒提供⽅(例如:⽂件系统服务、数据库服务、GitHub 服务、搜索引擎服务),可本地或远程运⾏,关键是以标准格式告知能做什么,执⾏客⼾端请求并返回结果。可以理解为这是⼀个百宝箱,⾥⾯装着各种MCP Tools (⼯具),专⻔⼲脏活累活(⽐如查⽹⻚、读⽂件、查数据库)。

    • 提供⼯具:Server需要定义并实现具体的⼯具(Tool),这些⼯具是MCP的核⼼价值所在。例如,它可以是⼀个天⽓查询接⼝,或者是⼀个能够执⾏数学运算的功能。
    • 处理请求:当收到MCP Client的请求时,Server负责解析该请求,并根据请求的内容执⾏相应的操作。
    • 返回结果:完成操作后,Server会把结果返回给Client。这可能涉及到从数据库获取信息、调⽤第三⽅API,或者其他任何形式的数据处理任务。

    我们来举个⽣活的案例来看下这些⻆⾊到底是什么,⽐如周末聚餐,让智能⾳箱去查天⽓,订餐。

    你对智能⾳箱(HOST)说话:“帮我看下周六的天⽓找下⽕锅店订位。” 2. 智能⾳箱(HOST)内部的 Client(调度员) 拆解任务。 3. Client(调度员)并发调⽤三个 Server: 问⼤众点评 Server → 收到“XXX路⽼版⽕锅,评分4.8” 问订餐 Server → 收到“订位成功,编号123” 问天⽓ Server → 收到“天⽓晴朗” 4. Client 把三个结果打包 返回给智能⾳箱。 5. 智能⾳箱提醒你 天⽓晴朗,XXX路⽼版⽕锅,评分4.8,订位成功,编号123


    五.MCP的⼯作原理

    1.MCP的⼯作原理图如下

    讲解如下:

    1. 用户发起自然语言请求

    你对 Cherry Studio 说:"帮我查一下明天北京飞上海的航班"

    2. 客户端连接到 MCP 服务端

    Cherry Studio 根据你配置的飞常准 MCP 设置,尝试建立连接

    3. 客户端和服务端握手成功

    双方确认"咱们都懂 MCP 协议,可以开始沟通了"

    4. 获取可用工具列表

    Cherry Studio 问飞常准服务:"你能提供什么功能?"

    5. MCP Server 返回工具清单

    飞常准回复:"我能查航班、查机场信息、查航班动态……"

    6. 客户端将用户请求和工具信息传递给 AI 模型

    Cherry Studio 把"查航班"这个请求,连同飞常准的工具清单,一起发给 DeepSeek/Claude

    7. AI 模型分析请求,决定是否调用工具以及调用哪些

    DeepSeek 思考:"用户要查航班,飞常准刚好有查航班的工具,我决定调用它" → 选定 search_flight 工具

    8. 如果需要调用工具,客户端向服务端发送工具调用请求

    Cherry Studio 对飞常准说:"请执行 search_flight,参数是 出发=北京、到达=上海、日期=明天"

    9. 服务端执行工具操作

    飞常准去查自己的数据库/调用 API,拿到真实航班数据

    10. 客户端将工具调用结果和用户问题提供给 AI 模型

    Cherry Studio 把航班数据(比如 CA1234 8:00-10:30)和原始问题一起再发给 DeepSeek

    11. AI 模型基于工具结果生成最终响应

    DeepSeek 把航班数据组织成自然语言:"明天北京飞上海有这些航班……"

    12. 客户端将 AI 的响应呈现给用户

    你在 Cherry Studio 里看到:"明天北京飞上海有 CA1234 8:00-10:30……"


    2.思想总结

    角色职责
    用户 提出需求(自然语言)
    MCP 客户端(如 Cherry Studio) 负责协调:连接服务、转发请求、传递数据
    AI 模型(如 DeepSeek) 负责决策:分析需求、决定调用哪个工具、怎么回答
    MCP 服务端(如飞常准) 负责执行:提供工具清单、执行具体操作、返回数据

    简单理解:AI 模型负责"脑子",MCP 服务端负责"手脚",MCP 客户端负责"神经系统"把它们连起来

    赞(0)
    未经允许不得转载:171主机测评 » 【AI应用--白话大模型(篇四)】《搞懂大模型之AI Agent 实战:Cherry Studio + MCP 全教程|工具调用、架构原理、高德航班项目完整落地》
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址