模型體驗
設計模型所見的內容,使其能找到所需資訊、安全行動,並將上下文專注於任務本身。這是指南,而非檢查清單。
- 從最小上下文開始: 先暴露目的、可用操作和限制條件;在需要時才載入詳細指令。
- 明確標記可發現性: 每個延遲載入的資源都需要清晰的描述和可靠的擷取方式。
- 保持關鍵限制可見: 權限、破壞性效果和必要的驗證應在相關操作前出現。
- 偏好有界輸出: 回傳簡潔的結果,附帶用於擷取細節的識別碼或路徑;避免傾倒整個日誌或文件。
- 善用局部性: 在操作的結果中包含適量的、可能需要的鄰近上下文。例如,在回覆討論串時附帶前幾則訊息。明確標記遺漏和截斷處,並提供擷取更多內容的方式。
- 評估總工作量: 節省上下文只有在不導致更多搜尋、重複讀取或錯誤時才有用。
工具定義
- 刪除明顯的限制。 省略模型可從呼叫結果中學習到的規則,例如缺少檔案導致讀取失敗,或傳送失敗表示未送達。
- 描述行為,而非實作。 說明工具做什麼以及回傳什麼;省略內部機制、模型在結果中看到的輸出標記,以及強制執行細節。
- 將參數規則放在參數上。 預設值、範圍、配對以及何時設定的規則應屬於該參數的描述或架構;隨配置而變化的描述通常表示變化的部分應屬於參數。
- 每項事實只說一次。 不要在工具的系統提示區段中重複工具定義,不要在參數描述中重複工具描述,也不要在一個工具中重複另一個工具的規則。
- 衡量變更。 在變更工具定義前後,比較第一次對話的提示 Token 數量。
技能與代理指令
- 描述即觸發條件。 技能的描述應以使用者或任務會使用的詞彙說明何時使用它;技能主體則說明如何執行。
- 保持入口檔案簡短,並連結細節。 將工作流程和護欄放在技能檔案中;將校準範例和長篇參考資料轉移到按需求載入的檔案中,並從入口檔案直接連結。
- 明確說明範圍限制。 「這是指南,而非檢查清單」或「報告發現結果,不進行編輯」會改變模型應用工作流程的方式。
- 指向事實來源。 指令應連結所屬文件,而不是重新陳述,以避免內容偏移。