用 MCP 唯讀貫穿層串起工廠系統,靠飛輪落地(廢鋼系列六)

🧭 老工廠 AI 落地筆記 · 系列導覽
1. 看懂工廠脈絡
2. 先懂產出配方
3. 逐節點 AI(手冊→RAG)
4. 排落地順序
5. 用資產周轉算 ROI
6. MCP 串接 + 飛輪(本篇)
7. 總結:一條路
重點摘要
  • 老廠有很多既有系統(ERP、MES、生產控制、化驗系統),各自為政。不要重造一個大一統平台 —— 那是 pilot 的墳場。
  • MCP 當「唯讀貫穿層」:只跨系統讀、用同一個主鍵把資料串起來,不動現場核心系統
  • 資料主鍵(把「這批料 → 這爐」串起來的脊椎)從前面長,不是先蓋:進料生號、一路帶下去,只差最後補一節。
  • 飛輪推進:先交付一個小勝 → 建立信任 → 才要得動更大的改變。

前面把單點工具都講完了。最後一哩:怎麼把它們串起來、可持續,而不是做成一堆各自孤立的小工具。關鍵有兩個 —— 一個技術面(MCP 唯讀貫穿層),一個推進面(飛輪)。

為什麼用 MCP「唯讀貫穿層」

老廠最怕聽到「我要建一個新平台把資料都搬過來」——動核心系統要停線、要資安審、要政治審,85% 的 pilot 死在這。正確做法反過來:不搬、不動,只在上面疊一層唯讀的貫穿層,把各系統當工具掛上去,一個查詢就能跨系統把同一批料/同一爐的血緣拉齊。

戰情室 / 查詢客戶端 問一句,跨系統拉齊答案 MCP 唯讀貫穿層 用同一個主鍵串;只讀,不動核心系統 ERP MES 生產控制 化驗 不搬資料、不停線、不重造平台 資料主鍵(脊椎):這批料 → 這爐 從進料生號、一路帶下去,只差補最後一節

把一個工具包成 MCP 長什麼樣

「唯讀貫穿層」聽起來抽象,其實 MCP 一個 server 就兩件事:宣告我有哪些工具收到呼叫就執行、回結果。先用前面那個離線分選 RAG 當例子(之後掛更多唯讀工具去串 ERP/MES,是同一套機制):

# ① 宣告有哪些工具(名稱 + 說明 + 參數 schema)
TOOLS = [
  {"name": "sort_advice",
   "description": "問分選/驗料問題(304 vs 316、怎麼挑銅…),回有出處的答案。",
   "inputSchema": {"type":"object","properties":{"question":{"type":"string"}}}},
  {"name": "grade_lookup",
   "description": "給部分量測(磁性/Cr/Ni/Mo)比對可能牌號。",
   "inputSchema": {"type":"object","properties":{
       "magnetic":{"type":"string"}, "cr":{"type":"number"},
       "ni":{"type":"number"},       "mo":{"type":"number"}}}},
]

# ② 收到 JSON-RPC 呼叫 → 對應到工具函式 → 回結果
def handle(method, params):
    if method == "tools/list":
        return {"tools": TOOLS}
    if method == "tools/call":
        name, args = params["name"], params.get("arguments", {})
        res = sort_advice(args) if name == "sort_advice" else grade_lookup(args)
        return {"content": [{"type":"text", "text": json.dumps(res, ensure_ascii=False)}]}

同一份工具可以掛兩種通道:stdio(本機直接掛給用戶端、不佔 port)或 HTTP(給遠端戰情室/gateway 呼叫)。掛到本機用戶端只要一行:

# 掛到本機用戶端(stdio,不佔 port)
mcp add scrap-sort -- python3 mcp_server.py

# 或起 HTTP 版,問一句(這是實際跑出來的回應)
POST /  {"method":"tools/call",
         "params":{"name":"grade_lookup",
                   "arguments":{"magnetic":"無","cr":18,"ni":8,"mo":0}}}

←  {"candidates":[{"grade":"304"},{"grade":"304L"},{"grade":"303"}],
    "source":"grades.json / ASTM A240·CNS 8497"}

看懂這個小例子,「唯讀貫穿層」就具體了:把每個既有系統的查詢包成一個像這樣的唯讀工具掛上去,戰情室一句話就能跨 ERP/MES/化驗系統把同一批料的血緣拉齊 —— 而工具全是唯讀,不動核心系統。

脊椎從前面長,不是先蓋

要把「這批料到底進了哪一爐」串起來(這條主鍵叫脊椎),不必先蓋一個大工程。它會從前面自己長:進料端一發批號,分選、儲存一路帶著,前面三分之二做前段工具時就自然生出來 —— 唯一缺的,是最後把「這爐用了哪些批」補上那一節。所以第一步不建脊椎,而是做前段、讓脊椎自己長出來,最後補一節。

飛輪:先交付,再擴張

① 先交付一個小勝(低風險工具) ② 現場看到成效 → 建立信任 ③ 才要得動更大的改變(補脊椎) 信任累積 → 下一輪能做更大的 → 越轉越快

老廠不缺方法論,缺的是「證明給我看」。先 ship 一個小而真的東西、讓現場嚐到甜頭,信任累積後,原本動不了的組織改變(補脊椎、串系統)才要得動。這就是飛輪。

下一篇(最後一篇):把整條路從頭到尾串起來,收成幾個可以搬到任何工廠的心法。

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *