Предыстория: Последние месяцы Model Context Protocol (MCP) — буквально из каждого утюга. YouTube, Twitter, конференции, документации — все жужжат:
«MCP это прорыв»,
«Новый стандарт дебага»,
«Интеграция AI в тесты нового поколения»…
Звучит круто. Но, как часто бывает, всё сложно, перегружено и на птичьем языке. Я решил подойти с другой стороны. Это не мой, это ответ GPT, на понятном языке и с небольшими правками с моей стороны. Без заумных фраз, зато с примерами, мясом и аналогиями. Запрос был простым:
-
Объясни по-пацански, что это вообще такое?
-
Как это реально помогает, а не просто выглядит модно?
-
Зачем это мне, если я просто хочу понять, почему упал тест?
🧁 Кому пирожочек, кому по шансончику
Вот кстати лайфхак, если ты хочешь реально врубиться в сложную тему:
Попроси объяснить её «по-пацански» или «как бабуля объясняет своему сладкому пирожочку» — кому как ближе.
Так и выходит честный и внятный разбор. Такой, где ты понимаешь не только «что», но и «зачем».
Ну а теперь давайте посмотрим, что же это за зверь такой — MCP и почему без него ИИ дебаг — как слепой с гранатой.
👇 Поехали.
Окей, брат, ща объясню по-простому, как для своих. Надеюсь ты в теме Playwright, автотесты, дебаг — так что давай разберёмся, что такое Model Context Protocol (MCP) и зачем он нужен.
💡 Что такое Model Context Protocol?
Представь: у тебя есть тест, он падает, и ты такой: «Ёпт, что опять не так? Почему?»
Вот тут и врывается Model Context Protocol — это такая протуха (или протокол, если по-серьёзке), которая позволяет LLM (типа GPT) лучше понять контекст упавшего теста:
-
какие были шаги,
-
какие селекторы,
-
какие логи,
-
какой был HTML,
-
какая ошибка.
🔧 MCP — это способ передать ИИ всё мясо, а не только кость.
Ты ж не дашь другу чинить движок, если он даже не знает, что за машина, да? Так и тут: MCP помогает дать ИИ полный расклад, чтобы он нормально помог.
📦 Пример: без MCP и с MCP
🚫 Без MCP: Ты кидаешь в GPT вот это:
Error: Timeout 30000ms exceeded. waiting for selector "#submit-btn"
GPT такой: «Ну… может кнопка не появилась… проверь таймаут».
— Пацанский ответ, но поверхностный.
✅ С MCP GPT получает:
{ "selector": "#submit-btn", "action": "click", "htmlSnapshot": "<div><button id='submit-btn' disabled>Send</button></div>", "logs": ["click intercepted by disabled button"], "testTitle": "should submit the form", "location": "tests/form.spec.ts:23" }
GPT: «Братан, кнопка-то есть, но disabled. Надо дождаться, когда она станет активной. Проверь, может данные формы невалидны.»
Вот это уже умная помощь, а не гадание.
🧠 MCP ≠ магия, MCP = структура
Это просто формат, как упаковать и передать инфу об окружении теста:
-
DOM
-
ошибки
-
события
-
шаги теста
-
параметры вызова
🤖 Где это юзается?
-
Microsoft Playwright MCP — это официальная реализация этого протокола.
-
Скоро будет использоваться в тулзах типа
playwright-ai-auto-debug— (пока только в PR висит). -
Используется в плагинах, чтобы ИИ шарил, что реально произошло, а не гадал на кофейной гуще.
🛠 Пример из реального дебага
Ты вызываешь:
await page.click('#submit-btn');
Получаешь ошибку:
TimeoutError: waiting for selector "#submit-btn"
А в MCP улетает:
{ "selector": "#submit-btn", "action": "click", "pageContent": "...", "trace": "...", "playwrightVersion": "1.43.1", "screenshot": "base64image", "logs": [ "selector matched 0 elements", "DOM mutated", "navigation happened" ] }
ИИ теперь говорит:
👉 «Элемент был, но пропал после навигации — тебе надо подождать navigation или использовать waitForSelector заново.»
🧢 Итого по-пацански:
|
MCP — это… |
По-простому |
|---|---|
|
Протокол передачи инфы для LLM |
«Брат, вот тебе все улики, разбери» |
|
Помогает ИИ реально дебажить |
Не просто советы, а по факту |
|
Структурный формат |
Типа как .har, но для Playwright + тестов |
|
Основа умного авто-дебага |
Без него GPT как слепой котёнок |
📌 Подписывайтесь на мой Telegram-канал про тестирование, AI и IT в целом! — там делюсь мыслями, новостями и практическими примерами из жизни!
ссылка на оригинал статьи https://habr.com/ru/articles/920882/
Добавить комментарий