大部分提示工程都着重準確度和指示的涵蓋範圍。要在生產環境取得最大改進,關鍵是把對話本身視為核心設計問題。
訂明觸發條件與行動意圖,是引導模型如何作決定,而不是給它一套無法擺脫的腳本。內容在提示詞中的位置,本身就是一項指示。身份放在最前,行為細節放在中間,硬性限制放在最後;任何真正關鍵的內容則在首尾兩處列明。
直接以目標語調撰寫提示詞,而非描述這種語調,是最具影響力的改變之一。
最連貫一致的智能代理,會透過提示詞將不同對話時刻視為各有合適形式的獨立互動,同時自始至終保持可辨識的一致語調。
在某些情況下,把負責思考與負責發言的智能代理分開,可產生更連貫、更有依據的回應,並防止內部推理外洩至回覆。
我們早前根據語言學和認知心理學領域的見解,介紹了一套新的提示範式。我們曾探討建立清晰而界線分明的問題空間有多重要,讓智能代理可在其中運作;這個問題空間亦須涵蓋面向客戶的 AI 所固有的對話元任務。
現在,我們將看看為了把這些原則投入生產環境,提示詞在實務上開始出現哪些變化。
在面向客戶的實際系統中,經歷數百次提示詞迭代後,我們發現最顯著的改進並非來自加入更多指示、堆疊示例,或遵循典型的提示工程慣例。相反,改進源於把對話視為問題的核心。
經過持續探索和測試,我們歸納出多項有效技巧。我們會修改提示詞,觀察對話在哪裏成功或失敗,再追溯失誤是否源於指引效用、提示詞結構或語言運用。最終形成了數種可重複運用的模式,改變智能代理如何理解自己在對話中的職能、如何決定下一步,以及如何在不斷轉變的語境中維持一致語調。
以下內容並非通用框架,也不是宣稱提示方法已經「徹底解決」。這五種模式提煉自在生產環境中經得起考驗的方法;其目標不只是功能準確,更是改善對話,讓回應連貫、自然且足夠一致,能夠承載品牌形象。
智能代理式系統有許多建構方式,而由多智能代理協調的工作流程仍然普遍。特別是在這類系統中,我們所作最穩定有效的改進,就是把負責思考與負責對話的智能代理分開。
意圖協調、分類、知識擷取和工具使用,全都屬於後台操作。面向客戶的回應則屬於前台。如果同一智能代理在同一輪互動中兼顧兩者,內部推理和邏輯便可能外洩至回覆。回應會變得含糊保守、附帶過多限定,或依照處理流程的邏輯組織,而不是以對方的需要為中心。


單是這項限制,已發揮了意想不到的作用。它讓回應立足於實際對話,避免語境重設,並產生更接近我們所稱「只交付差異」的效果。說到底,智能代理只會加入最少而確實能推動用戶前進的新資訊。
決定給予哪一類回應也同樣重要。我們發現,要求負責發言的智能代理先選擇行動類型——回答、澄清、改導或等候——然後才撰寫內容,能可靠地減少最常見的對話失誤:問題不在文句欠佳,而是整個回應方向錯誤。
值得注意的是,在適當條件下,最新的前沿模型已開始挑戰這種模式的基本前提。儘管如此,不少開發者基於各種原因,仍會採用較小型或較舊的模型;在這些情況下,我們確實建議將後台與前台的工作分開處理。
對非推理模型而言,少範例示範之所以有效,是因為它們具體、快捷,而且模型能作出良好回應。問題在於過度擬合。只要給模型一個示例,它就會緊抓示例的用詞、節奏和形式,即使情況已經改變,仍不斷產生非常相似的回應。
你無意中寫出了一套模型無法擺脫的腳本。
執行意圖或啟發式規則是更持久可靠的替代方案。我們不會向模型示範在特定情境下要說甚麼,而是提供適用範圍更廣的觸發條件與行動組合:如果發生 X,就執行 Y。
關鍵分別在於,我們不會逐一加入示例,把 X 和 Y 的範圍越收越窄、變得日益僵化;而是以極其精確的指示,為兩者劃定清晰界線,令示例變得多餘。這讓智能代理能靈活回應真實對話中的變化,而非按照範本配對模式。
實際運用時,這些內容不像示例,反而更像可執行的經驗法則:
如果缺少關鍵資料,提出一條澄清問題。
如果答案缺乏依據,直接說明,並提出當下最可行的下一步。
如果要求觸及防護限制,簡短拒絕並直接引導至其他方向。
這種做法並不華麗,卻遠比一套示例回應庫穩健,因為它教模型如何作決定,而不是要重複甚麼。
內容在提示詞中的位置,會影響其權重。我們在不同模型和部署環境中,都持續觀察到這種模式。提示詞的開首和結尾格外顯眼。中間部分用來承載細節,而細節本來就應放在那裏。
我們會按這項原則編排提示詞。智能代理的職能和自我認知放在最上方,先確立身份,再處理其他內容。中間部分承載行為細節:對話可能如何發展、引導回應的啟發式規則,以及智能代理需要處理的各種情況。硬性限制和不可妥協的要求放在最下方,讓模型在回應時優先顧及。
任何真正關鍵的內容,我們都會在首尾兩處列明。特定輸出規則——例如有關標點或格式的明確指示——如果只在內容密集的提示詞中間出現一次,往往會被忽略。在結尾重申,規則便能維持效力。
談到近因效應,值得注意的是,使用結構化輸出內容時,它實際上就是提示詞的最後一項指示。結構化輸出內容中的描述欄位會實質影響回應,形成比提示詞其他部分更有力的輸出約定。


