← 新聞追蹤

連上了工具,AI 卻還是個新來的:把「該看的資料」和「現成的問法」也掛進 MCP

來源:業州愚公 | 2026年11月4日

作者:業州愚公

業州愚公撰寫的文章《AI 工具實操與提示詞》工具篇中提到,當AI連上MCP伺服器後,雖然可以執行任務,但仍像新員工一樣,缺乏對公司資料和處理流程的了解。為了讓AI從新手變成老手,需要提供它「該看的資料」和「現成的問法」,讓它了解公司的規矩和流程。這意味著需要補齊資源和提示詞,讓AI可以更好地執行任務和了解公司的需求。這篇文章是菜鳥之友系列的一部分,旨在幫助讀者了解如何實操AI工具和提示詞。

編輯評論 / Editor's Note

這種情況下,AI系統需要額外的資源和指導才能發揮其全部潛能。通過提供相關資料和適當的問法,AI可以從新手變成老手,更加有效地完成任務。這樣的補充可以幫助AI系統更好地理解和應對複雜的問題和任務。

菜鳥之友系列:《AI 工具實操與提示詞》・工具篇作者:業州愚公

一、門卡發了,資料夾和手冊還沒給

上一篇我們花四十分鐘寫了一個最小的 MCP 伺服器,讓 AI 能自己伸手去算那張每週一早上的出貨表。接上之後你大概會發現一件有點洩氣的事:AI 是會動手了,但它每次都像個第一天上班的新人——它不知道你們公司的報表存在哪、長什麼樣,更不知道處理這張表「正確的姿勢」是什麼。於是你每次都得把背景、格式、注意事項從頭交代一遍,交代得比叫新人還仔細。

這不怪 AI,也不怪上次寫的伺服器。我們上次只發了門卡——tools,讓它能推門進去做事。但辦公室裡的資料夾(它該看的資料)和牆上貼的操作手冊(老手們總結出來的問法),一樣都還沒給它。

MCP 的設計裡,除了 tools,其實還有兩樣經常被新手忽略的家當:resources 和 prompts。今天這篇就把這兩樣補齊。補完之後你會發現,前面幾篇折騰下來的那個小伺服器,才算真正長成一個「懂自家規矩」的同事。

二、先分清:MCP 的三樣家當到底差在哪

先上一張對照表,把三樣東西的分工說清楚:

能力 誰來發起 大概像什麼 舉例
toolsAI 看完描述後自己決定呼叫一雙能動的手查匯率、寫資料庫、跑一段計算
resources應用程式或 AI 按需讀取一個帶索引的唯讀檔案架本機 CSV、設定檔、查詢結果
prompts用戶主動選用一本現成問法手冊「部門週報健檢」這類可填參數的模板

一句話總結分工:tools 負責「做事」,resources 負責「把該看的資料備好」,prompts 負責「把老手的問法標準化」。三者的發起方向也不一樣,這一點最容易被搞混——tools 是 AI 主動伸手,resources 是被動等人來拿,prompts 則完全由你點選。方向搞反了,配置怎麼調都會覺得「它怎麼不按我想的來」。

三、resources:給 AI 一個帶索引的檔案架

resources 的核心概念簡單到不像技術設計:你的伺服器把一些資料暴露出去,每一份資料用一個 URI(統一資源識別碼)標識,比如 file:///reports/sales.csv 指向一個檔案,db://customers/vip 指向一類查詢結果。AI 或客戶端可以先列出伺服器上有哪些資源,再按需要讀取某一份。

它有三個關鍵特性,新手務必記牢:

第一,唯讀。 resources 只提供資料,不負責修改任何東西。要讓 AI 改資料、寫檔案,那是 tools 的活。把「看」和「動」分開,是 MCP 刻意的設計——權限邊界清晰,你才敢放心把伺服器接上。

第二,帶說明。 每份資源都有名稱和描述欄位,AI 就靠這兩行字判斷「這份資料跟我手上的活有沒有關係」。描述寫得含糊,它要麼不去拿,要麼拿錯。

第三,可以有變動通知。 資料更新時,伺服器可以通知客戶端「清單變了」,支援訂閱某份資源的更新(這部分機制較新,細節以官方最新版本為準)。新手先不用管訂閱,知道「資料可以常駐、隨取隨用」就夠了。

四、寫一個 resource,就是在昨天的伺服器裡多加一個函式

如果你跟著上一篇把最小伺服器跑通了,那加資源只要再寫一個函式、換一個裝飾器的事。下面這段 Python 直接可以接在上次的代碼後面:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("weekly-tools")

@mcp.resource("reports://sales-weekly")
def get_sales_weekly() -> str:
    with open(REPORTS_PATH, "r", encoding="utf-8") as f:
        return f.read()

