Back to "MCP 是一个运输机*,}不是建筑"

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 是一个运输机*,}不是建筑

Tuesday, 20 January 2026

这是 "+LLMs 作为构件的 & MSSK2 中的 {2} 部分 。 @ title 为何LLM女士失败为传感器 包含使用 LLMs 进行感知的类别错误@.}此条涵盖将 MCP 用作架构的分类错误 @.


@"_# 我如何建立 MCP 服务器@?"}是错误的疑问 @MS K2}

SDKs 存在=.}一个LLM能在几秒内 将一具尸体架在手脚上 *.}真正的问题就是~:

MCP 服务器在一定不能是“?”的系统中应该扮演什么角色?

现在稀缺的技巧正在设计 围绕系统周围 MCP:当局 ,授权 MS K2可审计性,和确定控制 □.MCP处理运输

这篇文章解释我如何使用MCP 没有代理人@ , @ 自主性 @ MS K1 @ 或氛围以及为什么大多数MCP案例都重现了我们所看到的同样问题,


实际上,MCP究竟是什么? (吗?

MCP {(} 模式背景协议})是 电线协议它在移动 :

  • 投入和产出
  • 气囊
  • 工具元数据
  • 能力发现

确实如此 :

  • 决定 何时 工具应该运行
  • 校正真相
  • 强制执行信任
  • 管理副作用
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 作为推理阶层@ , @ 您% MS K2 已经做了相同分类错误 部分#1.

如果 MCP 是运输, 那么建筑结构的寿命 高于它=:管弦 ,Policy_,}验证°,固性\ .本篇文章的其余部分是这个层+.


核心原则_:}提案与决定

这是根基规则 减少的RAG受限制的模糊:

  • 建议的概率组成部分
  • 确定性系统决定

在我的系统中

  • LLM 是 从未 当局主管部门
  • 工具 从未 自治自主
  • 每个MCCP反应都是a 提议不是事实

"#Deterministic_"}这里的意思是简单化=.Q 规则@- @governed_,}可复制},和可审计.

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 服务器决定@' @ t 决定 @ .} 约束器决定.{


为何「"#Tools @Tools@"}是错误的心理模式?

默认 MCP 框架为 @ : @

  • @" 将方法作为工具来应用@"
  • @ "_ @ 让模型选择该调用哪个工具来调用@"}
  • @"Ask 执行前的授權@"

这失败是因为可以预测的原因。 @: @%

  1. 工具描述成为提示“LLM”从措辞中推断出意图,
  2. 工具选择流: 依据描述相似性选择工具
  3. 权限提示是 UX,不安全:# 模式对话框 does MS K1}% t 防止错误工具被选中@ info
  4. 无可重播放功能: 您可以\ @ MS K1} t复制一个会话, 因为工具选择是概率的

重新框架@: @% MCP 端点发布信号 @ , @ not action * .*

  • 信号被键入@ , @ breed @ MS K1和可归属
  • 每个信号都有自信和证据指示器
  • 自然语言是一种 演示演示文图层# , # 不是基底 #
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 端点都有一个:

  • 一种预想@ :_ 键入输入和输出@ MS K1} 不是free\ - form text
  • 信任@: @ 如何确定这一结果 @ ? @ @ I(0.0–1.0) @
  • 证明书@:这是从何而来? ?~ (Frame ID#,}框框框,}波形区域=)}
  • 证据指针@: @ what can be contracted 独立验证的东西@? @

没有免费的-/text 当局@ .}没有 MSSK2_ 最佳努力 @ MS K3\ 答案 @ MPK4

生产系统实例

@|_ 信号@|_信任来源 @MS K2}证据指针#| |--------|-------------------|------------------| | OCR 文本提取@| 佛罗伦萨-2 信任得分 @| 圆框坐标 @MS K4 |图像分类@|CLIP相似得分 @|嵌入的 +类似得分+参考图象IDQ| “|”音频转录“|” Whiseper word - effective | Timestamp range @| -=YTET -伊甸园字幕组=- 翻译:

规则@: @ 如果结果不能被验证 @ , @ it is'_ t接受 @ MPK4}

这一原则与 设计规则-=YTET 翻译:


控制台教练=:}《人人跳过》

大多数 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 字幕, 当超自然主义对文本有分歧时@ - @ likeition
  • 更低的--信任度,但证明在高端□--信心幻灯文字上具有OCR
  • 只有当本地模范信心 @<#@0.7}才升格为视觉LLM

MCP 连接组件@. 约束符调节它们 @.


将LLM关上(和为什么我做"MSC1"

我的 MCP 服务器仍然使用LLM 已禁用@. @%

这是一种退化模式... .... 初级基本模式.

如果您的系统在 LLM 不可用时停止工作 @ , @ 有限责任公司正在做一项工作, 它应该@ MS K1}% t 应该有\ .} *