我們了解到,就連語調也不應使用少範例示範;這是我們為面向客戶的智能代理所作、影響最深遠的改變之一。
相反,我們會以目標語調撰寫整個提示詞。不是描述這種語調,也不是列出一組大致相符的形容詞,而是從第一行到最後一行,都以完整行文直接呈現這種語調。提示詞本身就是示範。我們稱之為「反腳本化」:引導模型模仿輸入,同時容許它採用更廣泛的語言和措辭,只要仍與提示詞本身屬於同一風格範圍。
我們正是以此提示智能代理,在一致的語調中展現變化。這是我們將對話置於任何智能代理任務核心的策略之一,毋須耗費篇幅給予明確指示,而我們正盡量減少這類指示。
如果我們確實會就語調提供明確示例,這些示例會說明「不應怎樣做」。例如:「絕不使用破折號。不用陳腔濫調。不傾倒政策內容。一句話足以完整回應時,不作過度解釋。」負面限制既比正面期望更精確,也較少束縛,因為它們直接點出模型最容易偏向的失誤模式。
格式在這裏同樣重要,也會為回應定下基調。充斥項目符號、標題和括號指示的提示詞,會引導模型產生更有條理但較冷峻的輸出。如果輸出要像自然對話,輸入就不應像一份速記式規格文件。
大部分有關語調的提示最終都只聚焦於個性。也就是提供一組形容詞,描述智能代理說話時應有的感覺。親切。專業。友善但精簡。這些描述並沒有錯,但真正決定一種語調在對話中給人甚麼感受的,是語域:同一套基本特質在不同社交情境下會如何表現。
處理查詢期間顯示的等候訊息,不應像最終答案。觸及防護限制時的回應,不應與閒談帶有相同的情緒和活力。面對感到挫敗的客戶,不應像對待隨意瀏覽的客戶那樣展現同等程度的風趣或幽默。


這就是品牌語調與對話設計之間的分別。品牌語調通常描述特質;對話設計則決定這套特質如何因應情境轉變而表現。要把這件事做好,就表示我們不只是為 AI 輸出撰稿的文案人員。我們設計的是一種語調如何貫穿整段對話。
你會發現,這些模式在技術上都不複雜。這正是重點之一。智能代理式系統的架構固然重要,但要提升對話質素,就必須投入大量時間設計和改良提示詞。
純粹實用的 AI 與真正善於對話的 AI 之間,差距並非靠技術設計收窄,而是要更清楚理解語言和注意力在人類對話中如何運作,並將對話置於智能代理所面對問題空間的核心。
對 AI 產品團隊、工程師和體驗設計師而言,面向客戶的 AI 對話設計,應像追求卓越技術一樣嚴謹。對話另一端的人看不到模型、多智能代理協作或工具調用——他們只會感受到一次自然合宜或不自然的互動。這次互動不是建立信心,就是削弱信心。
歸根究柢,沒有人會體驗到背後的架構。他們體驗到的是對話。
對話就是產品。