Yilialinn commented on code in PR #1921: URL: https://github.com/apache/apisix-website/pull/1921#discussion_r2139756258
########## blog/zh/blog/2025/06/04/configure-apisix-in-a-single-command-with-apisix-mcp.md: ########## @@ -0,0 +1,258 @@ +--- +title: "MCP 智能化管理实践:一句话搞定 APISIX 网关" +authors: + - name: 林志煌 + title: author + url: https://github.com/oil-oil + image_url: https://github.com/oil-oil.png + - name: Yilia Lin + title: Technical Writer + url: https://github.com/Yilialinn + image_url: https://github.com/Yilialinn.png +keywords: + - APISIX + - API 网关 + - APISIX AI 网关 + - MCP + - APISIX-MCP +description: 作者:林志煌,API7.ai 前端开发、产品经理。本文整理自 2025 年 4 月 12 日林志煌在 APISIX 深圳 Meetup 的演讲。 +tags: [Case Studies] +image: https://static.apiseven.com/uploads/2024/12/25/dxrwyegf_api7-cover.png +--- + +> 作者:林志煌,API7.ai 前端开发、产品经理。本文整理自 2025 年 4 月 12 日林志煌在 APISIX 深圳 Meetup 的演讲。 +> +<!--truncate--> + +今天的分享分为五个部分,AI 大语言模型的局限、MCP 是什么以及有什么用、MCP 的实现原理及其优势、APISIX 基于 MCP 的实践、以及 APISIX-MCP 演示。 + +## 目前 AI 大语言模型的应用 + +目前 AI 已经融入我们生活的各个方面,我列举了一些 AI 大语言模型的应用场景。 + +- 交互类:面试模拟、语言陪练、智能客服 +- 内容生成:论文编辑、技术文档整理、视频文案创作 +- 编程辅助:代码提示(如 Cursor/Windsurf)和生成、Bug 排查 +- 多模态:图像、音视频生成 + +随着 AI 能力不断增强而成本持续降低,我们对它的期待也在升高,不再满足于单点功能,而是希望形成完整的需求闭环。我们来看三个典型场景: + +- 场景一、日常办公:帮我给客户张经理发送一封跟进邮件,附上昨天会议纪要的 PDF,并且约他下周二下午 3 点进行电话沟通。 +- 场景二、开发:开发一个运动手环上记录每日喝水次数的应用,要有按钮技术功能和图表统计功能,然后发布到应用商城。 +- 场景三、运维:服务器 CPU 负载持续超过 90%,帮我查一下原因并尝试修复一下。 + +然而即使最先进的 AI,目前也难以完美处理这些场景,根源在于大语言模型存在固有局限。 + +## AI 大语言模型的局限性 + +当前模型的局限主要体现在两方面:数据孤岛和“缺失手脚”的问题。 Review Comment: 数据孤岛是专有名词,不是比喻,应该不需要双引号 ########## blog/zh/blog/2025/06/04/configure-apisix-in-a-single-command-with-apisix-mcp.md: ########## @@ -0,0 +1,258 @@ +--- +title: "MCP 智能化管理实践:一句话搞定 APISIX 网关" +authors: + - name: 林志煌 + title: author + url: https://github.com/oil-oil + image_url: https://github.com/oil-oil.png + - name: Yilia Lin + title: Technical Writer + url: https://github.com/Yilialinn + image_url: https://github.com/Yilialinn.png +keywords: + - APISIX + - API 网关 + - APISIX AI 网关 + - MCP + - APISIX-MCP +description: 作者:林志煌,API7.ai 前端开发、产品经理。本文整理自 2025 年 4 月 12 日林志煌在 APISIX 深圳 Meetup 的演讲。 +tags: [Case Studies] +image: https://static.apiseven.com/uploads/2024/12/25/dxrwyegf_api7-cover.png +--- + +> 作者:林志煌,API7.ai 前端开发、产品经理。本文整理自 2025 年 4 月 12 日林志煌在 APISIX 深圳 Meetup 的演讲。 +> +<!--truncate--> + +今天的分享分为五个部分,AI 大语言模型的局限、MCP 是什么以及有什么用、MCP 的实现原理及其优势、APISIX 基于 MCP 的实践、以及 APISIX-MCP 演示。 + +## 目前 AI 大语言模型的应用 + +目前 AI 已经融入我们生活的各个方面,我列举了一些 AI 大语言模型的应用场景。 + +- 交互类:面试模拟、语言陪练、智能客服 +- 内容生成:论文编辑、技术文档整理、视频文案创作 +- 编程辅助:代码提示(如 Cursor/Windsurf)和生成、Bug 排查 +- 多模态:图像、音视频生成 + +随着 AI 能力不断增强而成本持续降低,我们对它的期待也在升高,不再满足于单点功能,而是希望形成完整的需求闭环。我们来看三个典型场景: + +- 场景一、日常办公:帮我给客户张经理发送一封跟进邮件,附上昨天会议纪要的 PDF,并且约他下周二下午 3 点进行电话沟通。 +- 场景二、开发:开发一个运动手环上记录每日喝水次数的应用,要有按钮技术功能和图表统计功能,然后发布到应用商城。 +- 场景三、运维:服务器 CPU 负载持续超过 90%,帮我查一下原因并尝试修复一下。 + +然而即使最先进的 AI,目前也难以完美处理这些场景,根源在于大语言模型存在固有局限。 + +## AI 大语言模型的局限性 + +当前模型的局限主要体现在两方面:数据孤岛和“缺失手脚”的问题。 + +数据孤岛问题就像 “巧妇难为无米之炊”。AI 大语言模型的知识是基于过去某一时间点的知识快照。比如,让它给张经理发邮件,它可能不知道张经理是谁,邮箱地址是多少。再比如,手环应用开发或 CPU 负载排查,如果没有最新文档或系统上下文信息,AI 也无从下手。 + + + +第二个局限是缺乏手脚,模型擅长生成内容,但缺乏执行能力。 + +想让 AI 真正发送邮件?必须提供邮箱 API;期望自动发布应用到商店?需要对接应用商店的发布接口;处理服务器故障?最终还是要运维人员手动执行排查命令。 + +AI 的内容消费流程包含四个环节: + +1. 用户提问(提供更详尽的信息):用户提供文字、图片等基本背景信息,并提出问题; +2. 内容生成(模型微调):AI 大模型生成文本、图像、音频或视频等内容; +3. 消费内容(提供执行对应操作的工具):需要用户手动执行,或者通过工具自动化执行任务; +4. 任务完成(提供检查执行结果的工具):最终用户或系统获得执行结果。 + +要优化这个流程,我们可以: + +1. 首先在用户提问环节,我们需要提供尽可能详细的上下文信息。例如,在邮件场景中,我们需要将用户的邮箱发送给某个用户,直接将邮箱告诉 AI 大语言模型或者提供系统内的指标,帮助 AI 大语言模型生成更精准的内容。 +2. 在内容生成环节,通过模型微调,让 AI 大模型针对性地学习某个领域的特殊能力,以增强知识储备。 +3. 在消费内容环节和任务确认环节,为 AI 大语言模型提供工具。例如,在邮件发送完成之后,提供读取已发送邮件的 API 让 AI 大语言模型通过发送响应判断操作是否成功。 + +### 现有解决方案 + +虽然 AI 大语言模型有它的局限性,但是目前已经有了一些对应的解决方案。 + + + +#### RAG(检索增强生成) + +首先是 RAG(Retrieval-Augmented Generation,检索增强生成),它能让 AI 大语言模型接入外部知识库,获取最新数据。比如,给 AI 接入手环开发文档,它就能针对性地学习。当我们提问时,它会先从知识库里检索相关信息,然后把这些信息和问题一起发给 AI,这样 AI 就能生成更准确的内容。 + +#### Function Calling(函数调用) + +其次是 OpenAI 的 Function Calling,它解决了 AI 大语言模型调用工具的问题。借助它,我们能让 AI 调用外部工具,例如 API 或函数,从而解决 AI 无法直接操作现实系统的问题。在与 AI 对话时,可以指定一些工具,比如发送邮件时,提供一个发送邮件的 API 并告知收件人。AI 会分析语义,识别出需要发送邮件后,调用相应工具,根据上下文生成参数,最后把工具执行结果传回模型,生成最终回复。 + +### 现有工具的局限性 + + + +尽管有了这些方案,但前面提到的三个场景依然没法完美解决,因为现有工具也有一些局限。 + +首先是技术成熟度不足。RAG 技术依赖分块和向量搜索,分块会导致文本上下文信息断裂。知识库看似能提供额外知识,但实际使用时效果并没有那么理想。例如一个 Markdown 文档,原本有完整的介绍和总结,但分块后可能只检索到其中某一部分。同时,Function Calling 技术需要预先定义 API 的输入输出结构,灵活度较低,若业务频繁变化,如发邮件场景,还要再搭配系统内数据,维护成本很高。 + +其次是集成成本高。无论是 RAG 还是 Function Calling,企业都需要改造现有数据结构或 API 架构,这对技术储备不足的小团队来说,成本高收益低。而且模型的更新迭代很快,可能今天调得好,明天模型一更新效果反而变差了。另外,Function Calling 是闭源方案,有厂商锁定问题,难以跨模型拓展。企业有敏感数据时,不方便提供给第三方平台,就需要自行处理,这进一步增加了集成复杂度。正因现有工具有这些局限,才促使厂商思考是否有更好的解决方式。 + +## MCP 详细介绍 + +MCP(模型上下文协议,Model Context Protocol)的出现,正好能解决现有工具的一些局限。MCP 由 Anthropic 于 2024 年 11 月底推出,目标是成为 AI 应用界的 USB-C 接口,统一模型与外部工具的通信协议。 + + + +这张图片在社区中流传度很高,它很形象地说明了 MCP 的作用:把电脑比作 MCP 客户端,MCP 协议比作拓展坞,不同的 MCP 服务就是数据线。通过拓展坞和数据线,MCP 客户端就能快速接入各种外部服务,比如 Slack、Gmail、Facebook 等。 + +### MCP 的使用场景 + +我们来看看 MCP 在实际中怎么用。 + + + +- **GitHub MCP**:我们可以让 AI 大语言模型“基于 `feature/login` 分支的修改,向 `main` 分支提一个 PR,标题为 ‘fix:用户登录页面优化’,并且 @ 团队成员 Alice 和 Bob 进行 review”。AI 大语言模型收到请求后,会分析语义,然后调用 `create_pull_request` 工具,根据上下文信息生成参数并填充。 Review Comment: 这里没问题 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org