演講 Session 2: Frameworks & Dev Platforms

Agentic AI 的系統基礎

Johann Schleier-Smith — Senior Staff Engineer, Temporal

8 月 1 日(六) · Compass Stage · 00:49:32–00:59:44 · 下午場直播

蓋 agent 時真正吃掉時間的不是核心功能,而是 retry、queue、狀態管理這些橫切關注點;durable execution 的價值就是把系統邏輯和商業邏輯切開,讓你用普通語言寫出 crash-proof 的 agent——而且 agency 不是愈多愈好,好的抽象要讓你能沿著 agency 光譜自由來回。

TL;DR

  • 系統的難處在橫切關注點:一個處理退貨的客服 agent 要接知識庫、庫存、ERP、付款、升級轉人工、寄信;要讓它可靠,就得到處補 retry、加 queue 處理負載、做狀態管理——而傳統寫法會把商業邏輯和系統邏輯交纏在一起
  • Durable execution:Temporal 的核心。把系統邏輯放一邊、應用關注點放另一邊,用普通語言寫普通程式碼(Python、TypeScript……)就能得到 crash-proof 執行。崩潰後取回狀態只有兩條路——存下來,或重算;Temporal 給你簡單的標註來指定哪些要重算、哪裡要存狀態。「如果說有什麼訣竅,這就是那個訣竅。」
  • Agentic workload 的三個特性:非確定性(要驗證與保存 LLM 回應,但另一面是它對輸入很寬容)、安全性(除了 prompt injection 與 alignment,還有一個很好用的威脅模型是「單純的判斷力不佳」——它就是會不小心 rm -rf)、執行剖面(與真實世界互動,要仔細把狀態寫下來;負載爆量,所以偏向 serverless)。
  • Agency 光譜:level 1 是普通程式碼掌控流程、只在特定點插入 LLM(摘要這類任務用這個就很好、很可靠);level 3 是 LLM 決定下一步的 agentic loop;另一端是 self-evolving agent。agency 多不代表更好,好的抽象要能讓你來回移動而不必重寫整個應用。
  • 當天發布:Temporal Agent Harness(尚非正式支援產品,先請大家去 GitHub 按星)——建在 durable execution 之上的一組抽象,內層 harness 可插 OpenCode、OpenAI Agents SDK、Pydantic AI,對外可接 Slack、Teams;附帶 observability,可回看 agent 每一步在想什麼、呼叫了什麼工具、做過哪些 human approval。

重點整理

功能之外的東西才是難題(約 00:50–00:52)

談系統,就是「把一堆元件組起來產生某種功能」——而 AI 的元件特別多。但除了核心功能之外,還有一組橫切關注點:reliability(Temporal 的老本行)、efficiency、security、evolvability(含 scalability、升級能力等)。

他用 reliability 切入,因為那正好解釋 Temporal 的核心機制。假設有一個處理退貨的客服 agent,它要接上知識庫、庫存、ERP,要處理付款,大概還要有升級機制,要能寄 email。要讓這一切可靠地運作,你得做什麼?到處放 retry、大概還需要 queue 來吸收負載、需要狀態管理來追蹤整個流程走到哪。這每一處都是會出事的地方,而蓋這個系統的人終究得處理它們。

問題是:傳統軟體會把應用關注點(商業邏輯)和系統關注點交纏在一起。

Durable execution:把兩邊拆開(約 00:52–00:53)

如果這場演講只帶走一件事,那就是 durable execution 這個模型:它讓你把系統邏輯放一邊、應用關注點放另一邊,真正隔離開來。

Temporal 開源專案本身讓你蓋 crash-proof 的應用:MIT 授權,後端可以用 Postgres 或 Cassandra 等資料庫,另有雲端產品。但關鍵在於你寫的是普通程式碼、普通程式語言(Python、TypeScript,隨你),卻得到 crash-proof 的執行。

崩潰之後怎麼把狀態拿回來?其實只有兩種辦法:存下來,或重新算一次。Temporal 給你的是可以掛在程式碼上的簡單標註——「這段我要你重算、這裡我要你存狀態」。他說:「如果說有什麼訣竅的話,這就是那個訣竅。」另外還有一些有趣的東西,例如用一般語言原生語法寫出分散式系統

誰在用(約 00:53–00:54)

他引用了 OpenAI 應用基礎架構 VP 的說法。值得一提的案例是 ChatGPT Images——要吐出一張圖需要一連串步驟,而這些步驟必須全部可靠地完成;Codex on the web 是另一個。更廣的用途橫跨基礎架構 control plane、data connector(可以理解成建立與維護 RAG index)、到傳統商業流程。生態系裡的使用者包括 Nvidia、Cursor、SpaceX、Lovable、Replit。

Agentic workload 有什麼不一樣(約 00:54–00:56)

他所在的 AI Foundations team 花很多時間想:對 agentic AI 這種 workload,什麼才是對的抽象?取捨在哪?哪些該切開、哪些該給使用者一個旋鈕?他強調這是一種和過去系統領域處理過的都不一樣的 workload,所以重新思考抽象這件事本身很有意思。幾個觀察:

  • 非確定性:呼叫 LLM 就代表你得驗證並保存回應。但硬幣的另一面很有趣——它是模糊的,因此對輸入非常寬容
  • 安全性:威脅面通常想到的是對抗性輸入,像 prompt injection 與 alignment;但他認為思考 agent 時一個很好用的威脅模型其實是「判斷力不佳」——它就是會不小心 rm -rf,不是出於惡意,只是沒想清楚。這件事深深影響他們的設計考量。
  • 執行剖面:因為你在和真實世界互動,所以要抓住狀態、把事情仔細寫下來;另外負載是突發性的,這會導向 serverless 這類做法。

