Back to "MCP on liikennemuoto, Se ei ole arkkitehtuuri"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

ACP AI Architecture LLM MCP Patterns

MCP on liikennemuoto, Se ei ole arkkitehtuuri

Tuesday, 20 January 2026

Tämä on osa 2 "LLM:istä osina Osa 1: Miksi LLM:t epäonnistuvat sensorina käsitteli luokkavirhettä, joka liittyy LLM:ien käyttämiseen havainnossa. Tämä artikla käsittelee luokkaviittaa, joka koskee MCP:n käyttöä arkkitekniikassa.


" Miten rakendan MCP-verkon?

SDK-järjestelmät ovat olemassa. LLM voi laajentaa järjestelmää yhdellä sekunnissaM SK1 Todellinen kysymys on

Mitä roolia MCP-serverilla pitäisi olla järjestelmässä, joka ei saa jäädä tilanteeseen?

Harva taito suunnittelee nyt järjestelmä MCP: viranomaiset, , valtuudet,, tilintarkastuskelpoisuus, MSC3 ja deterministinen valvonta, M SK4 MCP hoitaa liikennettä, — kyseiset huolenaiheet elävät muualla, MSV6

Tässä artiklassa selitetään, miten käytän MCP:tä ilman välineitä, itsemääräämisoikeuttaM SK1 tai vibeitä, ja miksi useimmat MCP-esimerkit toistavat samat ongelmat kuin ne, joita olemme nähneet rajoittamattomalla työkalulla kutsuttaessa


