跳轉到
版本 v1.0.25

Lambda 工具

這個工具讓 Agent 呼叫一個 AWS Lambda 函式來完成特定動作,例如查詢內部系統、觸發某個處理流程。Agent 會依你定義的輸入格式,自動把需要的資料填好再呼叫。

這項偏技術

Lambda 函式與其輸入格式通常由工程或 IT 同事提供。若你不確定函式名稱或要填哪些參數,建議請他們協助。

開始前

你需要一個已部署、且平台有權限呼叫的 Lambda 函式(函式名稱或 ARN)。


設定步驟

  1. 在 Agent 的「自訂工具」中,新增一個「Lambda」工具。

    Agent「新增工具」選單,列出可加入的工具類型

  2. 填寫「名稱」與「描述」。

  3. 在「Lambda 函式指定方式」選擇「從 Lambda 函式資源選取」或「輸入函式名稱或 ARN」,再依選擇填入函式(見下方欄位說明)。
  4. (選用)設定「輸入結構」,描述 Agent 呼叫時要提供哪些欄位。

    新增 Lambda 工具的設定面板,依序為名稱、描述、Lambda 函式指定方式(已選「輸入函式名稱或 ARN」)、Lambda 函式名稱、輸入結構、預填輸入結構與逾時

  5. 儲存。


完整欄位說明

欄位 必填 預設 說明
名稱(Name) (無) 工具識別名稱,同一 Agent 內不可重複。
描述(Description) (無) 這個函式做什麼,Agent 靠它判斷何時呼叫。
Lambda 函式指定方式(Lambda Function Reference) 從 Lambda 函式資源選取 選擇怎麼指定函式:「從 Lambda 函式資源選取」(選一個已登記的 Lambda 函式資源)或「輸入函式名稱或 ARN」(直接填名稱或 ARN)。這個欄位一開就有預設值,不改也可以,所以標籤旁沒有紅色 *
Lambda 函式(Lambda Function) 條件(是) (無) 當指定方式為「從 Lambda 函式資源選取」時出現,選擇一個已建立的 Lambda 函式資源。挑選對話框裡請點該列「名稱」以外的任一格來選取,點「名稱」會另開分頁進到該資源的詳細頁、不會選取它(見資源挑選欄位)。
Lambda 函式名稱(Lambda Function Name) 條件(是) (無) 當指定方式為「輸入函式名稱或 ARN」時出現,直接填 Lambda 函式名稱或 ARN。
輸入結構(Input Schema) 不需輸入 描述 Agent 呼叫時要自己填哪些輸入欄位;是一張逐列填寫的表格(見下方說明)。未設定時視為不需輸入。
預填輸入結構(Base Input Schema) 不需輸入 和「輸入結構」長得一樣的四欄表格(名稱/類型/必填/可空),但用途相反:這裡列的欄位不是交給 Agent 填,而是由你自己在對話畫面的「對話設定」一次填好,之後每次呼叫都自動帶入(見對話設定)。適合放每次都一樣的固定值,例如所屬部門、語系。
逾時(Timeout) 60 等待 Lambda 函式回應的最長秒數,範圍 1–900 的整數。超過此時間該次呼叫即逾時失敗,且不會重試。建議設為不低於 Lambda 函式本身設定的逾時時間,否則平台會比函式先放棄。清空後離開欄位會自動填回預設值 60。
顯示名稱 / 標籤 (無) 顯示名稱(Display Name)與標籤(Tags),位於進階設定。

「描述」決定 Agent 會不會用對工具

Agent 是靠每個工具的「描述」(Description)判斷何時、該不該用它。描述寫得越清楚具體,Agent 越能在對的時機正確使用;寫得太籠統,可能該用時沒用、或用錯場合。建議寫明這個函式做什麼、回傳什麼、什麼情況下該呼叫。

「輸入結構」是什麼、怎麼加一列

「輸入結構」定義「呼叫這個函式時要提供哪些資料」。畫面上是一張有「名稱」「類型」「必填」「可空」四欄的表格,預設沒有任何一列

