下列最佳做法可協助您建構強大的代理。
以自然語言輸入應對手冊名稱
應使用清楚、具描述性的自然英文做為應對手冊名稱。這有助於提升 AI 生成器在執行階段的效能。例如,「Customer 說明中心 Playbook」比「company_specialist」更合適。
所有名稱長度不得超過 64 個字元,包括英文字母和空格。
簡潔的目標
目標必須簡明扼要地說明。
提供優質指令
使用指令:
- 反映解決使用者問題的逐步方法。
- 提供簡潔的自然語言句子,做為高階指令。
- 直接指定工具的使用情境。
每個 playbook 至少有一個範例
每個教戰手冊至少要包含一個範例,建議至少提供四個範例。納入滿意路徑情境。
如果範例不足,playbook 可能會產生無法預測的行為。如果教戰手冊未回應或行為不符合預期,可能是因為範例遺漏或定義不佳。請嘗試改善範例或新增範例。
指示和範例的精確度
雖然清楚且詳盡的指示有助於提升準確度,但 Playbook 行為的準確度,實際上取決於範例的品質和數量。換句話說,與其花時間寫出完美精確的指令,不如多花時間寫出詳盡的範例。
在範例中參照工具
如果 Playbook 是設計成使用工具提供回覆,請在對應這類要求的範例中參照工具。
工具結構定義 operationId 欄位
定義工具的結構定義時,operationId 值很重要。您的教戰手冊操作說明會參照這個值。
這個欄位建議使用下列命名方式:
- 只能使用英文字母、數字和底線。
- 請確認名稱在結構定義中描述的所有
operationId中不重複。 - 請選擇能反映所提供功能的名稱。
工具結構定義驗證
驗證工具結構定義。您可以使用 Swagger 編輯器檢查 OpenAPI 3.0 結構定義語法。
處理空白工具結果
如果 Playbook 仰賴工具來提供回覆,空白的工具結果可能會導致 Playbook 行為無法預測。有時,Playbook AI 生成器會在回覆中產生幻覺資訊,而非工具結果。為避免發生無法預測的行為,請新增具體指示,確保 Playbook AI 生成器不會嘗試自行回答。
在某些用途中,您必須根據工具結果或提供的資料,建立 Playbook 回覆基準,並僅根據 Playbook AI 生成器的知識,減少回覆。
以下列舉一些可減少幻覺的指示:
- 「你必須使用這項工具回答所有使用者問題。」
- 「如果工具未傳回任何資料,請回覆你不知道使用者查詢的答案。」
- 「如果工具未傳回任何資料,請勿自行編造答案。請改為要求使用者換個方式表達查詢內容,或請他們進一步說明。
使用 Gemini 生成結構定義
Gemini 可為您生成結構定義。舉例來說,您可以要求 Gemini 為 Google 日曆建立 OpenAPI 3.0 結構定義範例。
專注應對手冊
請勿建立非常龐大且複雜的應對手冊。每份應對手冊都應完成特定且明確的工作。如果應對手冊很複雜,建議拆解成較小的子應對手冊。
避免迴圈和遞迴
在指令中連結代理時,請勿建立迴圈或遞迴。如果嘗試轉送至直接或間接呼叫目前應對手冊的上層應對手冊,可能會發生迴圈。
提供範例的轉送資訊
當 Playbook 轉送至其他 Playbook 時,請將這項資訊提供給範例。請在「Input & Output」範例部分的「End example with output information」欄位,將這項資訊提供給範例。
舉例來說,這個欄位的最後一句話可以是「重新導向回預設 Playbook,以便進一步查詢」。
使用 Dialogflow CX Messenger JavaScript 函式進行個人化
使用 Dialogflow CX Messenger 時,您可以透過下列 JavaScript 函式,將網頁介面中的使用者個人化資訊傳送至 Playbook:
規劃成效
生成式功能通常需要幾秒鐘,甚至幾十秒才能生成回覆。雖然應對手冊可讓對話更自然,但仍須管理回覆時間,確保使用者體驗良好。
如要提升成效,請採用下列策略:
- 平衡生成功能的使用:請仔細考量執行多項生成功能所需的時間,以及這些功能為對話帶來的價值,並在兩者之間取得平衡。如果這些功能對使用者目標沒有顯著貢獻,請避免過度使用。
- 盡量減少生成功能輸入:盡可能收集及處理最少量的資訊,讓 AI 生成器產生實用的回覆。這可大幅縮短處理時間。
- 使用脈絡快取:如果透過工具使用 Gemini,且初始脈絡較大,請考慮使用 Vertex AI 脈絡快取功能快取資訊,避免重複要求相同資料。
- 導入固定回覆以提升速度:如果應用程式不需要獨特的動態內容,建議將常用回覆儲存在 Firebase 等傳統資料庫中。由於這些固定回覆已預先定義且隨時可用,因此回應時間比需要即時計算答案的生成式功能快得多。
- 指示 AI 生成器產生簡潔的 Playbook 回覆:對於文字輸入和輸出,AI 生成器的回覆時間高度取決於使用的模型和輸出長度。簡短的回應可大幅提升效能。雖然輸入長度也是考量因素,但輸出長度的影響較大。