🧭 老工廠 AI 落地筆記 · 系列導覽
1. 看懂工廠脈絡2. 先懂產出配方
3. 逐節點 AI(手冊→RAG)
4. 排落地順序
5. 用資產周轉算 ROI
6. MCP 串接 + 飛輪(本篇)
7. 總結:一條路
重點摘要
- 老廠有很多既有系統(ERP、MES、生產控制、化驗系統),各自為政。不要重造一個大一統平台 —— 那是 pilot 的墳場。
- 用 MCP 當「唯讀貫穿層」:只跨系統讀、用同一個主鍵把資料串起來,不動現場核心系統。
- 資料主鍵(把「這批料 → 這爐」串起來的脊椎)從前面長,不是先蓋:進料生號、一路帶下去,只差最後補一節。
- 靠飛輪推進:先交付一個小勝 → 建立信任 → 才要得動更大的改變。
前面把單點工具都講完了。最後一哩:怎麼把它們串起來、可持續,而不是做成一堆各自孤立的小工具。關鍵有兩個 —— 一個技術面(MCP 唯讀貫穿層),一個推進面(飛輪)。
為什麼用 MCP「唯讀貫穿層」
老廠最怕聽到「我要建一個新平台把資料都搬過來」——動核心系統要停線、要資安審、要政治審,85% 的 pilot 死在這。正確做法反過來:不搬、不動,只在上面疊一層唯讀的貫穿層,把各系統當工具掛上去,一個查詢就能跨系統把同一批料/同一爐的血緣拉齊。
把一個工具包成 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 一個小而真的東西、讓現場嚐到甜頭,信任累積後,原本動不了的組織改變(補脊椎、串系統)才要得動。這就是飛輪。
下一篇(最後一篇):把整條路從頭到尾串起來,收成幾個可以搬到任何工廠的心法。
發佈留言