要新增,點表格下方的紫色 +——注意它不是直接在表格裡加一行讓你打字,而是會跳出一個「新增屬性」對話框,在裡面填好再按「儲存」,那一列才會出現在表格上。對話框的欄位:

「新增屬性」對話框的欄位 必填 預設 說明
類型 字串 這筆資料的種類,七選一:字串(純文字)、數字(可含小數)、整數布林值(是/否)、陣列(可重複的多筆)、物件(鍵值結構)、檔案
名稱 (無) 這個輸入欄位的名字,例如 order_id。要與函式實際接受的名稱一致。
必填 關閉 開啟代表呼叫時這欄一定要有值,不能漏填。
可空 關閉 開啟代表這欄允許留空值(沒有內容也可以)。

對話框底部還有一個「進階設定」,可再填「標題」、「描述」、「預設值」等選填細節(實際欄位依「類型」而異),一般情況不必動。表格上每一列右端有 ,可再編輯或刪除該列。

這些值通常由提供函式的工程同事一併給你,照著填上即可;不確定就請他們提供。Agent 會依此自動把資料準備好。API 工具 的「輸入結構」用的是同一張表格與同一個「新增屬性」對話框,填法完全相同。


對話設定(Chat Setup)

有些 Lambda 函式每次呼叫都需要一組固定的基礎輸入(例如所屬部門、語系、預設參數)。你不必每次對話都請 Agent 重填,可在對話畫面用「對話設定」一次設定好,之後該工具的每次呼叫都會自動帶入。

  • 入口:在與 Agent 對話的畫面,點輸入框最左邊的 動作選單,選裡面的 「對話設定」。這一項只有在這個 Agent 掛了 Lambda 工具時才會出現,所以在沒掛 Lambda 工具的 Agent 上找不到它是正常的。選單的其他項目見與 Agent 對話 — 輸入框的按鈕
  • 作用:這裡填的值會注入到每次該工具呼叫的輸入,並儲存為這個 Agent 的個人預設值,下次開新對話會自動帶入。
  • 必填欄位:若工具的「輸入結構」有必填欄位尚未填寫,對話設定會被強制開啟、且無法取消,並提示「開始對話前需先完成必填欄位。」。填妥後才能開始對話。
  • 輸入結構變更時:若這個 Agent 的 Lambda 工具輸入結構之後有調整,下次開新對話會自動跳出對話設定,請你重新確認或補填,確保帶入的預設值仍然正確。

對話設定是「個人預設」

對話設定儲存的是你自己對這個 Agent 的預設輸入,方便每次對話沿用;它不會改動 Agent 本身的工具設定。

實際效果

設定好之後,當使用者的問題需要這個函式,Agent 會依「輸入結構」把資料準備好、呼叫 Lambda 函式,再用回傳結果作答。對話中會以可展開的卡片顯示 Agent 傳入的輸入與函式回傳的結果,再依結果整理出回答。

本頁沒有執行畫面的截圖——請這樣自行判讀

這個工具要接上你自己的 Lambda 函式才會有結果,畫面上出現什麼完全取決於該函式回傳什麼,所以本頁不放截圖。設定完成後,在 Agent 的對話中問一個相關問題,點開回覆上方的「顯示思考過程」(見與 Agent 對話),用下面三種情況對照,就能判斷是正常還是哪裡沒設好:

  • 正常:時間軸會出現一張「使用 <你在「名稱」填的工具名稱>…」卡片,點開看得到 Agent 這次送出的內容;緊接著一張「接收 …的查詢結果」卡片,裡面是回傳的資料。最後才是整理過的回答。
  • 卡片出現了,但結果是空的或紅字錯誤:代表工具有被呼叫,問題在連線或權限(例如函式名稱打錯、平台沒有呼叫權限、函式自己執行失敗),而不是你的 Agent 設定。把卡片裡的錯誤訊息整段複製給負責這個系統的工程同事看,最快。
  • 完全沒有工具卡片:Agent 根本沒想到要用它。這幾乎都是「描述」寫得不夠具體——回到工具設定,把「描述」改成明確寫出「這個工具查什麼、什麼情況下該用」,再重開一段新對話試一次。

下一步