Model Context Protocol -MCP创建Agent - Part1
前言:好久没有写技术文档了,之前当了三年的工程师,学了些杂七杂八的技术,写了些乱乱的笔记。AI来的前夕就转行做销售,然后在微软卖了两年OpenAI,现在想浅浅地再学一下AI agent相关的知识,回归一下技术,后面会持续更新。
本文来自学习视频:https://www.youtube.com/watch?v=kQmXtrmQ5Zg
是Anthropic AI应用部门大拿 Mahesh Murag 教学视频。
什么是MCP Model Context Protocol
为什么会有MCP出现呢?因为在过去的一两年中,也就是AI的第一年吧,我们可以看到,当我们给模型提供一些上下文的时候,大模型是可以很好地执行任务的。比如,我们会把上线问复制黏贴到大模型对话窗口,让AI分析这些上下文。但逐渐发现,大模型会越来越深入你的数据,不仅仅是复制黏贴上下文那么简单。
那么,大模型如何和外部的数据进行交互呢?这里就出现了MCP。
在开始MCP之前,我们可以参照一下API的出现,API的出现就是把前端和后端的交互标准化的协议。API会把前后端的需求进行翻译互通,这样前端和后端就能执行响应的任务。比如后端有个人名数据库,提供人名的API,前端调用人名API就能展示人名,张三李四了。
中间态还有个协议叫LSP language server protocol 语言服务器协议,是用来标准化IDE代码编辑器和专门的代码语言工具之间的交互,LSP让IDE能够和不同的代码语言功能进行交互。
MCP和API和LSP的逻辑差不多,MCP是用来标准化AI应用程序和外部的系统的交互方式,比如如何和prompt交互、如何使用工具、如何使用资源
如果没有MCP协议,没有业务方就自己干自己的,自己去调用自己的数据库交互,这样就乱套了,成本很高。
如果有MCP就可以标准化大模型和外部数据的交互模式。可以和数据库、CRM系统、本地服务器、笔记本电脑都可以交互。
MCP现在发展得非常快
用MCP创建服务
如图所示,左边是MCP客户端,客户端调用工具,查询资源、处理(interpolates)提示词。调用工具和查询资料过程会补充写好提示词,这样就会生成比较好的上下文(context)给右边的MCP服务器端。
Tools - 模型控制 - 大模型去调度需要的工具
Resources - 应用控制 - 应用可以使用的资源(就像个附件一样)
Prompt - 用户控制 - 可能会有个定义好的模板,让AI来进行交互(明确要干什么)