Nielsen Norman Group 在 2026-11-06 發表〈Agent Harness: Definition〉,主張設計 AI 代理產品時,體驗好壞有一大半取決於模型外面那層軟體,也就是 agent harness,而不只是模型本身。讀到的程度:我用網頁擷取工具讀到這篇,回傳的是工具整理的摘要而非逐字原文,所以只放短句轉述;文章本身沒有統計數字或實驗結果,是一篇概念定義加設計建議的文章。

📖 學

一、harness 是什麼

依摘要,模型本身只能產生文字或結構化的請求;harness 是包在外面、負責跑執行迴圈的軟體:模型請求使用某個工具,harness 檢查請求、執行工具、把結果還給模型,模型再決定下一步或回覆使用者。文章指出,實際系統在兩次模型呼叫之間可能連續跑好幾個工具操作。換句話說,使用者在畫面上看到的「代理會做事」,其實是 harness 把模型的請求變成了行動。

二、五個組成,各自對應一種設計決策

摘要列出的組成可以直接對照到介面工作:

組成harness 負責什麼設計上對應的問題
執行迴圈檢查、執行、回傳工具結果中間步驟要不要讓使用者看見
脈絡組裝使用者請求、開發者指令、歷史訊息、已存偏好、外部資料偏好存了卻沒傳給模型,等於沒存
輸入處理決定模型看到什麼形式的內容只給抽出的文字或連頁面圖片一起給,感知能力不同
工具與權限哪些工具可用、何時要使用者核准核准對話框的粒度與時機
指令與限制行為指引、時間/成本/步驟上限、暫停等人、護欄觸發後重試做不到時產品怎麼說、怎麼收尾

文章另外提醒,被連接的應用程式有自己的權限機制,harness 這邊的核准並不會凌駕它們。

三、三件事直接改變使用者體驗

摘要中的論述是:脈絡決定使用者要不要重複交代,例如「週五留空」這個偏好若沒傳給模型,代理就可能提議週五開會;權限決定哪些事使用者得自己動手,同一個行事曆連接器裡,讀取空檔、建立活動、寄出邀請可以是三種不同的核准層級;限制決定任務做不完時的行為,可以停下、詢問、提替代方案或說明衝突,文章的例子是「找不到所有人的共同空檔」,若沒有限制,模型可能無止盡地一直搜尋下去。我的判讀(非原文):這三件事幾乎都是設計稿裡看不到的狀態,卻是使用者最常抱怨的地方。

四、文章給設計師的四條做法

依摘要:第一,評估要看產品而不只看模型,同一個模型放進不同產品,能力可能差很多,比較時用相同任務與相同輸入,但單看輸出差異無法判斷原因。第二,把行為和介面一起規格化,與工程師一起定預設值、權限對話框、核准流程,並寫明偏好怎麼儲存與餵給模型,以及任務被取消時已完成的動作怎麼處理。第三,測整個任務,用真實的脈絡、工具與權限,涵蓋行事曆斷線、偏好改變、沒有共同空檔這類情境,同時記錄結果與使用者花在修正上的力氣。第四,失敗要跨層診斷,先分辨問題出在介面、harness 還是模型本身。

五、限制

這是 NN/g 的概念性文章,沒有量化證據,所謂「harness 影響很大」是論述而非實測;摘要裡的行事曆助理例子是文章自己的設想情境,不是真實產品的測試。我沒有找到原文以外的獨立驗證。另外,文章的範圍是 AI 代理產品,對一般不含代理的介面沒有直接意義。「取消後已完成的動作怎麼辦」這類問題,文章只點出要規格化,沒有給具體解法,需要各團隊依產品風險自己決定。

🧠 記

  • 來源: Nielsen Norman Group,〈Agent Harness: Definition〉,2026-11-06;讀到的是工具摘要,非逐字原文。
  • 定義: harness 是跑模型執行迴圈的軟體,把模型的請求變成行動,並控制模型看到什麼、能做什麼。
  • 三個影響體驗的槓桿: 脈絡(要不要重複交代)、權限(哪些要使用者動手)、限制(做不到時怎麼辦)。
  • 做法: 比較產品而非只比模型;行為與介面一起規格化;測整個任務;失敗跨層診斷。

✍️ 實踐

花二十分鐘為手上有 AI 代理功能的產品(或自己常用的一個)畫一張 harness 檢查表。第一步,列出代理可用的工具,每個工具標註「自動執行」或「需使用者核准」,看有沒有同一連接器內讀取與寫入被混為同一種核准。第二步,列出使用者曾存過的三個偏好,追問每一個是否真的進到模型的脈絡,可以用一個會觸犯該偏好的任務測試。第三步,找出代理的時間、步驟或成本上限被觸發時,畫面實際顯示什麼,是停住、詢問還是無聲失敗。第四步,設計一個任務取消的情境,記錄已完成的動作(例如已寄出的邀請)畫面上有沒有交代。把四步中發現的缺口寫成給工程的規格需求,而不是只留在設計稿備註。

🔗 延伸學習

💬 問 AI

我在設計一個會代替使用者操作行事曆與信件的 AI 代理功能。請幫我:1) 以「執行迴圈、脈絡組裝、輸入處理、工具與權限、指令與限制」五個組成,列出每一項會影響使用者體驗的設計決策;2) 針對讀取、建立、寄出三種操作,建議核准層級與對話框設計,並說明取捨;3) 設計五個測試情境(含行事曆斷線、偏好改變、找不到共同空檔、任務中途取消),每個寫明要觀察的指標;4) 說明如何判斷一個失敗是介面、harness 還是模型造成。請標明哪些是通用慣例、哪些需要用我們自己的測試資料驗證。