← 所有文章

代理式設計就是控制介面設計

多數AI介面設計仍把代理視為更聰明的文字框。代理式設計的出發點不同:一旦軟體能夠持續行動、呼叫工具、存取檔案、花錢,或改變正式環境狀態,設計問題就會變成控制介面問題。

代理式設計,是讓自主軟體變得可見、可中斷、可檢查、可復原,並值得信任的專業方法。產品不是聊天紀錄。產品是讓人理解代理正在做什麼、決定代理下一步可以做什麼,並驗證代理已經做了什麼的介面。

這個框架很重要,因為代理的失敗方式不同於一般表單、儀表板或協作助手。表單在送出時失敗。儀表板因顯示過期資料而失敗。協作助手因建議糟糕文字而失敗。代理則是在行動中失敗:走錯分支、選錯工具、漏掉正確證據、失去脈絡、過度使用權限、太早停止,或是在局部成功的同時削弱整個產品。

設計必須從修飾提示詞,轉向作業控制。

TL;DR

代理式設計不是抽象的「AI UX」。它是為會行動的系統設計控制介面。早在今日的程式碼代理出現之前,Microsoft就已將人類與AI互動視為獨立的介面設計問題;Google PAIR的AI設計指南也延續同樣以人為本的脈絡。12現代代理產品讓這個需求更加迫切:OpenAI將Codex描述為在隔離環境中工作的雲端代理,而Claude Code則提供可在執行前攔截工具呼叫的掛鉤。54

實務上的重點是:代理產品需要狀態、權限、追蹤、記憶、證據、復原與監督介面。聊天可以保留為輸入方式,但不能再是整個介面。

重點摘要

給產品設計師: - 先設計代理狀態,再設計提示輸入。使用者需要知道代理正在規劃、行動、受阻、等待、驗證,還是已完成。 - 將權限審查視為主要工作流程。高風險工具呼叫不該看起來像隨意插入的聊天訊息。

給代理建構者: - 記錄足夠的執行細節,讓追蹤介面有資料可用。只有工具名稱並不足夠;介面需要參數、輸出、結束狀態、檔案路徑與副作用。 - 將中斷與復原提升為一級功能。使用者應能暫停、檢查、改向、回復或分叉代理,而不必讀完整段紀錄。

給導入代理的團隊: - 不要用聊天是否流暢來衡量介面品質。應衡量操作者能否回答:發生了什麼、為什麼發生、用了什麼權限,以及有什麼證據? - 讓品味留在流程中。正確的代理動作,仍可能傷害一致性、尊嚴或產品品質。

使用者已經改變

代理產品的使用者不只是提示輸入者。使用者成了操作者。

提示輸入者要求答案。操作者監督流程。提示輸入者關心文字聽起來是否正確。操作者關心系統是否存取了正確檔案、使用了正確來源、保留了正確限制,並在正確時間停止。

這個差異會改變介面。提示框最佳化的是表達。控制介面最佳化的是狀態、風險、時機與證明。

傳統軟體可以隱藏流程,因為多數狀態變更都是由使用者直接觸發。按鈕寫著「傳送」。使用者點擊。應用程式送出。代理軟體則在意圖與行動之間插入一個決策執行環境。使用者要求結果,系統選擇路徑。介面必須揭露足夠的路徑資訊,讓使用者仍能為結果負責。

Microsoft的人類與AI互動指南指向的正是這個方向。該指南涵蓋AI系統在互動期間的行為:設定預期、符合社會脈絡、顯示狀態、支援修正,以及處理失敗。1這個舊教訓可直接套用到代理身上,但代理把風險拉高了,因為AI行為不再止於建議。它可能變成工具呼叫。

代理式設計從狀態開始

好的代理式設計,會先讓狀態可見,再要求信任。

代理的狀態不只「思考中」和「完成」:

