技術札記

Agent 跑了一整個星期。星期一早上,管理者打開甚麼?

寫給要為生產環境的 Agent 負責的管理者與 IT 營運主管,以及會問他們「當時在看甚麼」的審計人員。

GembaOS 是企業 AI Agent 的治理執行平台:以政策判定權限、以綁定參數的單次放行令授權每一個動作、以可追責的簽署鏈記錄人的審批,部署於企業本地機房或私有 VPC。

關於管治 Agent 的文章,大多寫的是行動那一刻:這個 Agent 可不可以改這個,誰簽名。這是對的起點,四道防線正是為此而設。但管理者不是住在那一刻。管理者在 Agent 跑了一星期之後才到場,問的是另一組問題:我們有甚麼,誰為它負責,甚麼在等我,改了甚麼,甚麼接了甚麼,那個密碼用了多久。這篇文章走一遍 GembaOS 為這些問題準備的六個畫面,圖片來自本機 demo 的一次運行。

每個畫面都守兩條規則。全部是推導:由 playbook、租戶規則、能力包和運行時本來就保存的記錄產生,沒有第二份清單要維護,沒有東西要填。而且沒有數字往上湊:頁面撐不起的數字就照實顯示,每個數字都能點進背後的記錄。

員工交辦,收到收據

員工頁面由一個輸入框開始:寫下要辦的事。助手提出這屬於員工有權發起的哪一項業務,GembaOS 再按員工可以發起的業務和員工實際寫下的文字核對這個建議;認不出就列出候選來問,不會猜。員工交辦之前不會啟動任何工作。回來的是一張收據:哪項業務接了、票號、誰經辦、下一步是甚麼。同一件事交兩次,收到的是同一張收據。

員工頁面上的收據:業務是知識營運,票號 TKT-2026-00001,經辦人黃志明,下一步是完成,以及收到的原文:有客戶問本季退款的退貨期限有沒有改,請查現行退款規程並回報條文及日期
員工頁面上的收據:業務是知識營運,票號 TKT-2026-00001,經辦人黃志明,下一步是完成,以及收到的原文:有客戶問本季退款的退貨期限有沒有改,請查現行退款規程並回報條文及日期

這裏支援專員交辦的是查一份規程,截圖時查詢已跑完並回報,所以收據寫的是「完成」。需要人判斷的交辦,會寫明誰在等。

治理總覽

總覽是管理者最先讀的一頁:從 Agent 台賬看到的覆蓋與負責人、等候處理的例外(未解決的缺口與被主機標記的運行)、等人簽的審批、沒有簽名就通過的數量與有沒有抽查、以及等待覆核的規則變更。時間窗有 7 日、30 日、90 日。

30 日的治理總覽:資產 18、受控 12、只登記 6、無負責人 3、需注意 5,格子下方列出只登記的五行;知識文件有一個未解決缺口;沒有被標記的運行仍在進行;下方是等人簽的審批
30 日的治理總覽:資產 18、受控 12、只登記 6、無負責人 3、需注意 5,格子下方列出只登記的五行;知識文件有一個未解決缺口;沒有被標記的運行仍在進行;下方是等人簽的審批

三個無負責人和五個需注意都是真的:兩個合作方 Agent 未設定令牌,三個 worker 未設定連結材料。格子照實說並列出來,不會把它們摺進一個綠色數字。

Agent 台賬

公司負責的每個 Agent 一行:GembaOS 運行的 playbook 流水線、經閘道呼叫的合作方 Agent、公司在自己主機上跑的 worker,以及人手登記的其他 Agent。每行寫明負責人和這個名字的來源,以及一個推導出來、絕不往上湊的納管程度:只登記(寫下來而已)、只觀察(看得到呼叫,不攔)、部分納管(能應答,閉環不了)、受控(宣告的操作只能經閘道、憑放行令執行)。操作員可以在一行上認領負責人;這是人在這裏唯一加的東西,會記入記錄。

Agent 台賬:資產 18、無負責人 3、需注意 5;首幾行是內部流水線理賠受理、公司秘書變更受理、外部 API 變更審查、退款處理,各有負責人與名字來源、版本雜湊,以及「由 GembaOS 運行」的註記
Agent 台賬:資產 18、無負責人 3、需注意 5;首幾行是內部流水線理賠受理、公司秘書變更受理、外部 API 變更審查、退款處理,各有負責人與名字來源、版本雜湊,以及「由 GembaOS 運行」的註記

發佈前檢查過的規則變更

playbook 或角色指引的變更以一個發佈單位流轉。圖中是一份草稿,把規則自行簽名那一檔的上限提高。檢查已經跑過:版本必須遞增;差異從宣告讀出並用平白的話寫下(放寬:自行簽名那一檔覆蓋更多);這個 playbook 記錄過的判定按記錄的事實在新規則下重判,不重發、不退款、不寄信。這裏過去四個判定都會落在原來的檔。下一步是第二個人批准;起草人不能批准自己的發佈。

