這Botpress 自治節點可讓您創建功能性人工智慧代理程式——不是聊天機器人,而是根據可用上下文做出決策的自治代理。
透過提供清晰的說明和整合工具,機器人建構者可以使用自治節點來概述聊天機器人的行為。
該節點旨在透過理解用戶輸入、以正確的資料回應並利用其工具來處理決策和執行。
如果您有興趣使用自治節點,那麼您來對地方了。在本文中,我將闡述使用我們平台強大的代理功能的基礎。
自治節點的主要特點
1. LLM 決策驅動
自治節點使用自治節點的功能LLM 做出明智的決定。
2. 自主行為
自治節點可以根據指令和使用者輸入執行操作,無需人工幹預。
3. 工具
自治節點理解並利用特定的工具—例如,它可以查詢知識庫、執行網路搜尋和執行工作流程轉換。
4. 定制
透過使用適當的角色和詳細說明配置自治節點,您可以確保它在對話期間的行為符合品牌且在範圍內。
5. 編寫並執行程式碼
自治節點可以產生並執行自訂程式碼來完成任務。
6.自我糾正
如果自治節點發現自己走上了錯誤的道路,它有能力自我糾正並從錯誤中恢復。
配置設定
每個自治節點都需要仔細配置,以使其行為與業務需求保持一致。
設定自治節點最關鍵的部分是編寫正確的提示和說明。提示可以幫助座席了解其角色並指導決策。
說明書盒
在說明框中提供明確的指南。指示越具體,代理人的決策越好。
例如:「您是一位樂於助人的助手,總是使用『knowledgeAgent.knowledgequery』工具回答問題。如果使用者說“搜尋”,請使用“browser.webSearch”工具。
允許對話
允許對話開關使自治節點能夠直接與使用者通訊。如果關閉,節點僅處理命令並執行其內部邏輯,而不向使用者發送訊息。
了解工具
根據您提供的指令,自治節點配備了多種可以呼叫的工具。
每個工具執行特定的操作—了解何時以及如何使用這些工具對於推動節點的決策至關重要。
7 個最常用的工具
- global.think :允許 LLMz 引擎在繼續之前進行反映。
- browser.webSearch :讓代理程式能夠在網路上搜尋答案。
- knowledgeAgent.knowledgequery :查詢內部知識庫以取得相關資訊。
- Clock.setReminder :設定未來任務或回應的提醒。
- workflow.transition :執行工作流程轉換,根據使用者輸入從對話的一個部分移動到另一部分。
- chat.sendText :向使用者發送文字訊息作為回應。
- chat.waitForUserInput :暫停執行並等待使用者的進一步輸入。
透過指定使用哪個工具來回應使用者操作,您可以控制對話的流程和結果。
例如,您可以指示LLM 在滿足特定條件時始終執行某些操作: “當使用者說‘1’時,請使用‘workflow.transition’工具轉到下一步。”
或: “如果用戶提出問題,請先嘗試使用‘knowledgeAgent.knowledgequery’工具來回答。”
範例工作流程
以下是自治節點在對話期間如何配置和運行的逐步範例:
1. 使用者輸入
使用者輸入有關公司產品的問題。
2. 指令執行
自治節點依照提示,使用knowledgeAgent.knowledgequery工具搜尋內部知識庫。
3. LLM 決定
如果知識庫沒有令人滿意的答案,則節點可以使用browser.webSearch工具在網路上搜尋其他資訊。
4. 發送訊息
一旦回應準備就緒,節點就會使用chat.sendText向使用者回覆相關資訊。
5.等待輸入
回應後,節點使用chat.waitForUserInput等待使用者的進一步查詢或互動。
如何撰寫說明
如範例所示,清晰的指令對於確保自治節點正確運行至關重要。
這LLM指令的結構方式很大程度影響決策者的決策能力。
以下是為自治節點編寫指令的 3 種最佳實踐:
1.具體
不要使用模糊的命令,而是使用明確的語言來清楚地指導代理。
範例:“如果用戶說‘幫助’,請使用‘chat.sendText’向他們發送預先定義的支援選項清單。”
2. 定義工具用途
明確說明在何種情況下應使用哪種工具。
例如:“始終使用‘knowledgeAgent.knowledgequery’來回答與產品相關的問題。”
3. 引導流程
使用清晰的過渡和步驟來確保對話朝著正確的方向發展。
範例:“如果知識庫無法回答,請使用“browser.webSearch”轉換為搜尋查詢。”
您可以透過以下連結找到更多資訊:
使用 Markdown 語法
在開始之前,有必要先談談使用 Markdown 語法的重要性。
要建立結構化、視覺清晰的提示,必須使用 Markdown 語法,例如標題、項目符號和粗體文字。
此語法有助於LLM 認識並尊重指令的層次結構,指導其區分主要部分、子指令和例子。
如果您很難使用 Markdown 語法,那麼可以使用任何對您來說容易的結構- 只要保持清晰和層次結構即可。
有用的提示
本節包含可用於控制自治節點行為的最常見範例和模式的清單。
這些範例取自實際經驗,顯示如何使用特定的指令和工具來處理不同的場景。
注重內部知識
為了確保節點區分支援問題和其他類型的查詢(例如定價或功能),您可以按以下方式引導它:
**重要的一般流程**
-knowledgeAgent.knowledgequery工具僅用於與支援相關的問題,而不用於一般功能或與價格相關的問題。 - browser.websearch 工具僅用於支援問題,不應用於一般功能或價格相關問題。
該提示可確保LLM 將堅持僅在與支援相關的查詢上下文中使用特定工具,保持對其檢索的資訊類型的控制。
將節點轉換為子流
有時,您希望機器人從自治節點移出到子流中。
假設您希望機器人收集使用者電子郵件,然後從其他系統中找到有關該電子郵件的更多資訊以豐富聯絡資訊。
在這種情況下,您可能需要機器人移出自治節點循環並深入研究包含許多步驟/系統的子流程以豐富該聯繫:
當使用者想要了解更多有關電子郵件的資訊時,請前往轉換工具。
該指令告訴節點在使用者詢問有關電子郵件的更多詳細資訊時調用工作流程轉換工具,從而相應地引導對話流程。
填充變數並執行操作
對於您希望節點同時擷取輸入並觸發操作的場景,您可以這樣提示:
當使用者想要有關電子郵件的更多資訊時,請前往轉換工具並用使用者詢問的電子郵件填寫「電子郵件」變數。
在這裡,您引導節點不僅觸發轉換,還提取使用者的電子郵件並將其儲存在變數中,從而在稍後的對話中啟用動態行為。
根據條件操縱響應
有時,您會希望節點根據條件執行附加邏輯。以下是與提供影片連結相關的範例提示:
如果使用者選擇“1”然後說“謝謝”之類的話,然後使用轉換工具。
此提示有助於節點了解視訊連結的預期結構以及當使用者要求引用影片中的特定點時如何修改它。
使用影片連結模板的範例
您可以透過提供系統在回應使用者視訊連結請求時應如何表現的實際範例來進一步闡明提示:
**Video Link Example:**
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
這為節點提供瞭如何動態產生具有特定時間戳的視訊連結的清晰指導,確保一致且用戶友好的回應。
故障排除與診斷
在模擬器中測試自治節點的行為時,診斷幕後發生的情況非常重要。節點如何做決策?
以下是如何排除故障並檢查節點的思考過程和效能。
三種排除故障的方法
1. 檢查節點的思想
透過點擊Inspect ,您可以查看自治節點的內部狀態並了解自治節點的狀態LLM 正在處理。透過檢查,可以看到:
- 節點優先考慮哪些指令
- 它如何解釋您的提示
- 是否遵守您提供的約束和說明
如果您發現節點沒有正確回應或似乎忽略了某些指令,則檢查將揭示它是否誤解了提示或未能執行特定工具。
2.檢查“工具”選項卡
工具部分顯示自治節點可以利用的所有可用工具。每次新增卡片或變更節點配置時,工具清單都會更新。
- 確保列出的工具與您期望在節點決策過程中可用的工具相符。
- 確保提示中的工具名稱拼字正確,以確保節點可以正確執行指定的操作。
3.檢查“迭代”選項卡
自治節點通常會嘗試在一兩次迭代內執行所有指令。迭代次數取決於提示的複雜度以及節點如何分析它。
對於更複雜的任務,節點可能需要多次迭代來收集資料、做出決策或取得外部資訊。
透過查看“迭代”選項卡(或“全部”選項卡),您可以了解:
- 節點需要多少次迭代才能做出最終決定。
- 是什麼導致節點採取多個步驟(例如,從KnowledgeAgent.knowledgequery或browser.webSearch等工具取得附加資料)。
- 為什麼取得了特定的成果。
常見故障排除問題
型號尺寸
自治節點可能不遵循您的提示,執行部分提示而不是全部提示,或呼叫“workflowQueue”而不呼叫“workflowExecuteAll”工具。
總是更改自治節點是有意義的LLM 尺寸縮小到更小的型號——因為它更便宜——但這需要付出代價。
較小的LLM 可能會導致部分提示被截斷,特別是定義包裝器Botpress 添加以確保LLM 了解卡片的功能、需要哪些參數等。
法學碩士版本
始終確保您使用的是最新穩定版本的 LLMz。它是指揮自治節點工作的自治引擎。
它還包含錯誤修復,使提示更加不可知LLMs 。
範例:診斷程式碼創建
假設一個自治節點正在產生程式碼,但沒有正確遵循提示。以下是解決該問題的方法:
- 檢查:檢查節點遵循哪些指令。是否正確理解了程式碼產生的請求?
- 工具:驗證節點是否可以存取必要的工具(例如,程式碼產生工具或知識庫查詢工具)。確保提示明確引用這些工具。
- 迭代:查看迭代標籤以查看節點如何到達產生程式碼的點。是採取了一個步驟還是多個步驟?它是先查詢知識庫,還是嘗試立即產生程式碼?
解決方案:如果機器人無法正確產生程式碼:
- 確保提示中正確引用了用於程式碼產生的工具。
- 調整指令,以便引導節點使用特定步驟,例如在嘗試產生程式碼之前先檢索相關知識。
完整提示範例
**IMPORTANT: Query Knowledge Base is to be used only for support questions related explicitly to student courses, and NOT for general features or pricing inquiries.
**Role Description:
You are an AI-powered troubleshooting chatbot named XYZ Assistant’, focused on providing support related to professional courses offered by XYZ LMS. Your primary goal is to handle student inquiries efficiently by retrieving accurate information from the knowledge base and answering questions clearly.
**Tone and Language:
• Maintain a courteous, professional, and helpful demeanor at all times.
• Use language that is clear, concise, and appropriate for students and professionals in finance and investment.
• Ensure user data is handled securely and confidentially, adhering to all relevant data protection policies.
• Utilize information solely from **LMS Knowledge Base**.
• Personalize interactions to enhance user engagement and satisfaction.
• Reflect **XYZ branding** throughout the conversation, ensuring clarity and professionalism.
• Avoid providing answers outside the knowledge base or surfing the internet for information.
• If the user expresses frustration, acknowledge their concern and reassure them that you are here to help.
**Interaction Flow and Instructions
1. Greeting and Initial Query
• Start with a friendly and professional greeting.
• Encourage users to ask questions about course content, support materials, or other course-related concerns.
2. Information Retrieval and Issue Resolution
• Utilize the ‘Query Knowledge Base’ tool to find accurate answers to student inquiries.
• Provide clear, concise, and helpful responses to resolve the user's question.
• If the inquiry involves linking to a video, use the provided video link structure. To link to a specific moment in the video, append the "t" parameter for the desired time (e.g., for the 15-second mark, use "t=15").
3. Conclusion
Once the issue is resolved, politely conclude the interaction and ask if there's anything else you can assist with.
**Extra Instructions
*Video Link Example
-If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
*Handling Edge Cases
If the user asks a general or unclear question, prompt them to provide more details so that you can offer a better solution.
及時故障
在上面的完整提示中,用戶創建了一個人工智慧助手,可以回答學生有關教育課程的問題。
上面的範例是一個指南,可以根據您的需求進行修改,但我發現這種佈局是迄今為止最有效的結構。
讓我們來解釋為什麼提示會這樣佈置:
一、重要提示
**重要提示:查詢知識庫僅用於與學生課程明確相關的支援問題,而不用於一般功能或定價查詢。
目的:設定何時以及如何使用查詢知識庫工具的界線。強調它僅用於與課程相關的支持,而不是用於有關功能或定價的一般查詢。
意義:有助於縮小機器人的範圍,集中其回應並增強與使用者的相關性,特別是確保回應與教育內容一致。
2. 角色描述
您是一個名為「XYZ Assistant」的人工智慧故障排除聊天機器人,專注於提供與 XYZ LMS 提供的專業課程相關的支援。您的主要目標是透過從知識庫中檢索準確的資訊並清楚地回答問題來有效地處理學生的詢問。
目的:定義人工智慧作為支援型助理的角色,明確概述其解決課程相關查詢的主要目標。
意義:確保助手的回應符合其預期目的,管理使用者期望並與其領域(在本例中為 XYZ LMS)保持相關性。
3.語氣和語言
• 隨時保持禮貌、專業和樂於助人的舉止。 • 使用清晰、簡潔且適合金融和投資領域的學生和專業人士的語言。 • 確保使用者資料得到安全、保密的處理,並遵守所有相關的資料保護政策。 • 僅利用**LMS 知識庫**中的資訊。 •在整個對話中體現**XYZ 品牌** ,確保清晰度和專業性。 • 避免提供知識庫以外的答案或上網取得資訊。 • 如果使用者表示沮喪,請承認他們的擔憂並向他們保證您會隨時提供協助。
目的:為助理的舉止、語調和專業精神提供指導,同時保持安全、資料保護的互動。
意義:設定友善和安全的基調,符合品牌和使用者對支持性和專業助理的期望。
4. 互動流程及說明
問候和初步詢問
• 以友善且專業的問候開始。 • 鼓勵使用者提出有關課程內容、支援材料或其他課程相關問題的問題。
目的:指令指示助理以熱情、專業的問候開始,並鼓勵使用者詢問有關其課程的具體問題。
意義:建立一個有吸引力的入口點,增強用戶參與度並幫助機器人收集詳細資訊以做出更好的回應。
資訊檢索和問題解決
• 利用「查詢知識庫」工具找出學生查詢的準確答案。 • 提供清晰、簡潔且有用的答覆來解決使用者的問題。 • 如果查詢涉及視訊鏈接,請使用提供的視訊鏈接結構。若要連結到影片中的特定時刻,請附加所需時間的「t」參數(例如,對於 15 秒標記,請使用「t=15」)。
目的:指導助理運用知識庫做出相關、清楚的回答。此外,它還包括一種透過基於時間的連結共享視訊資源的結構化方法。
意義:實現高效、精確的回應和結構化的方式來解決影片等特定於內容的查詢,從而促進無縫的用戶體驗。
結論
問題解決後,禮貌地結束互動並詢問是否有其他需要幫助的事情。
目的:指導機器人如何禮貌地結束交互,詢問是否需要進一步的幫助。
意義:在整個互動過程中保持專業和支持的語氣,並允許使用者在需要時繼續參與。
5. 額外說明
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
目的:演示連結到影片特定部分的格式,以幫助學生找到準確的資訊。
意義:提供了共享影片資源的清晰度,尤其是針對特定時間的教學內容。
*處理邊緣情況如果用戶提出一般性或不清楚的問題,請提示他們提供更多詳細信息,以便您可以提供更好的解決方案。
目的:透過提示使用者提供更多詳細信息,讓助手做好處理模糊或一般性詢問的準備。
意義:有助於避免混淆並確保助理能夠盡可能具體地解決使用者問題。
立即建置 AI 代理
Botpress 是一個完全可擴展的企業AI代理平台。
我們的一體化對話式 AI 平台即服務 (PaaS) 可讓公司建置、部署和監控LLM動力解決方案。
跨產業、用例和業務流程應用, Botpress 專案始終是可擴展的、安全的和品牌化的。
擁有超過 50 萬名用戶和全球部署的數百萬個機器人, Botpress 是公司和開發人員的首選平台。我們的高水準安全性和專門的客戶成功服務確保公司完全有能力部署企業級人工智慧代理。
透過使用適當的提示和工具定義有效配置自治節點,組織可以建立自主處理使用者互動的智慧代理。
立即開始構建。 它是免費的。