Mikä on itse asiassa MCP? (Ja onko se?

MCP (Model Context Protocol yhteyspöytäkirja. Se liikkuu

  • Tulkit ja tulot
  • Suunnitelmat
  • Ohjelmien metadata
  • Mahdollisuustutkimukset

Se on totta ei:

  • Päätös milloin välineitä olisi käytettävä
  • Todellisuuden todentaminen
  • Luottamuksen noudattaminen
  • Hallita sivuvaikutuksia
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 on lähempänä OpenAPIa kuin agenttikehystä.

Jos olette käyttämässä MCP:tä perusteena, olette jo tehnyt samaa kategorian virhettä, joka on kuvattu Osa 1.

Jos MCP on liikenne, niin rakenteellinen rakenne elää sen yläpuolella.


Keskeinen periaate: Ehdotus vs päätös

Tämä on perustavanlaatuinen sääntö Vähennetty RAG ja Rajoitettu epämääräisyys:

  • Probabilistiset osatekijät ehdottavat
  • Deterministiset järjestelmät päättävät

Järjestelmissäni:

  • LLM:t ovat koskaan viranomaiset
  • välineet ovat koskaan autonominen
  • Jokainen MCP:n vastaus on ehdotus, ei tosiasia

"DeterministinenM SK1 ei tarkoita tässä ' ei yksinkertaista sääntö-hallinnoidaan, ,toistettavaksi,, ja tilintarkastettavaksi.

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-serveri ei päätä:'t decide. Konstraineri päättää:.


Miksi "Tools" ovat väärä henkinen malli

Standardin mukainen MCP-raamaus on:

  • "Methodit esitetään työkaluinaM SK1
  • "Mudelma voi valita, mitä välinettä käyttää
  • "pyytä lupaa ennen täytäntöönpanoa"

Tämä epäonnistuu ennustettavissa olevista syistä:

  1. Ohjelmien kuvaukset muuttuvat prompteiksi: LLM väittää tarkoitusperän sanamuodostaM SK1 ei schemaa koskevasta semanttisesta
  2. Ohjelmien valinnat vaihtelevat: Malli optimoi todennäköisyydelleen , ei virheellisyyden M SK2 ja valitsee välineet kuvauksen samankaltaisuuden perusteella
  3. Mahdollisuuspyynnöt ovat UX, ei turvallisuutta: Muodollinen vuoropuhelu ei estä väärän välineen valintaa
  4. Ei ole mahdollista toistaa: Ette voi reproducoida istuntoa, koska työkalujen valinta oli todennäköinen

Uudelleenlaatiminen: MCP:n loppupisteet julkaisevat signaalitM SK1 ei toimia.

  • Viestit on kirjoitettu, rajattuM SK1 ja niihin voidaan liittää
  • Jokaisella signaalilla on luotettavuutta, ,, alkuperää ja todisteita osoittavia viitteitä
  • Luonnonkieli on esittelytaso, ei pohja
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

Viestisopimukset keskustelun aikana

Jokaisella järjestelmässäni olevalla MCP-yhteyksillä on

  • Järjestelmä: Kirjoitetut入力et ja outputitM SK1 ei vapaita
  • Luottamus: Kuinka varma tämä tulos on
  • Todisteet: Mistä tämä tuli?
  • Todisteiden osoittimet: Mitä voidaan tarkistaa itsenäisesti

Ei vapaita-tekstiviranomainen. Ei "parin mahdollinen ponnisteluMSC3 vastauksetM SK4

Esimerkkejä tuotantojärjestelmistä:

signaali Luottamuslähde Evidence Pointer
OCR-tekstin extraktointi FlorenceM SK2 luottamuksen tulos SSK3 Bounding box -koordinaatit
Kuvan luokittelu CLIP-yhdenmukaisuusaste sisällyttäminen МSK3 yhtenäisyysaste
Audio transcription Sanon sananhuutoaM SK2tasoluottamus |\Timetamp-alue \
Puhemiehen tunnistaminen Diarisaation klusterin etäisyydessä

Säännös: Jos tulosta ei voida validaoida, se ei ole hyväksyttäväM SK3.

Tämä on sama periaate kuin suunnittelusääntö #5: tosiasiat edellyttävät todistusta


Konstraineri: Se osa, jonka kaikki välttävät

Useimmat MCP-tutoriaalit osoittavat:

  1. Määritellään työkalut
  2. Liittyminen LLM-järjestelmään
  3. Käyttäkää se!

puuttuva osatekijä on Konstraineri - deterministisen logiikan, jonka mukaan

  • Arvioidaan kilpailevia ehdotuksia
  • Politiikan täytäntöönpano
  • Päätetään, mikä pysyy ja mikä hylätään
  • Luottamuksen heikkenemiseen tähtäävät keinot
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

Todelliset constrainer-päätökset:

  • Hylkää LLM:n nimitys, kun heuristiikka ei ole samaa mieltä tekstistä-likeliness
  • Suhtaudun mieluummin alhaisempaan-luottamukseen, mutta todistetun OCR:n kuin korkeaan
  • Lähtönäköön siirtyminen LLM:iin vain silloin, kun paikallisella mallilla on luottamus < 0.7

MCP yhdistää osat. Konstraineri ohjaa niitäM SK1


LLM:n sulkeminen pois (Ja miksi teen sen?

Minun MCP-Serverit toimivat edelleen LLM:n estetyllä tavalla.

Tämä ei ole ' -modus, joka on heikentynyt. ensisijainen menettely.

Jos järjestelmä lopettaa toimintansa, kun LLM ei ole saatavilla, LLM oli tekemässä työtä, sen ei olisi pitänyt

Keskeiset toiminnot:

  • Deterministinen yhteenveto ekstrahoituista tosiasioista
  • Todisteet-ensimmäinen haku sisällytteiden ja filtrtien kautta
  • Rakennetut kysymykset tosiasioiden tietokantaan

LLM:sta tulee:

  • Synteesin taso (vaihtoehtoinenM SK1
  • Selitysmoottori (pyynnön yhteydessäM SK1
  • Luonnollisen kielen outputin rikastaja (

LLM on ei:

  • Päättäjän tehtävä
  • Muisti
  • Totuuden moottori
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

Miksi tämä on tärkeää:

Työ LLMM SK2Välittämät järjestelmät
Kustannus YhteensäM SK1kysymyksen API:n kustannukset
Luotettavuus API:n käytöstä poikkeus = järjestelmä huononee Core-toimet jatkuvat
Testointikelpoisuus Mock LLM:n vastaukset Deterministiset väitteet
Luottamus "Mudelma sanoi niin.

MCP rajana, Ei integrointi

Suhtaudun MCP:hen tiukka raja:

  • Prosessin eristäminen: MCP-Serverit toimivat erillisissä prosesseissa
  • Selkeät tulot/tulot: Ei yhteistä muuttavissa olevaa tilaa
  • Ei ympäristöä: Jokainen puhelu arvioidaan yksiselitteisillä inputeilla
  • Luetellut sopimukset: Järjestelmän rikkomukset ovat virheitäM SK1 eivät varoituksia

Tämä on ristiriidassa:

  • In-prosessiagentit yhteisen muistin kanssa
  • Prompt-kokeminen piilossa olevien asiasisältöjen keräämiseksi
  • "Konversaatiota koskevaM SK1 työkalun käyttö, jossa aiemmat käänteet vaikuttavat käyttäytymiseen

Miksi rajat ovat tärkeitä:

  1. Toistaa: Reproduce any session by replaying inputs
  2. Tarkastus: Jokaisella signaalilla on jäljitettavissa oleva alkuperä
  3. Deterministinen testi: Samat tulot
  4. Vaatimusten noudattaminen: Selkeät päätöksentekoketjut
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

Menettelyjen epäonnistuminen MCP-esimerkit Don't Talk About

Todelliset epäonnistumiset rajoittamattoman MCP-käytön vuoksi:

Epäonnistumisvaihe Syy SSK2 lieventäminen
Ohjelmien hallucinaatio Luettelo vuotaa LLM:n perusteluihin vähimmäismäärittelytM SK2 kaavio-ensimmäinen malli SSK4
Over-toivottava täytäntöönpano Mallin puheluvälineet "tarkastetaan vain tarkistaa
Järjestelmävirrat Ohjelmien toimintatavat muuttuvatM SK1 schema ei't Muutetut schemat
Siltilliset osittaiset epäonnistumiset Ohjelmisto palauttaa osittaiset tiedotM SK1 malli etenee Luottamuksen raja-arvot
LLM:n yliluottamus Malli kohtelee työkalujen tulosta perustavanlaatuisena totuutena.
Capacity escalation malli "triesM SK2 asteittain vahvemmat välineet kapasiteetin tasot m+ politiikan laatiminen M+ talousarviot

Yhteinen aihe: nämä epäonnistumiset johtuvat siitä, että LLM on uskottu viranomaisena.

Fix: LLM:t ehdottavat, että tosiasiat pysyvät ennallaan.


Mitkä ovat MCP:n hyvät puolet? (Kui sitä käytetään asianmukaisesti?

MCP on erinomainen:

  • Mahdollisuustutkimukset: Käytettävissä olevien signaalien runtime-luettelo
  • Inter-prosessi koostumus: Komponentien väliset rajat on puhdattava
  • Ohjelmien yhteentoimivuus: Soveltuu mihin tahansa MCP:n ja -:n yhteensopiviin asiakkaihin
  • Malli-agnostinen yhdentyminen: Swap LLMs muuttamatta signaalisopimuksia

MCP on ei:

  • Agenttikehys
  • Rationalisointijärjestelmä
  • Turvavyöhyke
  • Luottamuksen raja

Käyttäkää MCP:tä siihen, mitä se on: osien välistä rakenteellista viestintää varten käytettävä teräspöytäkirja


MCP:n pysähdyspaikka

MCP standardoi, miten mallit ja välineet vaihtavat kontekstia.

Näiden rajoitteiden virallistamiseksi on olemassa muita lähestymistapoja: ( joskus kutsutaan toimintavalmiuksia koskeviksi pöytäkirjoiksi

Tämä artikla ei koske AKT-maita vaan suunnitteluperiaatetta. liikenne ja hallinto ovat erillisiä kysymyksiä.

MCP kertoo teille miten soittaa välinettä. Muutoin on päätettävä onko olette sitä mieltä, että omassa järjestelmässäni se on constraineri. Yritysjärjestelmissä se voi olla poliittinen moottori.


Demo MCP vs Production MCP

Aspekti
Ohjelmien määrittely luonnollinen kieli, yksityiskohtainen vähimmäismääräM SK3 suunnitelmaMSC4ensimmäinen SSK5
Kuka päättää kutsua LLM
Vastauksen muoto VapaatM SK1muodollinen teksti Luottamuksellisesti kirjoitetut merkinnät
Validaatio Ei yksikään
LLM-riippuvuus Poikkeuksellinen
Toistaa
Tilintarkastuskäytävä Konversaatiopäiväkirjat

Päätös

MCP sallii kokoonpano. Determinismi mahdollistaa luottamus. LLM-järjestelmät mahdollistavat joustavuus.

Mutta vain, jos:

Todennäköisyys ehdottaa —, ja determinismi säilyy

MCP ilman constraineria on vain pikainen injektio lisäaskeleilla.

Synteesi on viimeinen askel. LLM:n tekeminen valinnaiseksi. Kaikki tosiasiat voidaan jäljittääM SK2


Keskeiset ehdot

  • MCP (Model Context Protocol: Laitepöytäkirja työkalujen löytämiseksi ja prosessien väliseen kutsumiseen
  • Konstraineri: Ehdotuksia arvioiva ja pysyvistä asioista päättävä deterministinen logiikka
  • Signaali: Luottamuksellisen tyyppisen vastauksen, , alkuperää koskevan vastauksen ja , sekä todisteiden osoittimet
  • Esittelijä: Kaikki osatekijät (LLMMSC2 paikallismalliM SK3 heuristinen), joka viittaa tosiasioihin ilman viranomaisia
  • Evidence pointer: Viittaus todistettavissa olevaan lähteeseen

Edellinen sarja: Osa 1: Miksi LLM:t epäonnistuvat sensorina

logo

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