規則發佈 REL-0001「提高自動退款上限」,已檢查、等第二人批准:退款處理 v1 到 v2;改了甚麼:放寬,自動檔門檻提高;已記錄的判定重判:六月以來四個判定沒有一個會變;檔案及其雜湊
規則發佈 REL-0001「提高自動退款上限」,已檢查、等第二人批准:退款處理 v1 到 v2;改了甚麼:放寬,自動檔門檻提高;已記錄的判定重判:六月以來四個判定沒有一個會變;檔案及其雜湊

發佈後,進行中的工作沿用開始時的規則;仍在變更路線上等候的審批單退回重判;已簽的維持;回退是一次須寫理由的新發佈,不撤銷任何已發生的效果。

風險登記

每個 playbook 由自身設定讀出:觸及的資料、可以做甚麼(讀、寫、執行、不可撤銷的執行)、誰能發起、資料會否流向 SaaS 模型或外部系統、人覆核多少。等級按固定表推出,並列出期望的控制,行上寫明哪些已達成。沒有人手填分數,模型也不提議分數;發佈一旦移動某個維度,行上就標「覆核後已變」,直至有人再看。

風險登記:理賠受理、公司秘書變更受理、退款處理按影響與公開入口列為等級 4;每行顯示資料等級與領域、操作與能否撤銷、入口與各角色模型的去向、人手覆核(部分檔自簽並抽查 5%;每檔都有人)、已達成的控制
風險登記:理賠受理、公司秘書變更受理、退款處理按影響與公開入口列為等級 4;每行顯示資料等級與領域、操作與能否撤銷、入口與各角色模型的去向、人手覆核(部分檔自簽並抽查 5%;每檔都有人)、已達成的控制

登記表之下,紅隊也是一張登記表。每個用例寫明攻擊的路線(注入、越權、跳過審批、簽章後事實變動、工具合約變更、交接後行事、備用模型外傳)、目標 playbook 和負責人、如何復現,以及運行後主機在哪些事件拒絕了它。被突破的用例由具名的人記錄修復,下一次防住即為複測。通過率不是結果。

紅隊卡片:最近一次運行 RT-20260926,模擬模式;七條路線及其數量;R1 至 R9 各行有路線、負責人、狀態、最近運行與運行按鈕,以及復現一行
紅隊卡片:最近一次運行 RT-20260926,模擬模式;七條路線及其數量;R1 至 R9 各行有路線、負責人、狀態、最近運行與運行按鈕,以及復現一行

接駁台賬

本租戶接駁的每個外部系統,由啟動時讀入的能力包、worker、模型供應商與各項服務推導。每行以變數名稱和是否已設定列出連結材料,絕不顯示值;端點未設定而由內置夾具回應的照實標明;寫明 GembaOS 可透過它做甚麼、在誰的簽章下;由記錄上的呼叫得出運作情況;以及每個密鑰已用多少天。下方是身份撤銷:每位離職者在離職處理當刻被撤銷的內容。

接駁台賬:37 項接駁,已設定 7、模擬 13、關閉 8、正常 1、未設定 8;輪換政策 180 日,無逾期;首幾行是 amzn、applog、change、claims 各能力包,各有健康度及其來源、已設定變數的數目、使用它的 playbook 及負責人,由夾具回應的行帶模擬標記
接駁台賬:37 項接駁,已設定 7、模擬 13、關閉 8、正常 1、未設定 8;輪換政策 180 日,無逾期;首幾行是 amzn、applog、change、claims 各能力包,各有健康度及其來源、已設定變數的數目、使用它的 playbook 及負責人,由夾具回應的行帶模擬標記

這套機制不做的事


給架構師

本文回答的問題

這些畫面由誰填?

沒有人填。每頁讀的是 playbook、租戶規則、能力包和運行時本來就保存的記錄。人只加兩種東西:一個名字(在台賬認領負責人、在風險登記覆核)和一個決定(批准發佈)。兩者都以那個人的名字記入記錄。

管理者可以在這裏改規則嗎?

經發佈程序可以:playbook 檔案的草稿;一次檢查,列出放寬與收緊,並在新規則下重判已記錄的判定;第二個人批准;然後發佈。進行中的工作沿用開始時的規則,仍在變更路線上等候的審批單退回重判,回退是一次須寫理由的新發佈,不會撤銷任何已發生的效果。

密鑰顯示在哪裏?

不顯示。接駁台賬只列變數名稱和是否已設定。密鑰按資料目錄記錄指紋和指紋改變的日期,因此輪換是記錄上的事實,而值從未被儲存或顯示。

模擬樁會標明是模擬嗎?

會。端點未設定、由內置夾具回應的能力包會標為模擬,並寫明夾具名稱。生產流量不能走模擬樁,台賬也不會讓那一行看起來像正常運作的連結。

截至 2026 年 9 月,GembaOS 未取得任何第三方認證;本站的控制對應表為自評,未經審計。GembaOS 處於 Design Partner 階段。 了解 Design Partner 計劃。

最後更新: · GembaOS v0.2