@mcp.prompt()
def weekly_review(dept: str) -> str:
    return (
        f"請根據 reports://sales-weekly 裡的出貨資料,"
        f"幫我檢查 {dept} 部門本週的異常訂單,"
        f"先列清單再給結論,金額保留兩位小數。"
    )

就這麼幾行。第一個函式把本機的出貨 CSV 暴露成一個名為 reports://sales-weekly 的資源;第二個函式定義了一個叫「部門週報健檢」的提示詞模板,裡面有一個可以填的參數 dept。裝飾器一換,同一個伺服器就多了兩種能力。這也是 MCP 對新手最友善的地方:tools、resources、prompts 的寫法是同構的,會一個就會三個。

有一個習慣建議:函式裡別寫死太多路徑,像範例那樣集中放在檔案開頭,以後搬機器、換目錄只改一處。

五、prompts:把「怎麼問才對」做成菜單

如果說 tools 和 resources 是給 AI 準備的,prompts 更像是給「人」準備的。它把一段你調好的提示詞,連同可填的參數,做成一個能從選單裡點出來的模板。在很多客戶端裡,它會以斜線命令或快捷選單的形式出現——輸入一個斜線,就能看到這台伺服器提供了哪些現成問法(具體入口樣式以官方最新版本為準)。

它跟 tools 的最大不同在發起方:tools 是 AI 看了描述後自己決定用不用;prompts 是你主動點選,AI 收到的是一段已經寫好的、帶著完整上下文的指令。這個區別在實際使用裡非常有價值,因為它解決的是一個更普遍的痛點——同一個團隊裡,十個人問 AI 同一件事,能問出十種品質。

把老手的問法做成 prompts,好處有三層:新人不用背問法,點選填空就行;老手的經驗被固化在模板裡,不會隨人流失;你還可以在模板裡預埋要求,比如「先列清單再下結論」「金額保留兩位小數」,把團隊的規矩寫進 AI 的工作流程。

六、三樣家當湊齊之後,週一早上是這麼跑的

把 tools、resources、prompts 放回上一篇那個出貨表的場景,整條流程就變成了這樣:

步驟 誰在做 用到什麼 發生什麼
1你prompts點選「部門週報健檢」,填入「華東區」
2客戶端—把模板展開成完整指令,連同參數發給 AI
3AIresources按指令去讀 reports://sales-weekly 的本週出貨資料
4AItools遇到要按折扣率重算的金額,呼叫上篇寫的計算工具
5AI—彙整出一份帶清單、帶結論的部門週報

對比一下:上一篇的流程是「你交代一半,AI 摸索一半」;現在是「你點一下菜單,剩下的路它都認得」。同樣的伺服器,體驗完全不同——差別不在 AI 變聰明了,而是你把該準備的東西備齊了。

七、幾個我自己踩過或差點踩的坑

別把整個硬碟當檔案架。 每讀一份資源都會佔用 AI 的上下文窗口(context window),把幾十萬字的資料一股腦掛上去,模型反而會變糊塗,重點還被沖淡。資源要精選,一次活只該看的那幾份。

prompts 不是魔法。 模板本身寫得含糊,選出來照樣白搭。我的習慣是先把問法在對話框裡手打幾輪、調到滿意,再沉澱成模板——順序別反。

名稱和描述要認真寫。 AI 選 tools、判斷 resources 相不相關,都靠這兩行字;用戶在選單裡挑 prompts,看到的同樣是它們。寫「資料1」「模板A」這種名字,等於什麼都沒寫。

資源路徑寫成配置。 硬碟路徑、檔名散落在函式各處,換台電腦就是一場排查。集中管理,改一處生效。

八、從「會動手」到「像個老手」

回頭串一下這條線:MCP 入門篇把外掛裝上,流水線篇把幾個伺服器串起來,自寫伺服器篇讓 AI 會做事,今天補上 resources 和 prompts,讓它有資料可看、有規矩可循。到這裡,一個為自家工作量身打造的 MCP 伺服器,骨架就全了。

不過,骨架齊了還差最後一步:把這把鑰匙真正交出去之前,你得知道哪些權限能開、哪些要審批、出了問題怎麼查。下一篇就聊這個——權限、審批與除錯入門,順帶介紹官方的排查工具怎麼用。

工具推薦隨身機器人(新用戶免費試用 7 天)

照著做遇到卡殼的地方——環境變數不生效、裝飾器報錯、資源讀不到——不用自己悶頭查半天。隨身機器人可以直接幫你看報錯、給排查步驟,新用戶免費試用 7 天,等於先請一位隨叫隨到的技術同事。

下一篇預告: 鑰匙不能亂發——MCP 的權限、審批與除錯入門,包括用官方的 MCP Inspector 排查伺服器問題的實操步驟。

業州愚公 | SY 視野(sylogs.com)原創內容,轉載請註明出處。