為什麼 AI Agent 不該去點螢幕:為桌面應用程式打造本機控制平面
螢幕自動化容易出錯,給的權限也太大。看 KwaFlux 如何用型別化工具,加上由應用程式自行重建的任務,讓 AI Agent 操作桌面應用程式。
快速解答
要讓 AI Agent 使用桌面應用程式,最誘人的做法是讓它像人一樣看著螢幕點來點去。但對影片應用程式來說,這是錯誤的設計。點擊很脆弱,Agent 能碰到滑鼠碰得到的任何東西,而「它按下了匯出」也不能證明匯出結果是對的。
- 讓 AI Agent 看著螢幕截圖、用點擊來操作桌面應用程式,在示範中行得通,實際上卻很脆弱、很慢,還等於把滑鼠能做的一切都交給了它。
- KwaFlux 改為提供結構化的控制平面:型別化的 MCP 工具、每次呼叫只帶少量參數,而且在任何任務進入佇列前,都先由應用程式檢查。
- 完整的任務不是 Agent 寫的。KwaFlux 的工作程序(worker)會用你按下匯出時應用程式所用的同一個任務產生器,重新建立任務。
- 和應用程式共用的規則是自動產生的,不是手動複製;兩邊一旦對不上,測試就不會通過。
KwaFlux 走的是另一條路:一個本機控制平面,接收型別化的請求、加以檢查,再在應用程式內部建立真正的任務。
本文會說明:螢幕自動化為什麼不適合這類工作、KwaFlux 的各層如何銜接、為什麼 Agent 只送出少量參數,以及這套設計刻意不做哪些事。
目錄
- 什麼是 AI Agent 的控制平面?
- 螢幕自動化與控制平面的比較
- 從對話到工作程序的各層
- 少量參數,由應用程式重建
- 應用程式和 Agent 共用同一份規則
- 控制平面在排入佇列前檢查什麼
- Agent 可以信賴的結果
- 這套設計捨棄了什麼
- 常見問題
什麼是 AI Agent 的控制平面?
AI Agent 的控制平面,是一個範圍狹窄、以程式呼叫的介面,讓 Agent 請應用程式執行特定的事,同時由應用程式保有檢查、拒絕和執行每個請求的權力。
在 KwaFlux 裡,這個介面是一組 MCP 工具,權力則握在正在執行的桌面應用程式手上。Agent 提出請求,KwaFlux 做決定。
螢幕自動化與控制平面的比較
靠螢幕截圖運作的 computer use Agent 確實是一大進步;對沒有 API 的應用程式來說,也只能這麼做。Anthropic 自家的 computer use 工具文件,對它的限制說得很坦白。文件指出,模型「有時會在沒有明確檢查結果的情況下,表現得好像操作已經成功」,用滑鼠操作下拉式選單和捲軸「可能比較棘手」,而網頁或圖片裡的指示「可能會蓋過你的指示」。文件建議在「權限最小的專用虛擬機器或容器」中執行 computer use。
對你自己電腦上的影片應用程式來說,例如提供畫質修復和轉檔工具的 KwaFlux,這些限制影響很大:
| 問題 | 螢幕自動化 | KwaFlux 控制平面 |
|---|---|---|
| Agent 怎麼選設定? | 讀截圖裡的標籤再點擊 | 填寫型別化的欄位,允許的值來自應用程式自己的設定 |
| 介面改版後會怎樣? | 點擊可能落在錯誤的位置 | 工具照常運作;約定的是參數,不是版面配置 |
| Agent 碰得到什麼? | 看得到的一切:設定、帳號頁面、其他應用程式 | 只有提供的工具,每一個都經過應用程式檢查 |
| 它怎麼知道任務成功了? | 再看一次螢幕 | 拿到任務 ID、即時進度和結構化的結果 |
| 能在無人看管下跑完一次長時間匯出嗎? | 得不停擷取螢幕畫面 | 帶著進度更新等待任務完成,也可以取消 |
| 上下文成本 | 依 Anthropic 文件,每張截圖約 1,000 到 1,800 個輸入 token | 整份工具清單約 51 KB 的文字,只載入一次 |
最後一列比的不是精確數字。重點在於:不論匯出要十秒還是十分鐘,結構化呼叫的成本都一樣;而盯著螢幕的 Agent,每看一次就要付一次成本。
從對話到工作程序的各層
一個請求會經過六層。每一層只負責一件事,而且每一層都可以拒絕。