代理狀態 使用者需要什麼
規劃 預定路徑、假設、可能使用的工具
搜尋 查詢詞、來源、漏掉的項目、下一個查詢
行動 工具呼叫、參數、目標、預期副作用
受阻 缺少權限、缺少憑證、需求不清
驗證 測試命令、證據來源、驗收標準
復原 失敗步驟、重試路徑、已改變的假設
完成 成品、證據、未解決缺口

多數聊天產品把這些狀態壓縮成一個轉動的載入圖示。載入圖示只表示系統尚未停止。它沒有說明代理正在讀取、寫入、等待、重試,還是卡住。

代理狀態需要更豐富的語彙。介面應顯示目前階段、上一個有意義的動作、下一個預定動作,以及代理尚未完成的原因。好的狀態介面能降低使用者焦慮,因為它用可檢查的行動取代未知。

困難的設計問題在於密度。嚴肅的代理在長時間執行中可能產生成千上萬個事件。全部顯示會變成噪音。全部隱藏則變成盲目信任。控制介面必須預設摘要,並能按需展開。

權限是一種設計材料

權限不是設定頁。權限是代理式設計的核心材料之一。

代理透過使用者授予的權限行動。檔案寫入、shell命令、瀏覽器動作、API呼叫、部署步驟、付款操作,以及會影響客戶的動作,都有不同風險。介面必須在決策當下讓風險清楚可讀。

Claude Code的掛鉤參考文件展示了這個想法的原始形態:PreToolUse掛鉤可以檢查Bash命令,並在工具呼叫執行前回傳決策,拒絕破壞性操作。4這個機制證明了設計形態。控制介面可以依風險排序待處理操作,顯示完整命令或工具酬載,說明呼叫原因,並讓使用者核准、拒絕、延後,或改寫請求。

關鍵轉變是:權限審查應成為佇列,而不是打斷。

打斷適合1到2個決策。當代理在一項長任務中執行40個操作時,打斷就會失效。權限佇列讓使用者批次核准低風險動作、暫停高風險動作,並在同一處審視整體風險輪廓。使用者不再被迫在閱讀代理文字與評估命令之間來回拉扯。

風險呈現也需要品味。紅框、警告圖示與彈出視窗造成的摩擦有其作用,但若所有事情都看起來很緊急,也會訓練使用者盲目核准警示。介面應把視覺警報保留給不可逆或外部可見的動作。唯讀搜尋不該穿上和正式資料庫遷移一樣的外衣。

追蹤是新的資訊架構

代理式設計需要追蹤架構。

追蹤是代理所做事項的有序紀錄:提示、工具呼叫、參數、讀取的檔案、變更的檔案、執行的命令、開啟的來源、測試輸出、權限決策、重試與最終證據。聊天紀錄可以包含其中一部分,但聊天紀錄不是資訊架構。它只是一段捲動內容。

追蹤介面應快速回答4個問題:

問題 追蹤介面需求
發生了什麼? 可依事件類型篩選的時間軸
為什麼會發生? 每個動作附上代理陳述的理由
改變了什麼? 差異、成品、副作用與觸及路徑
什麼支撐了結果? 證據連結、命令輸出、引用與未解決缺口

這個介面直接連到證據關口。最終回答若說「測試通過」,就應指向測試命令與結束狀態。公開文章若引用論文,就應指向精確來源與主張對齊情況。遷移報告若宣稱等價,就應指向仍可運作的特定使用者路徑。

近期的執行追蹤研究也指向同一方向。我在代理執行追蹤是執行環境契約中主張,最終回答是最薄弱的信任單位。追蹤更強,因為它保留了從意圖到行動再到證據的路徑。

記憶需要瀏覽器

代理式設計也需要記憶設計。

代理會跨時間攜帶脈絡。有些脈絡位於目前視窗。有些位於壓縮摘要。有些位於檔案、筆記、向量儲存、資料庫或專案指令。有些則會消失。使用者很少看見邊界在哪裡。