Agency 光譜:不是愈多愈好(約 00:56–00:57)

跨生態系合作後的另一個觀察:存在一條 agency 的光譜,而某個應用的正確解答可能落在光譜上任何一點——而且 agency 愈多不見得愈好

  • 大家想到 agent 時,通常想的是 level 3:一個 agentic loop,由 LLM 決定接下來發生什麼。
  • 但看向左邊的 level 1:有非常多應用(例如摘要)其實是用普通程式碼驅動控制流、只在很特定的點插入 LLM 就能做得很好——可以非常可靠;如果這樣就把事情做完了,那大概就是對的解
  • 光譜另一端則走到 self-evolving agent,現在某些 harness 已經看得到。有它的理由,但同樣不見得是這份工作的正解

Temporal 在思考 agentic AI 的抽象時,目標就是讓你把這個旋鈕轉到想要的位置,而且能在光譜上來回移動,不必重寫整個應用

當天發布:Temporal Agent Harness(約 00:57–00:59)

他當場分享的是 Temporal Agent Harness:尚未是正式支援的產品,但去 GitHub repo 按個星,希望它很快就是。

它是一組建在 Temporal durable execution 核心抽象之上的抽象,讓你比較容易蓋出實用的 agent。設計重點是混搭:

  • 內層 harness 可插拔——可以是像 OpenCode 這樣的 coding agent,可以是 OpenAI Agents SDK(他特別提到它有不少有趣的 sandboxing 功能),也可以是 Pydantic AI;他說他們很努力去擁抱這個生態系。
  • 工具可插拔
  • 介面可插拔——你想透過 Slack、Teams 或別的方式跟它講話都行。

他展示了一張截圖:一個 OpenCode session,他在裡面修一個簡單程式的 bug。因為是跑在 agent harness 上,他不只拿到 durability 與 reliability(想放大規模時特別重要),還「幾乎是免費地」拿到 observability——可以鑽進去看agent 在各個步驟到底在推理什麼、呼叫了哪些工具、沿途發生過哪些 human approval。這就是把抽象想清楚之後拿到的好處。

金句

"There's basically two ways to get that state back. You can either save it or you can recompute it. … And that's sort of, if there's a trick, that's the trick."(約 00:53)

Durable execution 的全部祕密。

"A great threat model when you're thinking about agents is actually just bad judgment — because it happens that rm -rf."(約 00:55)

比起 prompt injection,更常見的災難來源是 agent 單純沒想清楚。

"The more agency you have, it's not always a better thing."(約 00:56)

反直覺但務實的一句:能用普通程式碼可靠解決的,就別硬塞 agentic loop。

提到的專案與資源 / Projects & Resources

名稱 Name 說明 Description 備註 Notes
Temporal durable execution 開源專案,MIT 授權,可後接 Postgres / Cassandra,另有雲端產品 Open-source durable execution project, MIT licensed, backed by Postgres or Cassandra, with a cloud offering 支援 Python、TypeScript 等多語言 SDK
Temporal Agent Harness 建在 durable execution 上的 agent 抽象層,內層 harness / 工具 / 介面皆可插拔 Agent abstraction layer on durable execution with pluggable inner harness, tools, and interfaces 演講當日分享,尚非正式支援產品 / shared on stage, not yet a supported product
OpenCode 可作為內層 harness 的 coding agent;示範截圖即為 OpenCode session Coding agent usable as the inner harness; the demo screenshot is an OpenCode session
OpenAI Agents SDK 另一個可插入的內層 harness,具 sandboxing 功能 Another pluggable inner harness, with sandboxing functionality
Pydantic AI 同上,生態系內另一個可插入選項 Another pluggable option in the ecosystem 字幕作 "pedantic AI"
Temporal 的使用案例 / Temporal users ChatGPT Images、Codex on the web、Nvidia、Cursor、SpaceX、Lovable、Replit ChatGPT Images, Codex on the web, Nvidia, Cursor, SpaceX, Lovable, Replit 亦用於 infra control plane 與 RAG index 維護

逐字稿勘誤 / Transcript Corrections

字幕原文 Heard as 應為 Should be
Johan Shyler Smith / Johan Schlersmith Johann Schleier-Smith
pedantic AI Pydantic AI
open eye agents SDK OpenAI Agents SDK
open code OpenCode
Postgress Postgres
codecs on the web Codex on the web
a sentic AI agentic AI
recomputee recompute
replet Replit
RM-rf rm -rf

待確認 / To Verify

  • 他引述的 OpenAI 應用基礎架構 VP,字幕作 "Venat",姓名待確認。/ The OpenAI VP of application infrastructure he quoted was transcribed as "Venat" — name to confirm.
  • Temporal Agent Harness 的 GitHub repo 網址(他說會放 QR code)未在字幕中出現。/ The GitHub URL for the Temporal Agent Harness (shown as a QR code) doesn't appear in the captions.
  • agency 光譜的 level 1 / level 3 是否有正式定義與完整分級表,演講只口述了兩端與中間。/ Whether the level 1 / level 3 agency spectrum comes from a published taxonomy — only the endpoints and middle were described.

GitHub 上的 Markdown 原始檔 ↗