核心职能@: @%

  • 摘取事实的决定性总结
  • 通过嵌入和过滤器进行的第一个检索@- @% 1
  • 对事实数据库进行结构性查询

LLM 成为:

  • 合成层 @ ( @ optional @ MPK1
  • 解释引擎@(}当被要求时 @)
  • 丰富自然语言输出的“(”

法学硕士是 :

  • 决策人
  • 内存
  • 真相引擎
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

为什么这重要?

福利 LLM□-要求的系统MS K3LM-备选系统MPK5
费用成本 固定基础设施
可靠性 }核心功能继续
适用性 M mock LLM回应 确定论的断言
信托信任信信托基金 模型上说:"证据链"

作为边界的MCP*,不是一体化

我视MCP为 硬边界:

  • 与程序隔离: MCP 服务器在不同的程序中运行
  • 明确输入@/ @output:无共同的变异状态
  • 无环境环境背景@: 每一个呼叫都根据明确的输入来评估 ,}*不是对话残留
  • 定型合同: Schema 违反为错误@,不是警告

这与 @ : @

  • 共享内存的 In-处理剂
  • 包含隐藏上下文累积的链条
  • 在前转影响行为的情况下, " converational"工具使用

为什么边界重要? :

  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 示例

来自未受限制 MCP 使用中的实际失败案例@: @ @%

”失败模式“ 原因“ 缓解”“MSC3”
工具幻觉 ” 说明渗漏到LLM推理中“ ” 小描述“MS K2” Schema - 首个设计“MSC4”
超过-QAEAG 执行 @ #示范调用工具@"}只是用来检查#"#\ # Cons 训练员的大门
气相流 @ _工具行为改变@,_Schema does'}{MSKQt } 版本的 schemas*,}合同测试 *# }
沉默部分故障 工具返回部分数据@, 模式收益 @ 信任阈值_, 完整性检查 @MS K4
LLM 过度自信 示范将工具输出作为地面真相处理
能力升级 “+”政策策略 预算“

共同线索@: @% 这些失败之所以发生,是因为LLM被信任为权威.

修正@: @% LLM女士提议 , 约束者决定 @,}事实依然存在.


使用得当时 MCP 在 @ ( @ majectly@ ) @

MCP对:来说是优秀的

  • 能力发现:现有信号的运行时间罗列
  • Inter- 处理组成: 部件之间的清洁边界
  • 工具互操作性: 與任何 MCP-相容的客戶端
  • 模型- - 不可知整合在不改变信号合同的情况下互换 :

MCP是 :

  • 代理机构框架
  • 推理系统
  • 安全层
  • 信托边界

使用 MCP 为部件之间结构化通信的电线协议@. @%


MCP 停止的地方

MCP 如何标准化模式和工具交换环境@. 它没有界定在什么条件下允许谁采取行动,或决定是如何审计的\MS K3

也存在其他办法将这些限制正规化。 “(”有时被称为“行动能力协议”,“,” ACPZAAP}):授权,证明‘,审计线索’{.*

这篇文章是关于ACP=.}It'}关于设计原则的 :} 交通运输和交通运输治理是不同的关注事项.

MCP告诉你 如何 调用工具@. @% 必须另做决定 是否 您应该在我的系统里 ,... ...'...


Memo MCP 与生产MCP

MPK2生产MCP
工具描述 @ _自然语言@,}详细描述 Minimal,_schema}-}第一位# }
由谁决定呼吁 -=YTET -伊甸园字幕组=- 翻译:
反应格式 @ @ free@ MS K1_ 格式文本 @ O } 充满信心的输入信号 @ I @
审定 -=YTET -伊甸园字幕组=- 翻译:
LLM 依赖性 -=YTET -伊甸园字幕组=- 翻译:
重放 @ Non-确定性 □ 完全可复制@
审计线索 ”和“对话日志”

闭幕式

MCP 启用 组成构成. 确定因素使 信任信托基金. LLM 启用 及时性.

但只有如果:

概率建议“—”和确定论持续存在 “.”

没有约束的 MCP 只是快速注射 额外的步骤.

将最后一步合成 . 使 LLM 可以选择\ .} 让每个事实都可追踪 *MS K2 *


关键术语

  • MCP (示范背景协议_): 用于工具发现和在程序间调用的工具的有线协议
  • 教练教练员确定性逻辑评估提案,
  • 信号: 填充响应并充满信心@, 出处 @, 和证据指针
  • 投标人@:_ 任何未经授权表示事实的元件@(LILMQ,}本地模型{,超自然=)}
  • 证据指针@ :_ 引用可核实源@ MS K1_ 绑定框@ I, timetamp @ MPK3} 嵌入@

相关条款

上一个序列中的@: @% 为何LLM女士失败为传感器

logo

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