MCP для новичков
Думаю, многие слышали про новый протокол Model-Context Protocol. По современным меркам он возник очень давно, аж осенью прошлого года, ха-ха. Сейчас, кажется, темп такой, что месяц примерно идет за год. 🙈
В общем, это протокол, который позволяет LLM пользоваться сторонними инструментами.
Идея на самом деле не нова. Это было внедрено Open AI еще с момента появления их Assistant API. Там это называется "functional calling". Сейчас просто этот подход стал стандартом, который постепенно внедряют все LLM, в том числе и Open AI (но уже для Response API).
1️⃣ Зачем это вообще нужно?
Суть в том, что LLM без доступа к внешним инструментам находится как бы в изоляции. Всё, что она может знать, она получает через своё контекстное окно или в простом случае через ваш промпт.
Ввиду такой изолированности LLM не сможет при необходимости, например, сделать запрос в вашу БД, загрузить документ по ссылке из Интернета или, скажем, что-то прочитать из документа на диске вашего сервера.
LLM под домашним арестом: без доступа в Интернет и гаджетов. Да, LLM умная, но польза ее сильно ограничена из-за изоляции от внешнего мира.
Чтобы решить эту проблему как раз и придумали functional calling, а теперь — MCP.
2️⃣ Суть MCP
MCP является новым стандартом (протоколом), по которому LLM может пользоваться внешними инструментами. Инструменты предоставляет MCP-сервер. То есть клиент MCP-сервера — это сама LLM.
MCP-сервер отвечает за две вещи:
отдает LLM схему, в которой описаны все доступные инструменты
обслуживает запросы LLM
LLM в свою очередь:
зная адрес MCP-сервера, получает от него схему с инструментами
если запрос пользователя подразумевает использование инструмента, посылает нужные запросы вашему MCP-серверу и благодаря ответам обогащает свой контекст по мере необходимости
Важный момент, что использовать инструменты или нет, решает LLM.
Стандарт MCP говорит о том, как инструменты должны быть описаны в схеме и как нужно посылать запросы/ответы между LLM и сервером.
Сейчас стандарт активно внедряется провайдерами LLM (OpenAI, Claude и др.) и похоже скоро все они будут уметь работать по MCP.
3️⃣ Как это выглядит глазами обычного юзера
Представьте, что у вас есть база данных клиентов.
Раньше, чтобы найти инфу о конкретном клиенте, вам нужно было:
Открыть админку
Найти нужную таблицу
Ввести параметры поиска
Проанализировать результат...
С MCP вы просто говорите LLM: "Найди всех клиентов из Тбилиси, которые не делали заказы последние 2 месяца" — и она сама сделает нужный запрос и выдаст результат.
4️⃣ Почему это круто и за этим будущее
Предоставив доступ LLM к серверному API, мы фактически открываем ящик пандоры возможности взаимодействия с API через текст.
Если раньше для взаимодействия с сервером вам нужен был интерфейс приложения с кнопочками или, на худой конец, нужно было посылать запросы через терминал ручками, то теперь вы можете просто говорить LLМ, что вам нужно и LLM сам всё сделает.
Именно поэтому недавно возникла новая мантра про "SaaS is dead". Типа, зачем пилить сложные интерфейсы, если достаточно подключить LLM, дать ей доступ к бекенду и она сама выполнит любые пожелания пользователей.
Во многом это так есть. Разговорный интерфейс — это гибкость и мощь одновременно. Традиционные интерфейсы же, напротив, ригидны и ограничены.
Как всегда, я думаю, истина будет где-то посередине и крутые приложения будут попадать в идеальный баланс между обычным и разговорными интерфейсами. Но то, что MCP сильно изменит то, как мы взаимодействуем с приложениями, думаю, бесспорно.
Как думаете, SaaS скорее жив, чем мертв или наоброт?