這種不可見性造成設計失敗。當代理與先前決策矛盾時,使用者無法判斷代理是不同意、忘記了、摘要做壞了,還是根本沒有載入相關記憶。即使執行環境已經改變模型可見的內容,聊天仍讓記憶看起來連續。

記憶瀏覽器應揭露3個層次:

記憶層 使用者問題
目前脈絡 代理現在能使用什麼?
已儲存記憶 代理需要時能擷取什麼?
已壓縮或過期記憶 系統壓縮、省略,或標記為不確定的是什麼?

這個瀏覽器不需要揭露私密的思維鏈。它需要揭露作業記憶:指令、限制、來源路徑、決策、成品,以及系統將用來引導未來行動的摘要。

搜尋也屬於同一個設計家族。前一篇文章中的grep/向量結果顯示,搜尋品質取決於執行環境、交付路徑,以及模型閉合工具迴圈的能力,而不只取決於擷取器。6如果搜尋存在於執行環境中,搜尋可見性就屬於介面。使用者需要知道代理搜尋了什麼、漏掉了什麼、開啟了什麼,以及為什麼下一個查詢改變了。

監督不是微管理

代理產品常把人類監督描述為摩擦。強大的代理式設計會把監督視為產品本身。

NIST將AI Risk Management Framework描述為一種方法,用於把可信度考量納入AI系統的設計、開發、使用與評估。3這個措辭很重要。可信度不是只在模型訓練時進場。它也在設計時、使用時與評估時進場。

對代理而言,監督表示使用者能夠:

  • 看見代理正在做什麼;
  • 在不可逆動作前中斷;
  • 檢視證據路徑;
  • 從失敗分支復原;
  • 比較替代分支;
  • 核准或拒絕最終成品;
  • 理解哪些事項仍未驗證。

微管理要求使用者核准每一次按鍵。監督則是在正確高度給使用者正確控制。資深工程師不需要監看每一次檔案讀取。但這位工程師確實需要看見擬議的資料庫遷移、失敗測試的重試、已變更的公開主張,或會觸碰正式環境狀態的命令。

好的監督介面會把低風險細節移出主線,並把高風險時刻拉到焦點中,藉此保留流程。設計挑戰不是「更多可見性」。設計挑戰是校準過的可見性。

品味層仍然重要

代理式設計可以滿足所有作業需求,卻仍然感覺不對。

權限佇列可以揭露正確事實,卻讓使用者覺得受罰。追蹤時間軸可以包含每個事件,卻讓理解變得不可能。記憶瀏覽器可以顯示每個儲存項目,卻因雜亂摧毀使用者信心。狀態量表可以說真話,卻讓系統看起來壞掉了。

品味決定介面如何承載風險、信心、不確定性與證明。品味是一套技術系統:限制、評估標準、模式辨識與一致性。代理式設計需要這4者。

限制決定代理可在不經審查的情況下做什麼。評估標準決定最終成品必須證明什麼。模式辨識會抓出看似成功、實則脆弱的工作流程。一致性則追問:代理的工作改善了整個產品,還是只完成了局部任務?

隨著代理變得更便宜,最後這個問題更重要。AI讓產出變得充沛。充沛會提高拒絕、編輯、一致性與品味的價值。最好的代理介面不會最大化行動數量。它會幫助操作者判斷哪些行動值得發生。

最小代理式設計檢查清單

從7個介面開始:

介面 最低需求
狀態 目前階段、上一個動作、下一個動作、阻礙
權限 依風險分級的佇列,含完整工具酬載
追蹤 可篩選時間軸,含參數、輸出與副作用
證據 將主張對應到來源、命令、測試或未解決缺口
記憶 目前脈絡、已儲存脈絡、壓縮摘要
復原 暫停、繼續、重試、回復、分叉與取消
監督 跨代理檢視受阻、高風險與已完成工作

這些介面沒有一個需要科幻式介面。第一版可以是樸素表格、可展開列與平淡篩選器。華麗動畫不如誠實狀態重要。控制介面應快速說真話。