- AI 宿主(Cursor、Claude、Codex 等)以本機處理程序的形式啟動 KwaFlux MCP 伺服器,透過標準輸入輸出和它溝通。
- MCP 處理程序把工具呼叫轉成小型的型別化請求,並在碰任何檔案之前,用和應用程式相同的方式檢查路徑。
- 本機通道把 MCP 處理程序連到正在執行的應用程式:在 Windows 上是只屬於你使用者帳戶的具名管道,在 Mac 上是只有你的帳戶能開啟的 socket。每個連線都從權杖交握開始。本機通道那篇文章會詳細說明這一層。
- 控制平面在應用程式裡檢查請求:路徑是否為完整的本機路徑、使用者是否已登入且方案符合、這個任務是否屬於這個 Agent、Agent 是否在速率限制之內、下載設定是否允許?
- 排程器把任務排在你從視窗啟動的任務旁邊,所以它們共用同一張 GPU 和同一份任務清單。
- 工作程序建立完整任務,驗證付費功能的簽署租約,執行引擎,並把結果寫在原始檔旁邊。
少量參數,由應用程式重建
影響其他一切的關鍵決定是:Agent 不會送出完整的任務描述。
一個 KwaFlux 匯出任務有很多欄位:解碼器設定、模型選擇、分塊大小、編碼器選項、色彩處理等等。如果 Agent 可以送出整個結構,就會出兩個問題。一是模型得自己編出無法檢查的數值;二是任何能操縱模型的人,例如透過一個被動過手腳的檔名或網頁,都能碰到引擎的每一個參數。
所以每個工具只接受一個人會自己選的那幾個欄位:輸入檔、模組、取自應用程式清單的輸出尺寸、畫質檔位,以及 GIF 的時間範圍。接著由工作程序用你按下匯出時應用程式所用的同一個任務產生器建立完整任務,再裁剪成引擎在執行階段接受的參數約定。
結果就是,Agent 啟動的任務和你點出來的任務,從任務產生器開始走的是同一套程式碼。我們把這描述為「和應用程式相同的參數規則」,而不是「輸出毫無差異」,因為有幾項工具透過 MCP 時可用的選項比較少。功能一覽那篇文章列出了這些差異。
應用程式和 Agent 共用同一份規則
同樣的規則存成兩份,遲早會對不上。KwaFlux 避免保留兩份:
- MCP 提供的模組目錄,包括每個模組的路由、設定和允許的值,都是從和應用程式介面相同的設定檔產生的。照片版本則來自同一份檔案裡的圖片區段。
- 五組規則直接從應用程式的原始碼轉譯給 MCP 伺服器使用:輸出解析度等級、壓縮器選擇封裝格式和編碼的方式、音訊工作區的演算法參數、AI 變聲的聲音清單,以及一條偵測規則。
- 漂移測試:只要應用程式端的任何一組規則改了,而 MCP 端沒有重新產生,測試就會失敗。
同樣的思路也讓工具說明保持精簡,工具設計那篇文章會說明。
控制平面在排入佇列前檢查什麼
MCP 規範指出,伺服器「MUST」驗證所有工具輸入、實作適當的存取控制、限制工具呼叫的速率,並清理工具輸出。在 KwaFlux 裡,這些檢查放在應用程式內,而不是 MCP 指令碼裡,所以換一個用戶端也略過不了:
| 檢查項目 | 規則 |
|---|---|
| 路徑 | 必須是完整的本機路徑;網路路徑在開啟任何檔案之前就會被拒絕 |
| 輸出 | 寫在原始檔旁邊;遇到同名檔案時改用 name(1).ext,不會覆蓋 |
| 登入與方案 | 付費功能需要登入並有方案,工作程序也會驗證簽署租約。請見AI 工具呼叫中的付費功能 |
| 任務歸屬 | Agent 只能暫停、繼續、取消或重試自己提交的任務 |
| 速率 | 每分鐘總共最多 10 個新任務,每個連線最多 6 個;最多 8 個連線 |
| 訊息大小 | 每則訊息上限 64 KiB;閒置 5 分鐘的連線會關閉 |
| 下載 | 預設關閉;可設定為必須在桌面彈出視窗中點選確認 |
| 總開關 | 一項設定就能關閉所有 Agent 控制 |
Agent 可以信賴的結果
每個 KwaFlux 工具都宣告了輸出 schema,所以結果是宿主可以驗證的結構化資料,而不是要靠模型解讀的一段文字。宿主傳入進度權杖時,KwaFlux 會在任務執行期間送出進度通知。使用者在宿主裡停止請求時,KwaFlux 會停止等待,Agent 也可以取消任務。
任務結果只有在任務真的成功時才會顯示「輸出已就緒」,並附上輸出檔的檔名。排隊中或失敗的任務,不會宣稱已經產出任何東西。
這套設計捨棄了什麼
控制平面能做的事,取決於它提供了哪些工具。KwaFlux 有九項功能需要有人在畫面上框選、點選主體或判斷預覽,例如物體移除和天空替換。我們原本可以讓 Agent 猜座標,或接受原始的任務描述。前者的結果沒人能預料,卻附上一張寫著「成功」的收據;後者則會拆掉讓這套設計得以安全的邊界。所以這些功能留在應用程式裡,Agent 會被告知請使用者到應用程式操作。
這是產品上的選擇,不是我們打算靠放寬規則來補上的缺口。
結語
如果 Agent 得靠看像素才能使用你的應用程式,你就無法檢查它接下來要做什麼。控制平面把這件事反過來:Agent 用一種範圍狹窄、型別化的語言提出請求,應用程式再用自己的程式碼檢查、建立並執行任務。在 KwaFlux 裡,正是這樣讓 Agent 啟動的匯出,和你點出來的匯出走同一個任務產生器。
KwaFlux 的本機 MCP 伺服器,讓 Codex、Claude、Cursor 和其他 MCP 應用程式能在桌面應用程式中排入真正的任務。AI 處理在你自己的 GPU 上執行,媒體檔案不會為了處理而上傳。可在 Windows 10(64 位元,1809 或更新版本)、Windows 11,以及搭載 Apple Silicon 的 macOS 12 或更新版本上執行。匯入檔案和瀏覽應用程式都不需要帳號。僅在匯出、轉換、檔案修復和從連結下載檔案時需要登入並購買付費方案。
用你自己的素材試試效果
下載 KwaFlux,付費前先用自己的素材免費預覽效果——無需註冊,在你的 GPU 上處理,處理不需要上傳媒體檔案。 影片預覽可選 1、3或5 秒;防抖預覽可選 5、15或30 秒。
常見問題
Computer use 和 MCP 有什麼不同?
Computer use 讓模型看螢幕截圖,再對任何應用程式送出滑鼠和鍵盤輸入。MCP 則讓應用程式提供特定的型別化工具,供模型呼叫。Computer use 通用但脆弱;MCP 範圍較窄,但可以檢查。
AI Agent 能控制任何桌面應用程式嗎?
部分可以。透過螢幕自動化,它能操作大多數應用程式,但會受到廠商文件所說的可靠度限制。要可靠地控制,應用程式得提供 API 或 MCP 工具。一個實際例子請見AI 助理能透過 MCP 在影片應用程式裡做什麼。
為什麼不乾脆讓模型寫 ffmpeg 指令?
因為產生出來的指令好壞,取決於模型猜得準不準,而且還要使用者自己執行。呼叫應用程式自己的引擎,用的是應用程式已經測試過的設定,應用程式也能擋下有問題的輸入。
MCP 伺服器應該接受模型傳來的原始設定嗎?
通常不應該。原始設定會把每個參數都交給模型,包括會改變檔案存放位置或程式行為的參數。由伺服器展開的少量型別化輸入,比較容易驗證。
MCP 工具的結果需要 schema 嗎?
不是必要,但有幫助。MCP 規範允許工具宣告輸出 schema,而宣告了的伺服器必須回傳符合 schema 的結果,讓用戶端能夠驗證。
參考資料
- Anthropic, "Computer use tool" (security considerations; reliability; screenshot token cost) (2026-10-25 查閱)
- Model Context Protocol, "Tools" (2026-07-28; output schema; Security Considerations) (2026-07-28 查閱)
- Model Context Protocol, "Progress" (2025-11-25; progressToken and progress notifications) (2025-11-25 查閱)
- Model Context Protocol, "Cancellation" (2025-11-25; notifications/cancelled) (2025-11-25 查閱)


