演講 Session 1: AI Systems
超越 Harness:面向 Agent 可靠性、安全性與效率的平台解法
Gosia Steinder — IBM Fellow, IBM Research
今天 agent 的可靠性、安全與效率問題全被塞進應用層的 harness 裡各自造輪子,但歷史(Unix/POSIX、容器/Kubernetes)顯示這一定會收斂成新的作業系統層;IBM Research 正在用一層「攔截層」把控制功能從 agent 業務邏輯中抽離出來,建立這個 agent 時代的 OS。
TL;DR
- 第三波平台演進:第一波是硬體與軟體分離、高階語言誕生;第二波是雲端運算與跨資料中心的分散式應用。兩波各自催生了一個「作業系統」——一層把應用與基礎設施隔開的抽象,同時提供韌性、擴展性與效率的原語。AI 應用是企業架構史上最不確定、最不可靠的元件,將需要第三個這樣的基礎。
- 兩類新挑戰:結構性(structural)——agent 的指令集是開放式的,在 runtime 才決定用哪些操作、以什麼順序執行,這直接破壞 zero-trust 安全(需要事先知道互動模式)、傳統復原(補償與 rollback 變得難以實作)與部署前測試;加上 context 裡指令與資料沒有分離、agent 之間又靠交換 context 溝通,執行隔離消失,blast radius 控不住。語義性(semantic)——無法完整指定 agent 目標(「該做什麼」難寫,「不該做什麼」更難),缺乏形式化方法驗證目標,模型又不擅長回報自身狀態(沒有可靠的 error code),導致成功/失敗/活性(是否在收斂而非卡住)都難以判斷,判斷不了就無法復原。
- 解法方向:不重造平台,而是在既有雲端平台上加一層攔截層,能同時接上三類 agent(自建的、可用 hook/plugin 控制的知名 harness、只能從外部觀察的黑箱),用統一方式觀察與修改 agent 對外界的所有互動;控制功能建在這層之上。首先攻的是 zero-trust 安全,再往語義層(context 管理、tool call 正確性、資料流分析)延伸。專案為 Rossoctl。
- 應用模式是 serverless:把 agent loop 當成無狀態元件,與管理 context 的 durable session 儲存、以及由多樣化 sandbox 組成的執行層分離——換來更好的韌性、正確性、效能與擴展性,並在成本上有實測收益。
重點整理
為什麼需要第三個作業系統(約 00:33:26–00:34:50)
Steinder 認為我們正進入應用平台演進的下一波:
| 波次 | 轉折 | 產生的 OS |
|---|---|---|
| 第一波 | 硬體與軟體分離、第一批高階語言 | Unix / POSIX 語義 |
| 第二波 | 雲端運算,跨資料中心與全球的分散式應用 | Kubernetes 及其生態系 |
| 第三波 | AI / agentic 應用 | 待建立 |
她對「作業系統」的定義是雙重的:一層把應用與基礎設施隔開的抽象,以及一組應用可以倚賴來取得韌性、擴展性與效率的原語。AI 應用當然能跑在現有基礎上——問題是現有基礎對這些新挑戰幾乎幫不上忙。
結構性挑戰:開放式指令集(約 00:34:52–00:36:10)
「指令集」在這裡指的是 agent 能對外部世界執行的操作集合。Agent 的指令集是開放式的,而且在 runtime 才決定用哪些、怎麼排序。這打破了現有平台的幾個關鍵假設:
- Zero-trust 安全變得很難,因為它依賴在設定時就理解應用之間的互動模式。
- 復原變得很難,補償(compensation)與 rollback 這類傳統手法變得難以實作。
- 這些應用在部署前無法被完整測試。
再加上兩件事:context 裡指令與資料沒有分離(這正是 agent 出現這麼多新型安全威脅的原因),而 agent 之間又是靠交換 context 溝通,於是不同 agent 之間的執行隔離也消失了——結果就是韌性與安全問題的 blast radius 難以控制。
語義性挑戰:沒有可靠的 error code(約 00:36:15–00:37:30)
這一段她明確接上 Ion Stoica 前一場的主題:
- 我們無法完整指定 agent 的目標。用敘述表達「agent 該做什麼」就已經很難,「agent 不該做什麼」更難;而且仍然缺乏形式化方法來表達與驗證 agent 目標。
- 更糟的是,AI 模型不擅長回報自己的狀態——我們基本上沒有可靠的 error code。因此判斷 agent 是否正確運作、是否成功、偵測失敗、以及判斷 liveliness(有沒有在推進、是在收斂還是卡住),全都變得很困難。而如果無法判斷問題是什麼,就無法從中復原。
- 還有一層語義落差:agent「思考與規劃」的方式,與真實世界介面那種 schema-based、又不斷改版的本質之間對不上,持續製造新錯誤。
今天怎麼解,以及為什麼會收斂(約 00:37:37–00:39:05)
現況是:全部在應用層以 bespoke 方式處理。大家做 framework、做 harness,而且數量很多——每隔幾個月就有新的強力 agent 或 harness 出現,證明「解法存在」,但也造成嚴重的碎片化,而且 harness 本身很難開發、需要大量專業知識。
她的判斷是:我們明顯還在實驗階段,而歷史上每一波創新都經歷過同樣的事——一開始有多種 Unix;容器與 cloud native 時代一開始有各種容器、各種容器編排平台與彼此分歧的生態系;最後產業識別出共同模式、標準化、然後收斂。第一波收斂到 Unix 與 POSIX 語義,第二波收斂到 Kubernetes 與其生態。AI 時代也會發生同樣的事。
他們的做法:攔截層與三類 agent(約 00:39:08–00:41:30)
方法論是先看自己組織裡實際在跑的 agent,分成三類:
- 自建:用某個 framework 或 SDK 自己實作,完全可控。
- 知名 harness:可透過 hook 與 plugin 控制。
- 黑箱 agent:什麼都不能改,只能從外部觀察來控制。
他們要建的是一層攔截層(layer of interception),能與這三種風格都整合,並提供統一的方式來觀察與修改 agent 與外部世界的所有互動;控制功能就建在這層抽象之上。
第一個攻的問題是安全,特別是 zero-trust,做成多層級權限系統:
- 實作 identity,
- 用該 identity 做帶授權的委派流程(delegation flows),
- policy-based access,
- 最後是 intent-based access——評估 agent 正在做的事是否真的符合使用者目標。
之後往語義層延伸:能不能在 agent 之外、以與業務邏輯無關的方式管理 agent 使用的 context?能不能管理 tool call 的正確性?能不能做資料流分析來理解並控制資料如何流動?這些收在 Rossoctl 專案裡(網頁上有更深入的 benchmark 與實驗結果);同事 Maya 當天也有相關海報。
關鍵是:他們不是要取代既有平台。所有東西都建在現有雲端平台上,沿用並延伸既有標準——OAuth 2、身分用 SPIFFE、既有的 policy 語言,在 Kubernetes 上編排;gateway 原本基於 Envoy proxy,現正轉向基於 Praxis 專案、效率更好的 Rust 實作。
成果:context compaction 帶來的成本下降(即使對 SOTA agent 也成立)、tool calling 正確率的穩定提升(轉化為 agent 品質提升)、以及透明的權限控管。
應用模式:serverless(約 00:42:21–00:43:30)
平台演進的另一半是應用模式。她主張 agent 的正確模式是 serverless:把 agent loop 當成無狀態元件,與(a)管理 context 的 durable session 儲存、(b)由多樣化 sandbox 提供的執行層分開。好處是韌性、正確性、效能與擴展性都更好。
實測收益:對 model-bound 的 agent 可省下大量基礎設施成本;可以彈性配置 sandbox(不是每個 agent 都需要最貴的那種,而昂貴的 sandbox 真的很貴);在安全政策允許的情況下還能重複使用 sandbox。
結語是一個公開邀請:她相信新一波平台會被建起來,他們已經上路,想聽到同意或不同意的意見,也想跟任何在做同方向的人合作。
金句
"AI applications are without any doubt the most non-deterministic and unreliable component that has ever been introduced in enterprise architectures."(約 00:34:20)
這句話定調了整場演講:不是要修好 AI,而是要為這種不可靠元件設計基礎設施。
"It's very difficult to express what agents should do … but it's even harder to specify what agent shouldn't do."(約 00:36:26)
與 Ion Stoica 的 requirement gap(omission vs. exclusion)直接呼應。
"We essentially do not have any reliable error codes."(約 00:36:45)
一句話講完為什麼 agent 的可觀測性與自動復原這麼難。
提到的專案與資源 / Projects & Resources
| 名稱 Name | 說明 | Description | 備註 Notes |
|---|---|---|---|
| Rossoctl | IBM Research 的開源 cloud-native agentic 平台 / Agent-OS 原型 | IBM Research's open-source cloud-native agentic platform / Agent-OS prototype | github.com/rossoctl/rossoctl;字幕聽成 "Rosso CTL" |
| Kagenti | Rossoctl 生態中負責 agent 生命週期與 policy 綁定的元件 | Agent lifecycle and policy-binding component in the Rossoctl ecosystem | 演講未點名,見其論文與部落格 / not named on stage; see her paper and blog |
| Praxis | 給 AI workload 用的新網路基礎,輕量 Rust proxy | New network foundation for AI workloads; lightweight Rust-based proxy | 用來取代原本的 Envoy-based gateway / replacing the Envoy-based gateway |
| SPIFFE / SPIRE | 工作負載身分標準,用於 agent 的 zero-trust identity | Workload identity standard used for agents' zero-trust identity | |
| OAuth 2 | 授權標準,用於委派流程 | Authorization standard used for delegation flows | |
| Envoy proxy | gateway 的原始實作基礎 | Original basis of their gateway implementation | |
| "Towards an Agent Operating System – Lessons from Classical and Cloud OS" | 對應本演講的論文(Steinder & Franke),提出 13 個 Agent-OS 原語 | The paper behind this talk (Steinder & Franke), proposing thirteen Agent-OS primitives | arXiv 2607.25076;演講未點名 / not named on stage |
逐字稿勘誤 / Transcript Corrections
| 字幕原文 Heard as | 應為 Should be |
|---|---|
| Grace A. Steiner(主持人介紹) | Gosia Steinder |
| Rosso Rosso CTL | Rossoctl |
| project Praxis | Praxis(專案名) |
| SPIFFE(字幕作 "SPIFFE" 但發音模糊) | SPIFFE |
| Ion Stoica(字幕正確) | — |
| liveliness | liveness(語意上為系統活性;講者口語說 liveliness) |
| durable session lock | durable session store(依上下文為儲存 context 的持久化 session 層) |
待確認 / To Verify
- 同事「Maya」的全名與海報題目未在字幕中出現。/ The full name and poster title of the colleague "Maya" don't appear in the captions.
- 「cost reduction from context compaction」「consistent improvements to tool calling accuracy」的具體數字未在演講中給出(她指向專案網頁)。/ No numbers were given on stage for the context-compaction cost reduction or tool-calling accuracy gains; she pointed to the project's web pages.
- 演講中提到的 "known policy languages" 未點名具體是哪些(Rego/OPA?Kuadrant?)。/ The "known policy languages" were not named (Rego/OPA? Kuadrant?).
- durable session 層與 sandbox 執行層的具體實作未展開。/ The concrete implementations of the durable session tier and sandbox execution tier were not detailed.