閱讀英文

共用方式為


代理程式和 Copilot 如何與 LLM 搭配運作

代理程式和 Copilot 都會以智慧方式叫用外部功能,例如傳送電子郵件,擴充 LLM 的功能。

  • 代理程式是一種人工智慧,可回答問題以及為使用者將流程自動化。 代理程式可以判斷哪些函式符合使用者目標,然後代表使用者呼叫這些函式。
  • Copilot 是與使用者並肩作業的代理程式類型。 Copilot 有別於代理程式,並非完全自動化,而是依賴使用者互動。 Copilot 提供提議和建議,協助使用者完成工作。

例如,假設您要建置電子郵件聊天協助程式應用程式。 除了 LLM,您還需要外掛程式執行電子郵件相關動作,以及用於搜尋、摘要、判斷意圖等的外掛程式。 您可以使用原生函式現成外掛程式,以及自己的自訂外掛程式

建立外掛程式只完成一半工作而已:您還必須在正確的時間叫用正確函式,但這個流程可能容易出錯且效率不彰。 代理程式可以處理得更好。

代理程式會自動決定,LLM 為了達成使用者目標可使用的函式順序。 例如,假設您有一個聊天應用程式,可檢閱新的收件匣項目,並且決定每個專案所需要的動作。 如果您設定代理程式,它可協調必要的外掛程式函式,並且自動執行步驟。

代理程式的元件

每個代理程式都有三個核心建置區塊:角色、外掛程式和規劃工具。

  • 角色決定代理程式回應使用者或執行動作的方式。
  • 外掛程式讓代理程式從使用者或其他系統擷取資訊。 您可以使用預先建置的外掛程式和自己的自訂外掛程式。
  • 規劃工具讓代理程式規劃如何使用可用的外掛程式。

角色

代理程式的角色是其身分識別:代理程式使用的任何外掛程式和規劃工具都是工具,但角色會決定它如何使用這些工具。 您可以使用提示中的指示建立代理程式的角色。

例如,您可以使用指示告訴代理程式,它正在協助管理電子郵件,並在它做決策的當下提供說明。 您的提示可能如下所示:

prompt = $"""
    <message role="system">
    You are a friendly assistant helping people with emails.
    When you decide to perform an action, explain your decision and then perform the action.
    </message>
"""

外掛程式

您可以使用外掛程式執行 LLM 無法單獨執行的工作,例如從外部資料來源擷取資料,或是完成真實世界中的工作。

例如,LLM 無法傳送電子郵件,因此若要將該函式新增至聊天應用程式,您必須建立外掛程式。 若要處理電子郵件的文字,您可以使用核心外掛程式,例如 ConversationSummaryPlugin

請務必清楚記錄外掛程式中的函式,規劃工具使用這項資訊判斷有哪些函式可供使用。

規劃工具

規劃工具可分析可用的函式,並想出其他方法來達成目標。

呼叫外掛程式函式未必始終都能發揮效率。 例如,假設您想加總 1 到 100 的數字。 您可以呼叫數學外掛程式,但 LLM 必須個別呼叫每個數字。

此外,達成目標的最佳函式順序和組合取決於詳細資料。 例如,假設您正在建置電子郵件聊天協助程式應用程式,因此您包含支援傳送電子郵件的外掛程式。 不過,某些電子郵件可能需要不同的動作,例如不需要傳送回覆的會議要求,但必須新增行事曆項目。 規劃工具會查看所有可用的函式,並想出有效率的方式來達成目標。

Copilot 新增使用者互動

流程自動化有許多優點,但有時使用者必須在過程中做出決策。 代理程式無法自動執行使用者動作。 Copilot 正好能派上用場。

電子郵件聊天應用程式中的代理程式,可能產生下列傳送電子郵件的計劃:

  1. 取得使用者的電子郵件地址與名稱
  2. 取得收件者的電子郵件地址
  3. 取得電子郵件的主題
  4. 產生電子郵件的主旨和本文
  5. 傳送電子郵件

很實用,但如果使用者不喜歡電子郵件本文呢? Copilot 會將使用者互動步驟新增至計劃:

  1. 取得使用者的電子郵件地址與名稱
  2. 取得收件者的電子郵件地址
  3. 取得電子郵件的主題
  4. 產生電子郵件的主旨和本文
  5. 與使用者檢閱電子郵件,並進行調整
  6. 傳送電子郵件

語意核心聊天 Copilot 應用程式

若要開始使用 Copilot,請改用語意核心聊天 Copilot,這是使用 AI 代理程式建置聊天體驗的參考應用程式。