中繼資料為何重要
ChatGPT 和 Codex 會根據你提供的中繼資料,決定何時呼叫工具。精心撰寫的名稱、描述和參數說明能提高相關提示詞的召回率,並減少意外觸發。請像對待產品文案一樣對待中繼資料,持續修訂、測試並分析成效。
建立基準提示詞集
調整中繼資料之前,請先建立一組已標註的資料集:
- 直接提示詞: 使用者明確提及你的產品或資料來源。
- 間接提示詞: 使用者描述想要的結果,但未提及你的工具。
- 反例提示詞: 應由內建工具或其他工具處理請求的情況。
記錄每個提示詞的預期行為(呼叫你的工具、不採取任何動作,或使用替代工具)。迴歸測試時會再次使用這組提示詞。
撰寫能引導模型的中繼資料
針對每個工具:
- 名稱: 將領域與動作結合(
calendar.create_event)。 - 描述: 以「在……情況下使用此工具」開頭,並明確指出禁止使用的情況(「請勿用於提醒事項」)。
- 參數說明: 說明每個引數並提供範例;對於有限制的輸入,請使用允許的值。
- 唯讀提示: 如果工具只會擷取
或計算資訊,絕不在對話外建立、更新、刪除或傳送資料,
請為該工具標註
readOnlyHint: true。 - 破壞性提示: 如果工具不會刪除或覆寫使用者資料,
請為該工具標註
destructiveHint: false。 - 開放世界提示: 如果工具會存取公開網際網路或範圍不限的外部實體,
請標註
openWorldHint: true;這也包括網頁搜尋等唯讀工具。 如果工具僅限於範圍明確的私人帳戶或工作區,請使用false, 即使該服務由外部託管也一樣。
在開發人員模式中評估
- 在 ChatGPT 中,從 設定 → 安全性與登入開啟開發人員模式, 然後前往 ChatGPT 外掛程式註冊你的 MCP 伺服器。
- 逐一執行基準提示詞集中的提示詞,並記錄結果:選用了哪個工具、傳入了哪些引數,以及元件是否成功轉譯。
- 針對每個提示詞,追蹤精確率(是否執行了正確的工具?)和召回率(工具是否在該執行時執行了?)。
如果模型選錯工具,請修改描述,強調預期使用情境,或縮小工具的適用範圍。
有系統地反覆改進
- 每次只修改一個中繼資料欄位,才能確定是哪項變更帶來改善。
- 保留修訂紀錄,並附上時間戳記與測試結果。
- 將變更差異提供給審查者,以便在部署前找出含糊不清的文案。
每次修訂後都重新評估。先讓反例提示詞達到高精確率,再追求召回率的些微提升。
正式環境監控
MCP 伺服器上線後:
- 每週檢視工具呼叫的分析資料。確認「選錯工具」的次數驟增,通常表示中繼資料已偏離實際使用情況。
- 收集使用者回饋,並更新描述以釐清常見誤解。
- 安排定期重跑提示詞,尤其是在新增工具或變更結構化欄位之後。
將中繼資料視為需要持續維護的資產。措辭與評估越用心,工具就越容易被發現並呼叫。