MCP є транспортом, Не є архітектурою (Українська (Ukrainian))

MCP є транспортом, Не є архітектурою

Tuesday, 20 January 2026

//

12 minute read

Це частина 2 з "LLMs як компонентів МSK2 Частина 1: Чому LLM не працює як датчики описує категорію помилки використання LLM для сприйняття


" Як я будую MCP-сервер

Существуют SDKs. LLM може підштовхуватись один раз за секунду . Справжнє питання:

Яка роль має відіграти MCP сервер всередині системи, яка не повинна ховатися?

Найрідкіснішою майстерністю тепер є проектування система навколо MCP: організаціяМSK1 дозвілМСК2 перевіряльністьMСК3 та детерміністична kontrolaM СК4 МПК керує транспортом М СК5 ці проблеми живуть в іншому місціМ SК6

Ця стаття пояснює, як я користуюся MCP без агентів, автономіїM SK1 або вібр, і чому більшість прикладів MCP відтворюють ті самі проблеми, які ми бачили з неупередженими інструментами, що називали


Що таке насправді MCP? ( І чи не так?

MCP (Model Context Protocol) - це кабельний протокол. Переміщується

  • Введення та виведення
  • Сchéми
  • Метадані інструмента
  • Дослідження можливостей

Так і є. не:

  • Визначати коли інструменти повинні працювати
  • Вивірити правду
  • Вказувати на довіру
  • Управляйте побічними ефектами
flowchart LR
    subgraph MCP["MCP: What It Does"]
        Schema[Schema Discovery] --> Transport[Transport Layer]
        Transport --> Invoke[Tool Invocation]
        Invoke --> Response[Structured Response]
    end

    subgraph NotMCP["Not MCP's Job"]
        When[When to run?]
        Trust[Is this true?]
        Should[Should we act?]
        Safe[Is this safe?]
    end

    style MCP fill:none,stroke:#16a34a,stroke-width:2px
    style NotMCP fill:none,stroke:#dc2626,stroke-width:2px
    style Schema fill:none,stroke:#059669,stroke-width:2px
    style Transport fill:none,stroke:#059669,stroke-width:2px
    style Invoke fill:none,stroke:#059669,stroke-width:2px
    style Response fill:none,stroke:#059669,stroke-width:2px
    style When fill:none,stroke:#dc2626,stroke-width:2px
    style Trust fill:none,stroke:#dc2626,stroke-width:2px
    style Should fill:none,stroke:#dc2626,stroke-width:2px
    style Safe fill:none,stroke:#dc2626,stroke-width:2px

MCP ближче до OpenAPI, ніж до механізму агента.

Якщо ви ' використовуєте MCP як your reasoning layer, ви ' вже зробили ту ж категорію помилки, яка описана в Частина 1.

Якщо MCP є транспортом, то архітектура живе над ним.


Головний принцип: proposal vs decision

Це основний принцип Reduced RAG і Стримана неясність:

  • Пропонують можливий компонент
  • Детерміністичні системи вирішують

У своїх системах:

  • ЛЛМ є ніколи органи влади
  • Інструменти: ніколи автономна
  • Кожна реакція MCP - пропозицію, - це не факт

"DeterministycznyM SK1 тут не значить 't означає спрощений M SK3 Це означає правило МСК0 управління МSK1 повторюваність , і перевіряється.

flowchart TD
    subgraph Proposers["Proposers (Probabilistic)"]
        LLM[LLM Synthesis]
        MCP1[MCP Tool Response]
        MCP2[MCP Tool Response]
    end

    subgraph Constrainer["Constrainer (Deterministic)"]
        Validate[Validate Proposals]
        Compare[Compare Confidence]
        Policy[Apply Policy Rules]
        Decide[Accept / Reject / Escalate]
    end

    subgraph Persistence["Persistence (Facts)"]
        Facts[(Verified Facts<br/>With Provenance)]
    end

    LLM --> Validate
    MCP1 --> Validate
    MCP2 --> Validate
    Validate --> Compare
    Compare --> Policy
    Policy --> Decide
    Decide --> Facts

    style Proposers fill:none,stroke:#d97706,stroke-width:2px
    style Constrainer fill:none,stroke:#2563eb,stroke-width:2px
    style Persistence fill:none,stroke:#16a34a,stroke-width:2px
    style LLM fill:none,stroke:#d97706,stroke-width:2px
    style MCP1 fill:none,stroke:#d97706,stroke-width:2px
    style MCP2 fill:none,stroke:#d97706,stroke-width:2px
    style Validate fill:none,stroke:#2563eb,stroke-width:2px
    style Compare fill:none,stroke:#2563eb,stroke-width:2px
    style Policy fill:none,stroke:#2563eb,stroke-width:2px
    style Decide fill:none,stroke:#2563eb,stroke-width:2px
    style Facts fill:none,stroke:#16a34a,stroke-width:3px

Сервер MCP не вирішує: МСК0 , ".", а констренер вирішував:" МSK2 .


Чому "Tools" є неправильним ментальним моделлю

Початковий формат MCP - ":".

  • "Виражати методи як інструментиM SK1
  • "Дозвольте моделлю вибрати, яким інструментом телефонувати
  • "Попросити дозволу перед виконаннямM SK1

Це не спрацьовує з передбачуваних причин:

  1. описи інструментів стають про prompts: LLM визначає намір з формулюваннямM SK1 а не з семантики схеми
  2. Вибір інструментів рухається: Модель оптимізується для вірогідності , не коректності МSK2 і вибирає інструменти на основі схожості опису
  3. Пропони дозволу - UX,, а не безпека: Модальний dialog не застерігає за тим, щоб не вибрали неправильного інструмента
  4. Не можна відтворювати: Ви не можете ' відтворити сеанс, тому що вибір інструмента був ймовірністичний

Переформулювати: Кондитори MCP публікують сигнали

  • Сигнали пишуть:, ограниченіM SK1 і приписні
  • Кожен сигнал має довіру, проходженняM SK1 і вказівники доказів
  • Природний мова - це шар презентації, не субстрат
flowchart LR
    subgraph Wrong["❌ Tools Mental Model"]
        Desc[Tool Description<br/>'Gets weather for city'] --> LLM1[LLM Chooses]
        LLM1 --> Execute[Execute Action]
        Execute --> Trust1[Trust Result?]
    end

    subgraph Right["✓ Signals Mental Model"]
        Schema2[Typed Schema<br/>city: string, units: enum] --> Invoke2[Deterministic Invoke]
        Invoke2 --> Signal[Signal Response<br/>+ confidence + provenance]
        Signal --> Validate2[Constrainer Validates]
    end

    style Wrong fill:none,stroke:#dc2626,stroke-width:2px
    style Right fill:none,stroke:#16a34a,stroke-width:2px
    style Desc fill:none,stroke:#dc2626,stroke-width:2px
    style LLM1 fill:none,stroke:#dc2626,stroke-width:2px
    style Execute fill:none,stroke:#dc2626,stroke-width:2px
    style Trust1 fill:none,stroke:#dc2626,stroke-width:2px
    style Schema2 fill:none,stroke:#16a34a,stroke-width:2px
    style Invoke2 fill:none,stroke:#16a34a,stroke-width:2px
    style Signal fill:none,stroke:#16a34a,stroke-width:2px
    style Validate2 fill:none,stroke:#16a34a,stroke-width:2px

Сигнальний контракт через чат

Кожен кінцевий пункт MCP в моїх системах має:

  • Сchéма: Надруковані вхідні і вихідні даніM SK1 не безкоштовні-формовий текст
  • Упевненість: Наскільки точно цей результат
  • Провенанс: Звідки це взялося? МSK1 МSK2 ID кадру , коробка з вигином
  • Доказники доказів: Що можна перевірити незалежноM SK1

Ні безкоштовного-авторства текстуM SK1 Ні " найкращого зусильMSC3 відповідейМSK4

Приклади з виробничих систем:

Сигнал МSK1 Źródło довіри МSK2 Показчик доказів
Видобуток OCR тексту Флоренція МSK2 довіра балу МSK3 Координації у будівниці
класифікація образів МSK1 бал схожості CLIP МSK2 вбудова + балхожості M+ ідентифікатор відображання МСК5
Аудіо-транскрипція
Identifikaція głośnikа Відстані кластерної діарізації МSK2 Похибки сегменту МSK3

Правило: Якщо результат не підтверджується

Це той самий принцип, що і Правила проектування #5: факти потребують доказуM SK1


Конструктор - МСК0 - частина, яку всі перекидають

Більшість уроків MCP показують:

  1. Визначати інструменти
  2. Підключитися до LLM
  3. Дозвольте мені бігти

Відсутня компонента - констренер - детерміністична логіка, що

  • Оцінює конкурентні рішення
  • Втілює політику
  • вирішує, що залишається і що відкидається
  • Дороги до эскалації, коли рівень довіри низький
flowchart TD
    subgraph Sources["Signal Sources"]
        Heuristics[Heuristics<br/>Text-likeliness: 0.3]
        LocalModel[Local Model<br/>Florence-2 OCR: 0.85]
        LLMCall[LLM Escalation<br/>GPT-4V: 0.92]
    end

    subgraph Constrainer["Constrainer Logic"]
        Receive[Receive All Signals]
        Check{Confidence<br/>≥ 0.7?}
        Cross[Cross-Validate<br/>Signals Agree?]
        Accept[Accept as Fact]
        Reject[Reject / Log]
        Escalate[Escalate to<br/>Higher Tier]
    end

    Heuristics --> Receive
    LocalModel --> Receive
    LLMCall --> Receive

    Receive --> Check
    Check -->|Yes| Cross
    Check -->|No| Escalate
    Cross -->|Yes| Accept
    Cross -->|No| Reject

    style Sources fill:none,stroke:#d97706,stroke-width:2px
    style Constrainer fill:none,stroke:#2563eb,stroke-width:2px
    style Heuristics fill:none,stroke:#d97706,stroke-width:2px
    style LocalModel fill:none,stroke:#d97706,stroke-width:2px
    style LLMCall fill:none,stroke:#d97706,stroke-width:2px
    style Receive fill:none,stroke:#2563eb,stroke-width:2px
    style Check fill:none,stroke:#2563eb,stroke-width:2px
    style Cross fill:none,stroke:#2563eb,stroke-width:2px
    style Accept fill:none,stroke:#16a34a,stroke-width:2px
    style Reject fill:none,stroke:#dc2626,stroke-width:2px
    style Escalate fill:none,stroke:#7c3aed,stroke-width:2px

Справжні рішення щодо констренаторів:

  • Відкидати субтитра LLM, коли гуристика не погоджується з текстом-подобність
  • Prefer lower-confidence but evidenced OCR over highMSC1confident hallucinated text
  • Переходити до візуалізації LLM тільки тоді, коли локальна модель впевнена < МSK1

MCP з 'єднує компоненти. Констренер керує нимиM SK1


Вимкнення LLM ( І чому я це роблю)

Мої MCP сервери досі функціонують з неможливим LLM.

Це не "'", а degraded mode . первинний режим.

Якщо ваша система припиняє працювати, коли LLM не доступний,

Корінні функції:

  • Детерміністичне підсумування отриманих фактів
  • Докази-першое відтворення за допомогою вбудованих і фільтрів
  • Структуровані питання щодо бази даних фактів

LLM стає:

  • Синтезовий шар (опціональнийM SK1
  • Показовий двигун ( при запиті МSK1
  • Обогатювач ( для виведення природного мовиM SK1

LLM - не:

  • Приймаючи рішення
  • Пам 'ять
  • Мотор правди
flowchart TD
    subgraph AlwaysOn["Always On (Deterministic)"]
        Sensors[Sensors + Heuristics]
        Local[Local Models<br/>Florence-2, Whisper, CLIP]
        Facts[(Facts Database)]
        Query[Query Engine]
    end

    subgraph Optional["Optional (LLM)"]
        Synthesis[Natural Language Synthesis]
        Explain[Explanation Generation]
    end

    Sensors --> Local
    Local --> Facts
    Facts --> Query
    Query --> Synthesis
    Query --> Explain

    style AlwaysOn fill:none,stroke:#16a34a,stroke-width:2px
    style Optional fill:none,stroke:#6b7280,stroke-width:2px,stroke-dasharray: 5 5
    style Sensors fill:none,stroke:#16a34a,stroke-width:2px
    style Local fill:none,stroke:#16a34a,stroke-width:2px
    style Facts fill:none,stroke:#16a34a,stroke-width:3px
    style Query fill:none,stroke:#16a34a,stroke-width:2px
    style Synthesis fill:none,stroke:#6b7280,stroke-width:2px
    style Explain fill:none,stroke:#6b7280,stroke-width:2px

Чому це важливо:

Прибутки LLMM SK2Погані системи МSK3 LL-Опціональні системи |
Ціна За МSK1 Koszt API запросу МSK2 фіксована інфраструктура
Надежність API вимкнуто = система вимкнена МSK2 Корінні функції продовжуються МSK3
Тестованість Похибка відповідей LLM Детерміністичні твердження МSK2
Довіра МSK0 " Модель відповіла так.

MCP як межа, Не є інтеграцією

Я ставлюся до MCP як до жорстка межа:

  • Процес ізоляції: Сервери MCP запускаються в окремих процесах
  • Виражені вхідні дані/виходи: Немає спільного мутабельного стану
  • Жодного контексту: Кожен дзвінок вираховується на експлициальних входахM SK1 не залишків розмови
  • Типовані контракти: Похибки до схем - це помилки , не попередження

Це контрастує з:

  • В-процесові агенти з спільним пам 'ятьм
  • Про prompt- пов 'язування з прихованим накопиченням контексту
  • "Conversational" використання інструмента, коли попередні повороти впливають на поведінку

Чому важливі кордони:

  1. Повторюй: Репродуцювати будь-яку сесію, відтворюючи вхідні дані
  2. Аудит: Кожен сигнал має відслідковую основу
  3. Детерміністичне тестування: Ті ж самі вхідні дані → ті ж самі вихідні дані
  4. Відповідальність: Пояснення ланцюга прийняття рішень
flowchart LR
    subgraph Process1["Process: Orchestrator"]
        Orch[Orchestrator<br/>Constrainer Logic]
    end

    subgraph Process2["Process: MCP Server 1"]
        MCP1[Image Analysis<br/>Signals]
    end

    subgraph Process3["Process: MCP Server 2"]
        MCP2[Audio Analysis<br/>Signals]
    end

    subgraph Process4["Process: MCP Server 3"]
        MCP3[Video Analysis<br/>Signals]
    end

    Orch <-->|MCP Protocol| MCP1
    Orch <-->|MCP Protocol| MCP2
    Orch <-->|MCP Protocol| MCP3

    style Process1 fill:none,stroke:#2563eb,stroke-width:2px
    style Process2 fill:none,stroke:#16a34a,stroke-width:2px
    style Process3 fill:none,stroke:#16a34a,stroke-width:2px
    style Process4 fill:none,stroke:#16a34a,stroke-width:2px
    style Orch fill:none,stroke:#2563eb,stroke-width:2px
    style MCP1 fill:none,stroke:#16a34a,stroke-width:2px
    style MCP2 fill:none,stroke:#16a34a,stroke-width:2px
    style MCP3 fill:none,stroke:#16a34a,stroke-width:2px

Моди невдачі MCP Examples Don't Talk About

Справжні випадки невдачі від необмеженого використання MCP:

tryb непрацездатності МSK1 причина МSK2 полегшення
Галюцинація інструментів Похибка опису в обґрунтування LLM МSK1 Minimal descriptionsM SK2 schema-first design
Над - надмірне виконання Модель вызовів інструменти МSK1просто перевіритиM SK2 МSK3 Констрейнатор вмикає всі виклики
Дрейф схем Зміни в поведінці інструментаM SK1 схема не працює't Версії схемМSK4 тести контракту МSK5
Невимушені частові невдачі Оборудование повертає частину даних , модель рухається вперед МSK2 Перепохи на впевненість МSK3 перевіряє повність
Надмірна впевненість в LLM Модель сприймає виведення інструментів як базову істину.
Збільшення можливостей МSK0 Модель "тири МSK2 Поступово потужніші інструменти M Уровни можливостей МСК4 Дослідження політики МПС5Budżeти MPС6

Поширена тема: ці невдачі трапляються, тому що LLM є авторитетним.

Установка: Лідери LLM запропонують: МСК0 , Констрейнери вирішують:" МSK1 . Факти продовжуються.


Що робить MCP хорошим? (Когда його правильно використовують)

MCP чудовий для:

  • Дослідження можливостей: Перечень доступних сигналів за час запуску
  • Поєднання процесів Inter-: Чисти межі між компонентами
  • Взаємодія інструментів: працює з будь-якими MCP-компанітивними клієнтами
  • Модель-Агностічна інтеграція: Swap LLMs without changing signal contracts

MCP - не:

  • Керамика агента
  • Система мислення
  • Безпечна поверхня
  • Лінія довіри

Використовуйте MCP для того, що це


Де зупиняється MCP

MCP стандартизує те, як моделі та інструменти обмінюються контекстом. Не визначає, хто має право діятиМSK1 в яких умовахM SK2 чи як перевіряють рішення.

Існують інші підходи, щоб формалізувати ці обмеження. ( інколи описані як протоколи з актовими можливостями МSK1 АCP МSK2 дозвіл , аттестація

Ця стаття не про AKP, а про принцип проектування. транспорт і управління - це окремі проблеми.

MCP каже вам як щоб викликати інструмент. Щось інше має вирішити чи у моїх системах МСК1, що МСК2 - це констренер МСК3, в корпоративних системах , - це може бути політичний двигун


Демо MCP проти Production MCP

Аспект МSK1 Демо-МПК МSK2 Продукція МКП
описи інструментів Природна моваM SK1 детальна Minimal МSK3 схема-перша МSK5
Хто вирішує викликати МSK0 ЛЛМ Оркестр МSK2 Конструктор
Формат реагування БезкоштовнийM SK1формальний текст Зроблені сигнали з впевненістю МSK3
Випробовування Ніхто МSK1 Перетинні МSK2validation
Відлежність від LLM Потрібно Невключне забагачення МSK2
Повторюй Не МSK1детерміністичний МSK2 Полностью відтворюваний
Прослідка аудиту журнали розмов МSK1 ланцюг проходження сигналу МSK2

Завершення

MCP дозволяє склад. Детермінізм дозволяє довіра. Включити LLM гнучкість.

Але тільки тоді, якщо

Ймовірність передбачає —, а детермінізм залишається

MCP без концентратора - це просто швидка ін 'єкція з додатковими кроками.

Зробіть синтез останнім кроком. Робіть LLM опційним. Робіте кожен факт відстежнимМSK2


Головні терміни

  • MCP (Model Context Protocol): Мережний протокол для відкриття інструментів та виклику між процесами
  • Контренер: Детерміністична логіка, яка оцінює рішення і вирішує, що залишається
  • Сигналь: З typed відповіддю з довірою , проходження МSK2 і вказівники на докази
  • Автор:: Будь-яка компонента МSK1 ЛЛМ МSK2 локальна модель , эврістика M SK4, яка передбачає факти без авторитету
  • Доказчик доказів: Ссылка на перевіряний ресурс ( поле для прив 'язку МSK2 позначка часу МSK3 вбудова

Подібні статті

Поprzedні в серии: Частина 1: Чому LLM не працює як датчики

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.