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
MCP (Model Context Protocol yhteyspöytäkirja. Se liikkuu
Se on totta ei:
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.
Tämä on perustavanlaatuinen sääntö Vähennetty RAG ja Rajoitettu epämääräisyys:
Järjestelmissäni:
"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ää:.
Standardin mukainen MCP-raamaus on:
Tämä epäonnistuu ennustettavissa olevista syistä:
Uudelleenlaatiminen: MCP:n loppupisteet julkaisevat signaalitM SK1 ei toimia.
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
Jokaisella järjestelmässäni olevalla MCP-yhteyksillä on
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
Useimmat MCP-tutoriaalit osoittavat:
puuttuva osatekijä on Konstraineri - deterministisen logiikan, jonka mukaan
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:
MCP yhdistää osat. Konstraineri ohjaa niitäM SK1
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:
LLM:sta tulee:
LLM on ei:
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. |
Suhtaudun MCP:hen tiukka raja:
Tämä on ristiriidassa:
Miksi rajat ovat tärkeitä:
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
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.
MCP on erinomainen:
MCP on ei:
Käyttäkää MCP:tä siihen, mitä se on: osien välistä rakenteellista viestintää varten käytettävä teräspöytäkirja
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.
| 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 |
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
Edellinen sarja: Osa 1: Miksi LLM:t epäonnistuvat sensorina
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.