Agentforce的Agentforce代理角色設定
設計代理個性, 並編碼至Agentforce
設計代理個性, 並編碼至Agentforce
作者:Nathan Lucy
,代理式體驗專家
協作者:Matias Manuel Fonseca
· Claude Sutterlin
每一次Agentforce的互動,都是品牌互動。若代理的語調千篇一律、不自然或前後不一致,使用者會感到煩燥挫敗,信任度也會越來越低。
無論您是設計師、架構師或管理員,本指南都能提供嚴謹的架構,協助您設計、校正及部署獨特的代理角色設定,確保代理在每次對話中都能展現品牌的專屬態度。本指南涵蓋Agent Script及舊版Agentforce Builder的角色設定編碼方式。
只需幾秒鐘,使用者就能為對話式代理賦予個性。如果沒有刻意設計,代理的語調可能會顯得平淡、「不對勁」,甚至令人反感。大多數使用者都有AI代理以外的替代選擇,因此,代理的表達方式會影響使用者是否願意採用。當您的代理能持續地自然應對時,就能建立信任並提高採用率。發展順序如下:
這個連鎖關係很容易中斷。但「自然」究竟是什麼樣子?
假設某家電信公司的客服代理遇到以下情況。使用者寫:「這已經是我第四次為了這個帳單問題聯絡你們了。我不想再解釋了。今天不把問題處理好,我就換電信公司。」
三個不同代理的回應如下:
代理A:「我完全理解您的不滿,也很抱歉讓您覺得自己被一再推託。任何人都不該這麼辛苦地解決問題。我來找出您的案件,接下來交給我處理。」
代理B:「哎呀—很抱歉您有這麼糟糕的體驗!😳 我現在就調出您的案件,把這件事全部處理好。謝謝您的耐心!」
代理C:「我們來把這件事處理好。我正在調您的案件。」
哪個回應恰到好處?哪個回應聽起來很自然?這些問題應該在代理上線前就有明確答案。如果沒有刻意設計代理角色,模型只能自己決定答案。
不同品牌的「自然」可能大相逕庭。請思考您的代理會如何以動態歡迎訊息迎接再次光臨的客戶:
設計內部代理時,您必須對員工體驗負責。請利用角色設定,取代千篇一律的「大型語言模型腔」。誰都不想遇到只會狂丟「若有其他需要協助之處,請再與我聯絡!」訊息的代理。
精心設計的角色設定能帶來下列明確效益:
從說明必要的情境資訊,到邀請主要關係人參與,下列原則會引導您完成初始設定。
情境優先:定義身分前,請先說明必要的情境資訊:這是間什麼樣的公司、代理的服務對象(員工、客戶或合作夥伴),以及互動形式(聊天室、電子郵件、電話或多模態)。
邀請關係人參與:諮詢法務、品牌及體驗團隊。根據這套架構提出問題。一起設計代理的身分及審查對話範例。
起步精簡:設計生成式行為需要反覆調整。先從少數幾個定位明確的指示開始,然後進行測試。再根據需求增加細節。
明確設定立場:指示越具體,輸出就越一致。可靠的角色設定必須具備明確的觀點。
撰寫積極正向的指示:太多的禁止事項可能會過度限制代理。試著以積極正向的方式改寫指示。只加入必要的否定指示。
完整性:這套架構只是指南,並不是規則手冊。您可以彈性結合各種面向、自創核心價值或推翻限制,一切取決於角色設定的需求。重點在於審慎決定所有要素:您的代理是否有幽默感?是否會嚴格要求標點符號用法?
代理角色設定:一套經過設計的個性,讓AI代理知道自己的定位及表達方式,以便自然呈現符合情境及使用者需求且前後一致的角色
這個定義需要內容豐富的角色設定指示。常見的「你是一個樂於助人的AI助理……」並不夠。此架構會定義代理的身分(核心特質與動機)及面向(語調、幽默感等可個別調整的個性特質)。
從身分開始。以三到五種個性特質作為角色設定的基礎,以便用來定義代理是什麼樣的「人」,同時形塑及限制其他所有要素。各個特質間可以有反差與張力,但絕不能前後矛盾。請思考身分特質如何定調不同代理:
| 代理 | 個性特質 | 有效原因 |
|---|---|---|
| Luna(豪華渡假村客服) | 細心、冷靜、得體、善於應變、審慎 | 象徵尊榮細緻的服務風格,面對壓力依舊泰然自若、絕不慌亂,並且總能預先設想所有可能 |
| Y.T.(D2C電動滑板訂單管理) | 直率、堅韌、性急、忠誠、圓融 | 呈現不拘小節的語調,省去客套、直接完成工作,而且不裝熟 |
| Striker(SaaS銷售教練) | 果斷、分析力強、主動積極、坦率 | 塑造出主動推進、以資料為依據、主動指出盲點,而且絕不被動等待指令的協作夥伴 |
| Bluebonnet(區域房地產潛在客戶開發) | 好奇、親切、真誠 | 打造出能透過對話評估潛在客戶資格的代理,雖然能提出切中要害的問題,卻不會讓人覺得受到盤問 |
每個特質都會搭配生動具體的定義,藉以引導出具體的對話行為。以Striker為例,果斷可定義如下:
提出明確建議,而非列出一堆選項。當資料指出特定方向時,就不繞圈子地明確指出。不使用模稜兩可的說法。說明理由之後就進入後續步驟。即使與銷售代表的意見相左也沒關係,代理必須始終保持明確立場。
至於Luna,得體可定義如下:
即使面對壓力,每次互動都依然從容。先回應,再處理問題。絕不唐突,也不流於形式,無論是例行性的地址變更,或是複雜的升級案件,都同樣細心處理具體表達感謝,不會變成表面功夫:使用「謝謝您的詳細說明」,而非「感謝您與我們聯絡!」
身分特質不僅會影響代理的溝通方式,也會影響思考與推論的邏輯。請務必謹慎地設計這些特質。
決定代理的用語應展現多少角色特色。對於AI系統應該表現得多像人,目前有十分熱烈的討論 ,代理擬人化也可能造成問題,像是讓使用者產生不切實際的期待:如果代理像人一樣說話,使用者可能也會期待代理像人一樣推理。
有時,代理反而應該刻意保持乏味無趣。ATM或售票機的交易型代理應該留在幕後,不引人注意。這類代理的用語功能明確且可預測,能讓使用者注意到代理做了什麼,而不是說話的方式。這是「會說話的系統」:對話是互動層,不是展現個性。
情境最重要。假設有個語音代理,任務是透過電話語音管道處理煩躁受挫的來電者。獨特另類的個性對來電者的感受產生什麼影響呢?
先在系統層級調整代理的個性強度,再根據情境靈活調整語調,像是在處理升級問題時停用幽默表達。
決定您的代理是否真的需要名字。擬人化的代理適合擁有名字,但交易型代理有了名字後,反而會分散使用者的注意力。仔細考慮要用「Alexa」或「Claude」這類完全是人類的名字,還是像「Cortana」這種有人類感又帶著科技人工感的名字,或是只用「客戶支援代理」的功能性描述即可。
一個好名字,能將代理的身分特質濃縮到單一詞彙內。名字甚至能在對話開始前塑造出第一印象。發想名字的方法有很多,一個好的名字可以包含下列特色:
Tech_Assist_Agent_v2_Internal_Test不是角色名稱,請勿使用API名稱作為顯示名稱將這些面向想像成樂器上的弦。每根弦都能演奏出一系列不同的音符。如果要演奏出悅耳的和弦,就必須分別調整每根弦,並且選擇合適的音符組合。較高層級的面向選擇,會影響及約束較低層級的面向。
| 面向 | 定義 | 範圍 |
|---|---|---|
| 註冊 | 代理與使用者之間的關係模式 | 下屬·同儕·顧問·教練 |
| 正式程度 | 代理用語的潤飾與結構化程度 | 正式·專業·輕鬆·非正式 |
| 親和力 | 人際互動的溫度:代理讓使用者感受到的親切友善程度 | 冷淡·中性·親切·開朗·熱情 |
| 個性強度 | 呈現多少角色特質 | 內斂·溫和·鮮明·大膽 |
| 情緒色彩 | 代理的情緒立場及確定性的處理方式 | 直白·冷靜·中性·鼓勵·熱情 |
| 同理程度 | 處理感受的方式 | 極低·含蓄·適度·敏銳 |
| 簡潔程度 | 回應長度及資訊密度 | 極簡·精簡·適度·詳盡 |
| 幽默感 | 幽默的類型(如有) | 無·冷面·風趣·俏皮 |
| 表情符號 | 視覺表達方式 | 無·功能性·情緒表達 |
| 格式設定 | 文字結構 | 無格式文字·局部強調·豐富格式 |
| 標點符號 | 標點符號風格 | 保守·標準·強調 |
| 大小寫 | 大小寫慣例 | 標準·隨意 |
以下選用清單可提供指引及安全機制規範。前兩項用於補充身分。其他項目則用於處理具體措辭及安全機制。
價值觀:代理的信念:也就是代理的世界觀與核心動機。每個價值觀都是一種信念,並且會產生可觀察的行為。例如,當代理的價值觀是「品質比價格重要」時,應該推薦合適的產品,而不是價格最低的產品。
負面認知:角色層級的反面性格。每項陳述都是代理絕不可成為的角色類型,而非行為規則。例如,銷售教練代理應「非悲觀主義者:認為問題都有辦法解決」。
安全機制:確保代理知道溝通內容的界線。舉例來說,「切勿提供醫療建議。」
禁用語句清單:明確禁用特定語句,可覆寫模型的訓練預設值。「這問題很好!」或「我很樂意提供協助」等詞句會呈現千篇一律的助理行為,讓代理破壞自己的角色。目前,禁用語句清單是最可靠的行為限制。即使其他角色設定要素在壓力下逐漸弱化,禁止事項通常仍能維持效力。
語句集:代理的標誌性語句:有代表性的確認語句、話題轉向、過渡語句及標誌性措辭。
詞彙表:代理使用的品牌及特定領域詞彙,並附上簡要定義:品牌名稱、產品系列及其他通用詞彙。
這樣一來,您就完成了代理角色設定。接下來該做些什麼?
本節將逐步說明經過測試的Agentforce設定策略,讓代理依照您的想法運作。
建立新代理時,建議使用Agent Script。本指南也為仍在使用舊版Agentforce Builder的團隊提供編碼指引,並在加以標示。無論使用哪個工具,都請將角色設定指示分為一個全域角色設定區塊、子代理校正層及靜態訊息。
大部分的角色設定內容都應放在全域指示中。全域指示會在每次對話中套用代理的基準身分及面向。
| 代理編寫工具 | 全域指示的設定位置 |
|---|---|
| 代理腳本 | .agent檔案中的system.instructions |
| Agentforce Builder (舊版) | 建立一個API名稱為Global_Instructions的主題,定義Agentforce的系統層級行為。 |
如果角色設定的一致性為最優先的考量事項,建議使用Agent Script。在舊版Agentforce Builder中,約500字的全域角色設定區塊可在長時間工作階段內維持良好的一致性。Agent Script可提高對輸出的控制力,因此更能穩定維持角色設定。system.instructions會被視為核心邏輯,而非與對話記錄競爭的情境資訊,因此角色設定指示不會隨著對話次數增加而逐漸淡化。Builder的角色設定偶爾會逐漸偏向中性。相較於Builder,Agent Script能更穩定地維持否定限制。語域也更加穩定。
認識一下Drover,這是為銷售教練代理設計的不苟言笑澳洲牧場主角色設定。以下的Drover全域指示節錄內容,在任一工具中皆適用:
你是Drover,負責協助企業客戶AE的內部銷售教練。你能瞭解
交易,就像牧場主瞭解澳洲荒野一樣,發現他人忽略的細微跡象,並以
從容自信的態度說出殘酷事實。
身分:直覺、堅毅、務實、善於重建觀點、沉穩。
語域:顧問。開門見山地提出建議及說明理由。由
銷售人員做出決定。資料明確時,絕不使用模稜兩可的說法。
語言風格:隨性但得體,多用簡寫或縮寫、短句,不使用企業術語。
中性親和度,以專業能力展現關懷。個性大膽,使用隱喻、
獨特措辭及超高辨識度的表達風格。
情緒色彩:中性。以事實陳述結果。不加以戲劇化。
同理程度:含蓄。簡短表示理解,然後馬上開始行動。
簡潔程度:簡潔。每句話都有其地位。
幽默感:冷面。含蓄,絕不勉強。發生錯誤或問題升級處理時停用幽默表達。
對話風格:使用功能性表情符號(✅❌⚠️表示狀態)。選擇性使用
格式設定。使用強調式標點符號。使用標準大小寫。
語調界線:絕不使用道歉語氣。絕不使用企業腔。絕不
淡化壞消息,會直接說明,再指出後續方向。
禁用語句:「這個問題很好!」、「我很樂意提供協助」、「如果還需要
其他協助,請告訴我」、「今後」。
語句集,確認語句:「好。」/「記住了。」轉向用語:「不歸我
這裡管,請找[團隊]加入處理。」進度:「進展不錯。」
注意:在Agent Script中,指示內容一律必須使用|(字面量區塊純量)指示符號。如果未使用此符號,簡潔程度:適中…等行將剖析為YAML鍵值組,而非指示文字。
子代理是代理可以執行的工作。子代理層級指示會根據全域指示所設定的基準進行調整。這些指示不會重新定義代理的身分。而是進一步微調及校正角色設定。子代理指示與全域指示衝突時,模型會加以協調,而非直接覆寫:模型會將全域指示視為核心身分,並將子代理指示視為情境調整。子代理會引導代理執行的工作,以及代理在特定情境中的調整方式。
| 代理編寫工具 | 子代理指示的位置 | 行為 |
|---|---|---|
| 代理腳本 | 各子代理內的reasoning.instructions |
延伸全域system.instructions |
| Agentforce Builder (舊版) | 各主題中的指示欄位 | 延伸Global_Instructions主題 |
如果子代理需要截然不同的表達風格,您可能需要建立另一個代理。平台說明文件指出子代理層級的system:區塊會針對該主題覆寫全域system.instructions。只有角色設定大幅變更時才採用此方式,並請記得複製所有指示。進行一般的子代理層級校正時,一律使用reasoning.instructions。
實用的子代理校正項目包括:簡潔程度、語調彈性調整、慣用語句項目、幽默表達指引、詞彙表及提醒。
簡潔程度:不同的子代理需要不同的回應長度。
狀態檢查子代理:
簡潔程度:極簡。以一行表達狀態、使用表情符號表示運作狀態,不說明。
如果使用者提出後續問題,則予以回答,但不要主動提供使用者
未要求的情境資訊。
交易分析子代理:
簡潔程度:適中。開門見山地提出建議及說明理由。加入
支援的資料點。多因素分析時使用項目符號格式。
以單一項後續步驟作結。
語調彈性:情緒色彩與同理程度如何隨子代理情境調整。
問題升級處理子代理:
語調:將情緒色彩往鼓勵方向調整。將同理程度
往適中方向調整。簡短回應面臨的困難,接著指出後續
方向。絕不可淡化使用者的煩燥挫折感。
資料擷取子代理:
語調:維持中性的情緒色彩及含蓄的同理程度。
陳述結果,不加評論。信心程度標示在此最為重要,
標明哪些是已確認的資料,哪些是推論資料。
語句集項目:與此子代理相關的情境用語。
幽默感指引:此子代理是否適合使用幽默表達,或應停用幽默表達。發生錯誤、問題升級處理或處於高風險情境時,一律停用幽默表達。
子代理詞彙表:將領域詞彙限定在適用範圍內。奢華名錶代理會使用「機芯」、「計時碼錶」、「機芯型號」及「複雜功能」等詞彙。這些詞彙應放在產品子代理而非出貨子代理中。在全域層載入專業詞彙會浪費情境空間,也可能導致代理在簡單的服務互動中過度使用術語。如果有相關的領域詞彙及使用注意事項,請在子代理的角色設定指示中加入Lexicon:區塊。
角色設定提醒:在子代理指示中加入簡短指令,提醒代理遵守全域角色設定。這些提示會強化角色設定,並減少代理在較長工作階段中偏離設定的情形。
此範例會在Agent Script中校正Drover交易分析子代理的各面向:
subagent deal_analysis:
description:「分析交易健康狀態並建議後續步驟」
reasoning:
instructions: |
簡潔程度:此子代理為適中。開門見山地提出建議及
說明理由。加入支援的資料。以單一項後續步驟作結。
語調:維持中性的色彩。如果交易存在風險,必須
明確指出,不要加以淡化。
詞彙表:可自由使用這些詞彙。使用者預期會看到這些詞彙。「關鍵決策事件」,促使使用者做出決定的壓力…
語言風格提醒:維持Drover的表達風格:寡言、直接、不說廢話。不說企業廢話。務實,根據情況回應。
在舊版Agentforce Builder中,|之後的文字應放在交易分析主題的指示欄位中。
代理的所有輸出都應符合角色設定,即使訊息並非由大型語言模型產生也不例外。根據角色設定的表達方式撰寫靜態內容。否則,使用者會看到毫無變化的文字或偵錯內容,導致代理破壞角色。
Agent Script |
Agentforce Builder (舊版) | |
|---|---|---|
| 名稱 | config.agent_name |
名稱(80個字元,保持簡短) |
| 歡迎 | system.messages.welcome |
歡迎訊息(800個字元,勿超過255個字元) |
| 錯誤 | system.messages.error |
錯誤訊息欄位 |
| 正在載入 | progress_indicator_message |
正在載入文字(依動作而定) |
| 確定性回應 | 在if/else區塊中以管道方式傳入文字 | N/A |
每個動作都應使用專屬的正在載入文字,因為這類文字能提高系統狀態的能見度,讓使用者知道代理正在執行什麼工作。
比較Drover和親切且專業的銷售教練Juno如何表達相同的訊息:
| Drover | Juno | |
|---|---|---|
| 歡迎 | 「我們要看哪個交易?」 | 「歡迎。我會協助您處理交易機會。有什麼需要我協助的嗎?」 |
| 錯誤 | 「出了點問題,再試一次。」 | 「我遇到了問題。請讓我再試一次。」 |
| 正在載入(調出交易) | 「正在調出資料…」 | 「正在擷取您的交易資訊……」 |
| 正在載入(執行分析) | 「正在分析…」 | 「正在分析您的銷售管道資料…」 |
| 確定性回應(找不到資料) | 「什麼都沒找到。檢查交易機會ID,然後再試一次。」 | 「我找不到相符的項目。可以請您再次確認交易機會ID嗎?」 |
以下為舊版Agentforce Builder專用欄位。若未謹慎處理,這些欄位可能會干擾編碼至Global_Instructions的角色設定。
用一到兩句話說明代理的功能。如果已設定Global_Instructions,請勿在Role中加入表達風格的角色設定編碼。這會讓角色的特質變得扁平。模型會將Role視為主要定調點,可能會因此覆寫Global區塊中更具體的規則,削弱獨特的表達風格,並降低語句集的遵循度。請將表達風格的編碼保留在Global_Instructions中。Role的內容應保持精簡。舉例來說:
你是一個虛擬客服代理,協助客戶追蹤及
管理訂單和退貨事宜。
Description可以用來編碼角色設定,大型語言模型也會讀取其中內容,但建議改用Global_Instructions。Description是要列出代理的目標及使用者的相關情境,較偏重於功能而非角色設定。
說明公司的業務、服務對象及與眾不同的特色。此欄位會形塑代理的參考框架。即使選用完全相同的面向,B2B SaaS公司的客服代理與奢華零售品牌的客服代理仍會呈現不同的語調,因為兩者所處的情境不同。
Tone下拉式選單是粗略的工具設定。大致對應於「語域+正式程度」。真正的角色設定會在全域指示中完成。
| 語調設定 | 大致對應 |
|---|---|
| 輕鬆 | 同儕語域、輕鬆或非正式的正式程度 |
| 中性 | 同儕、顧問或教練語域,以及專業的正式程度 |
| 正式 | 下屬語域,以及正式的正式程度 |
將下拉式選單設為符合預期語域的選項。設定不一致可能導致代理逐漸偏離角色設定,而語域是最先弱化的面向。Tone下拉式選單不只會影響表達風格,也會影響代理主動提出要執行的工作,不只是代理的說話方式。選取「正式」或「中性」可能會讓代理主動提出新增案例註解、更新案例狀態等標準動作。請測試以確保選取的設定能夠配合角色設定,而非與角色設定牴觸。
如果您要決定代理做什麼,這屬於代理設計。如果您要決定代理的表達方式,這屬於角色設定。API Name、Agent Type、Topics、Actions、Data Sources、Languages、Agent User:均屬於代理設計。
考量與預期
本指南提供代理角色設定設計的實務指引,而非規範性標準。角色設定設計的目的是要實現自然互動:為代理設計合適的角色,而非模擬真人。代理式AI領域正在迅速發展,代理角色設定及行為的最佳實務也會持續演進。
編碼模式以Agentforce目前的功能為基礎。隨著工具持續演進,編碼方式也會改變。這些技巧提供正確的整體方向,能讓代理在多輪對話中持續遵循角色設定。不過,大型語言模型生成輸出具有機率性,而且從角色設定指示到使用者所見輸出之間,還會經過很長的處理鏈。
請謹慎考量使用案例、客戶期望及組織需求,再套用這些模式。部署以面對使用者前,請全方位地測試角色設定行為,並盡早邀請法務、品牌及AI倫理團隊參與。
開始使用
代理角色設定是代理品質的基礎,也是推動採用的關鍵。這套架構為團隊提供設計代理個性時可共用的語言,以及經過測試、可將角色設定編碼至Agentforce的策略。
先從身分著手,也就是以數個特質定調代理的身分。接著調整各面向,形塑代理的表達方式。將角色設定編碼至全域指示、根據子代理需求加以校正,並依照角色設定撰寫所有靜態訊息。接著就要開始測試,而且不能只測試一次,應將測試加入持續改善代理的過程。
能夠贏得信任的代理,語調與風格都是刻意設計的成果。這就是代理角色設定可以給您的成果。
不需要。這些面向是供您選用的項目,不是必須全部完成的檢查清單。部分代理只需謹慎選擇少數幾個面向即可。重要的是每個決定都要有明確意圖。
系統提示是傳達機制。代理角色設定是設計成果,也就是可供品牌、法務及工程團隊審查、標示修訂及維護的結構化文件。此架構提供共同詞彙,讓團隊能在撰寫任何指示前先做出設計決策。
可在調整後套用角色設定,但不能直接複製貼上。為聽覺設計,與為視覺設計有根本上的差異。語音稍縱即逝。使用者無法「向上捲動」,再次查看忘記的內容。語音管道需要更短的句子、更簡單的結構,以及自然的說話節奏。文字管道則可運用格式設定、表情符號及視覺層次。
要。內部代理會影響員工對組織工具及文化的體驗。語調一成不變的內部代理,會讓人逐漸忽略代理。應根據組織文化設計合適的內部角色設定,就像外部代理反映品牌特色一樣。
測試顯示,如果設定全域指示後,又在Role欄位中加入表達風格的角色設定編碼,會讓角色的特色變得扁平。模型會將Role視為主要定調點,可能會因此覆寫Global區塊中的具體規則。Role應僅說明功能,並保持精簡。
本指南是在下列同事的指導與支持下才得以完成:
代理角色設定架構整合多個已出版資料來源的概念,形成原創的AI代理角色設定設計系統。
Conversation Design Institute(CDI) :刻意設計角色設定的基礎原則,包括幻想性錯覺效應、強調自然且一致的回應、身分及語域。
Nielsen Norman Group (NN/g):針對UX撰寫的表達風格與語調所進行的研究、表達風格(持續不變)與語調(隨情境調整)之間的區別,以及用來形塑面向界線的可用性經驗法則。Kate Moran,《The Four Dimensions of Tone of Voice 》更新於2023年。
Amazon Alexa設計指引 :語音管道參數(音調、語速及活力程度),以及語音專用的角色設定考量。
Google對話設計指引 :角色設定定義、錯誤處理模式,以及對話介面中轉換的相關原則。