每個代理功能的設計問題都會變得很簡單:

在代理的下一個動作成真之前,人類需要看見、決定、中斷或驗證什麼?

如果介面無法回答這個問題,產品仍然依賴信任劇場。

快速總結

代理式設計就是控制介面設計。聊天作為輸入基礎仍然有用,但自主工作需要可見狀態、權限佇列、追蹤、記憶瀏覽器、證據介面、復原控制與監督視圖。Microsoft、Google與NIST都指向以人為本的AI設計,並把可信度視為產品責任,而不只是模型屬性。123代理工具讓這一點變得具體:執行環境已經有掛鉤、容器、追蹤、檔案、命令與副作用。45介面必須讓這些部分清楚可讀。

勝出的代理產品不會是聊天最迷人的那一個。勝出的產品會是為操作者提供最清楚、最銳利、最可信自主工作介面的那一個。

FAQ

代理式設計和AI UX不同嗎?

是。AI UX涵蓋任何使用機器學習或生成式AI的體驗。代理式設計則涵蓋會持續行動的系統。差異在於能動性:工具呼叫、權限、狀態變更、記憶、副作用與復原。這些特性需要控制介面,而不只是有幫助的文案或提示輸入。

每個代理產品都需要全部7個介面嗎?

不需要。介面範圍應符合風險。低風險寫作助理可能只需要狀態、證據與修訂歷史。程式碼或營運代理需要權限、追蹤、復原、記憶與監督。會影響客戶的代理則需要更強的稽核與核准控制。

為什麼不把所有東西都留在聊天裡?

聊天是循序且只能追加的。代理監督需要隨機存取、篩選、比較、批次審查與狀態檢查。可收合的聊天區塊能改善可讀性,但無法取代權限佇列、追蹤時間軸、記憶瀏覽器或復原介面。

第一個該建立的控制介面是什麼?

先建立追蹤。沒有追蹤,其他每個介面都會變成猜測。追蹤提供證據、權限、復原、稽核與監督所需的資料。產品可以從樸素事件表開始,再隨時間改善設計。

參考資料


  1. Saleema Amershi et al., “Guidelines for Human-AI Interaction,” Microsoft Research, CHI 2019。18項人類與AI互動指南、以49位設計實務者進行的驗證流程,以及將AI行為框定為介面設計問題的主要來源。 

  2. Google People + AI Research, “People + AI Guidebook,” and “People + AI Research,” Google Design。以人為本AI設計框架與戰術型指南取向的來源。 

  3. National Institute of Standards and Technology, “AI Risk Management Framework,” NIST,2023年1月26日,後續含生成式AI設定檔更新。將可信度納入AI產品、服務與系統之設計、開發、使用與評估的來源。 

  4. Anthropic, “Hooks reference,” Claude Code Docs。掛鉤生命週期、PreToolUse、比對器行為,以及可在執行前拒絕工具呼叫之權限決策的來源。 

  5. OpenAI, “Introducing Codex,” OpenAI,2025年5月。Codex雲端執行模型、隔離容器描述,以及背景軟體工程任務框架的來源。 

  6. Blake Crosley, “Agent Search Is a Runtime Problem,” blakecrosley.com,2026年5月15日。作者分析來源,連結搜尋品質與執行環境、結果交付,以及工具迴圈行為。 

相關文章

代理介面就是代理框架

代理介面設計是運作層:權限、記憶、追蹤、證據、復原與品味,決定自主式AI代理是否值得信任。

1 分鐘閱讀

聊天是 AI 代理的錯誤介面

聊天適合提示輸入,但無法勝任代理操作。六種介面模式以真正的控制面板取代滾動文字視窗。

2 分鐘閱讀

Ralph 迴圈:我如何在夜間運行自主 AI 代理

我建構了一套自主代理系統,搭配停止鉤子、生成預算與檔案系統記憶體。以下是失敗經驗與真正能交付程式碼的方法。

3 分鐘閱讀