Agentic UI狀態:如何展示AI思維、工具呼叫和進度
如何設計 AI 代理程式運作的狀態:接收、思考、工具呼叫、串流、完成、停止和失敗。模式、時間安排和範例。
核心要點
代理程式運行需要比正常請求更多的狀態:已接收、正在思考、每個工具呼叫、串流答案、已完成、已停止和已失敗。以不同的方式顯示每個步驟,命名代理正在進行的步驟,讓人們隨時停止運行,並以簡短的總結結束。保持底層細節可用但折疊。
為什麼代理運行需要自己的狀態
經典請求有兩種可見狀態:載入和完成。 AI 代理程式的運作則不同。它可能需要幾秒鐘或幾分鐘的時間,它會執行幾個步驟,例如搜尋、讀取檔案或呼叫 API,並且它可以採取會產生後果的操作。 Nielsen Norman Group 的反應時間研究仍然適用:大約 0.1 秒感覺是瞬間的,大約 1 秒保持思想流暢,大約 10 秒後人們需要關於正在發生的事情以及大約需要多長時間的反饋。大多數代理人經營最後一組的土地。
設計的州
將其中每一個設計為具有自己的外觀和文字的自己的狀態,而不是作為一個旋轉器:
- 已收到:立即確認請求(0.1 秒內),例如透過在執行緒中顯示訊息。
- 思考:答案出現附近的平靜指示器。避免虛假的進度百分比。
- 工具呼叫:用簡單的單字命名該步驟(「搜尋文件」、「讀取 3 個檔案」),如果您知道的話,請加上計數。
- 等待批准:當代理在行動之前需要許可時,明顯的停頓。
- 串流:在輸出到達時顯示輸出;文字一開始就停止思考指示器。
- 完成:更改內容的簡短摘要,並儘可能撤消。
- 停止並失敗:說明發生了什麼、保留了什麼以及如何重試。
Show the plan, not the raw log
長的工具呼叫日誌對於偵錯很有用,但對大多數使用者來說卻難以承受。一個好的預設設定是當前步驟的單行狀態,以及人們可以展開的已完成步驟的折疊清單。開發者和高級用戶可以打開詳細資訊;其他人都可以用簡單的語言看到進步。 AG-UI(一種基於事件的開放標準,用於將代理連接到面向用戶的應用程式)等協定的存在部分是為了前端能夠以一致的方式接收這些步驟事件。
控制與信任
當代理人保持控制時,人們會更信任他們。在整個運行過程中保持停止按鈕可見。在進行不可逆轉的操作(例如發送、付款或刪除)之前要求確認,並準確說明將會發生什麼。運行後,可以輕鬆撤銷、編輯或重試單一步驟,而不用重新開始。
代理州動議
運動是「正在發生某事」的強烈訊號,但長時間運行時循環會變得很累。使用溫和、低對比度的循環進行思考,在工具呼叫開始時使用明顯的變化,在運行結束時使用清晰的穩定。透過將運動替換為細微的不透明度變化來尊重減少運動的設定。語音助理通常使用動畫球體,其空閒、聆聽、思考和說話狀態明顯不同。
要記住的關鍵 Principle
- 設計接收、思考、工具呼叫、批准、串流、完成、停止和失敗作為單獨的狀態
- 用簡單的語言命名當前步驟;折疊完整日誌
- 在整個運行過程中保持停止可見並確認不可逆轉的操作
- 大約 10 秒後,人們需要進度資訊
- 使用平靜的動作並尊重簡化的動作設置
常見問題解答
來源
- Response Times: The 3 Important Limits — Nielsen Norman Group
- Progress Indicators Make a Slow System Less Insufferable — Nielsen Norman Group
- AG-UI Overview: Agent User Interaction Protocol — AG-使用者介面
- Understanding SC 2.3.3: Animation from Interactions — W3C 外語