007 · OG Assist 上線實錄
講者分享 OpenGov 用 Effect 自建 agent loop,靠評測、人工核准與沙盒撐起正式環境。
原標題:Agents in Production: How OpenGov Built and Scaled OG Assist - Gabe De Mesa, OpenGov
重點摘要
- 押寶 Effect 函式庫agents team 把 TypeScript 函式庫 Effect 當成整個系統的地基,從 schema、追蹤到並行處理都靠它,團隊認為這個決定回報豐厚。
- 從 LangGraph 換成自建 loop一開始用 LangGraph,團隊規模擴大、需求變複雜後改寫成自己用 Effect 寫的 agent loop,換取對整個流程更細緻的掌控。
- 用 A2A 協定定規格內部採用 Google 提出的 Agent2Agent 協定定義 agent 路由與 schema,agent card 這類規格讓前後端有共同契約可以對齊。
- 回饋與自動化評測雙軌並行讚踩按鈕蒐集使用者回饋,加上 CI 裡跑的自動化 evals 驗證工具呼叫是否正確,兩者一起讓迭代速度變快。
- 人在迴圈、程式碼跑在沙盒會修改資料的操作一定要人核准才會執行,執行程式碼或建立檔案則丟進用完即丟的沙盒,不會動到正式環境。
- 長對話用漸進式摘要處理對話一長就用 rolling summarization 取代塞滿最新訊息,需要時還能回頭 recall 到摘要裡更早提過的內容。
時間軸
時碼點下去會跳到影片的那一段。
| 時碼 | 段落 | 重點 |
|---|---|---|
| 00:00 | 開場 | Gabe De Mesa 自我介紹是 OpenGov 的工程師,預告要談 OG Assist 的 agent 架構、harness、evals 與 observability。 |
| 02:06 | 公司與 OG Assist | OpenGov 做政府單位用的 ERP 軟體,OG Assist 是嵌在所有產品導覽列上的 agent 助手按鈕。 |
| 03:20 | 團隊起源 | AI agents team 成立之後,OG Assist 逐步整合進所有產品的前端與後端功能。 |
| 04:28 | 押寶 Effect | agents team 選擇用 TypeScript 函式庫 Effect 打底,團隊認為這個決定回報豐厚。 |
| 05:35 | 換成自建 agent loop | 原本用 LangGraph,團隊擴大、需求變複雜後改寫成自己用 Effect 寫的 agent loop,換取對整個流程的完整掌控。 |
| 07:37 | 採用 A2A 協定 | 用 Google 提出的 Agent2Agent 協定定義 agent 路由與 schema,agent card 這類規格讓前後端有共同契約可以對齊。 |
| 09:09 | 回饋與自動化評測 | 讚踩機制蒐集使用者回饋,加上 CI 裡跑的自動化 evals 驗證工具呼叫是否正確,兩者一起加快迭代速度。 |
| 10:27 | 人工核准機制 | 需要人核准的工具呼叫會跳出畫面,讓人明確接受或拒絕,確保有風險的操作一定有人把關。 |
| 11:13 | 沙盒執行環境 | agent 要執行程式碼或建立檔案時,會在用完即丟的隔離沙盒裡進行,不會動到正式環境。 |
| 12:12 | 長 context 的漸進式摘要 | 對話變長就用 rolling summarization 取代塞滿最新訊息,需要時還能回頭 recall 到摘要裡更早的內容。 |
| 13:50 | 動態產生 UI | agent 能在對話當下即時產生表單這類 UI,讓互動更貼合當下的情境。 |
| 14:53 | 追蹤與可觀測性 | Effect 讓每個函式呼叫自動掛上 span 並串成 trace,方便抓出效能瓶頸並跨服務除錯。 |
| 16:08 | 工具與 skills | 團隊相信工具與 skills 幾乎是 agent 的全部,示範怎麼把工具包進 toolkit 交給 language model 使用。 |
| 17:38 | 內部開發也用 AI | OpenGov 內部開發流程也大量用 Claude、Cursor 等工具,加速讀寫、審查與交付程式碼。 |
值得記的話
名詞與人物
| Gabe De Mesa | OpenGov 的軟體工程師,agent 團隊成員,這場的講者。 |
|---|---|
| OpenGov | 政府單位用的 ERP 軟體公司,成立約 14 年,產品線含預算、採購、資產管理與核發許可。 |
| OG Assist | OpenGov 內嵌在所有產品導覽列上的 agent 助手按鈕。 |
| Effect | TypeScript 函式庫,agents team 用它打底,涵蓋 schema、追蹤、並行等功能。 |
| Agent2Agent(A2A)protocol | Google 提出的 agent 溝通協定,OpenGov 用它定義 agent 路由與 schema。 |
| LangGraph | OG Assist 早期用的 agent 框架,後來換成自建的 effect-native loop。 |
| rolling summarization | 對話變長時用漸進式摘要取代塞滿最新訊息的做法。 |
延伸
- A2A 協定的其他擴充(例如 A2UI)只提到名稱,沒有進一步說明實際用法。
- Effect 團隊的 trace 範例畫面只展示怎麼看,沒有逐欄位解釋。
- 動態產生 UI 除了長文範例的表單,還有哪些型態,這場沒有進一步舉例。