KeyFrame內部研究專用

Agents in Production: How OpenGov Built and Scaled OG Assist - Gabe De Mesa, OpenGov

AI Engineer·6月26日週五·18 min英文

三句話摘要

Open Gov如何在生產環境中構建、擴展和運營AI代理系統OG Assist的完整架構與實踐。 自研代理循環、采纳严格协议、多层安全设计与多维反馈驱动的快速迭代,是Open Gov在生产环境成功运营AI代理系统的核心秘诀。 從LangChain到自研代理循環的控制權升級:Open Gov团队在规模扩大后发现开源框架无法满足复杂需求,遂全面投注Effect库。基于Effect构建的自主代理循环赋予团队对trace、结构化并发、日志的精细掌控,既实现了定制化功能,又继承了Effect生态的架构优势。

重點整理

重點
  • 1

    從LangChain到自研代理循環的控制權升級:Open Gov团队在规模扩大后发现开源框架无法满足复杂需求,遂全面投注Effect库。基于Effect构建的自主代理循环赋予团队对trace、结构化并发、日志的精细掌控,既实现了定制化功能,又继承了Effect生态的架构优势。

  • 2

    Agent-to-Agent协议作為發展的规范锚点:团队采纳Google的开放标准A2A协议来定义agent card、工具路由、后端schema等,这种协议驱动的方法消除了前后端对接歧义,使团队能围绕明确的契约高效协作,并通过protocol扩展灵活适配新需求。

  • 3

    多層安全与人類在迴圈中的确定性角色:通过deterministically中断代理循环进行工具审批、沙箱隔离代码执行、对变更操作的人工确认,确保人类始终掌控决策权。这种分层防护既赋予代理能力边界,又保护了生产系统安全。

  • 4

    多維反饋與快速迭代的正反馈:结合用户的点赞/点踩反馈机制和CI中针对真实完成结果的自动化评估,团队能够快速识别问题、验证改进。这种量化信号驱动的迭代让工具、技能和代理框架的优化形成了持续加速。

實用技巧與重點

乾貨
  • 核心技術棧與工具
  • 主要框架:Effect库(TypeScript)、Effect AI包、Agent-to-Agent协议(Google)
  • 函数基元:stream text、依赖注入、toolkit(工具集合)、schema验证
  • 工具示例:get_dad_joke、PDF生成、代码沙箱、UI动态渲染
  • 安全与隔离機制
  • 人类审批循环:deterministic interruption、UI接受/拒绝决策
  • 沙箱隔离:ephemeral isolated space、运行时代码执行、文件创建隔离
  • 变更保护:对mutating operations的强制人工确认
  • 長上下文管理
  • 滚动总结策略:每n条消息生成一次summary
  • 消息保留策略:保留最近n-5或n-10条消息
  • 记忆模块:维护历史总结供回忆和上下文关联
  • 可观测性與追踪
  • Effect内置能力:自动span标签、trace聚合、drill-down分析
  • Profiling功能:总耗时统计、瓶颈定位、跨服务故障关联
  • 应用场景:多API集成调试、性能分析
  • 評估與反饋迴圈
  • 用户信号:thumbs up/down点赞点踩机制
  • 自动化信号:CI中的automated evals、prompt验证、工具调用验证
  • 迭代对象:工具、技能、harness本身
  • 內部工具應用
  • Claude、Cursor、Cloud Agents用于代码阅读、编写、审查和部署流程加速

結論

結論

自研代理循環、采纳严格协议、多层安全设计与多维反馈驱动的快速迭代,是Open Gov在生产环境成功运营AI代理系统的核心秘诀。

完整解析

詳細

Open Gov是一家14年前创立、致力于赋能有效政府治理的软件公司,主要提供预算编制、采购、资产管理和许可证管理的ERP系统。近期公司推出了OG Assist——一个集成于所有产品导航栏的AI代理按钮。这个系统能够理解用户需求,调用特定产品的工具函数,从而在聊天界面中为用户提供智能协助。

团队最初采用LangChain框架,但随着使用场景复杂化和规模扩大,发现开源框架的约束逐渐显现。关键决策是全面投注Effect库——一个TypeScript开源生态,内置了schema验证、错误处理、日志、分布式追踪等能力。基于Effect,团队构建了self-hosted的代理循环,核心模块是effect-native agent loop。这个循环通过依赖注入模式实现语言模型的灵活替换,并使得trace、结构化并发、日志控制在整个系统中保持一致。开发者通过stream text函数处理prompt流,获得了对模型交互的完全掌控权。

在协议规范方面,团队采纳了Google发起的开放标准Agent-to-Agent协议。该协议定义了严格的agent card结构(包含name、description等字段)、工具路由、后端schema,甚至支持metadata扩展和a2UI等。协议驱动的开发消除了前后端对接的歧义,使前后端能围绕明确的契约高效协作。这种规范性方法被团队称为"huge bet on effect",并在实践中证实了其价值。

在生产安全方面,系统实现了多层防护。第一层是人类在循环中的确定性角色:当代理尝试执行需要审批的工具调用时,系统会deterministically中断代理循环,弹出UI让人类明确接受或拒绝。第二层是沙箱隔离:代理执行代码、创建文件时都在ephemeral的隔离空间中进行,确保对生产系统无风险。这种分层防护在处理mutating operations时尤为重要,确保人类始终掌控决策权。

针对长上下文问题,团队采用了滚动总结策略。相比简单堆砌最新消息,系统每n条消息后生成一次summary,同时保留最近的n-5或n-10条具体消息。关键创新在于memory模块,它维护这些历史总结,当用户引用早期内容时(例如"记得我们之前讨论过...的事吗?"),代理可以通过回忆这些总结来维持对话的连贯性和上下文感。这种混合策略既解决了token溢出问题,又保留了细节可追溯性。

在可观测性方面,Effect提供了开箱即用的分布式追踪能力。所有Effect函数调用都被自动标记span并汇聚为trace,开发者可以详细分析API调用链路、耗时分布、性能瓶颈,并在故障时跨服务关联排查。这对于代理系统与多个外部API紧密集成的场景尤为关键。此外,系统还支持运行时UI生成——例如当用户要求撰写长文并要求列举主题选项时,代理可以根据注册的form原语在运行时动态构建表单并呈现选项,营造个性化的实时体验。

在迭代循环上,团队采集了多维度信号以实现快速改进。用户层面,通过UI的点赞/点踩反馈机制直接表达满意度;系统层面,在CI中运行automated evals,针对真实完成结果验证工具是否被正确调用、操作是否达成预期。基于这些量化信号,团队形成了持续加速的反馈循环,快速改进工具、技能和代理框架本身。

工具和技能是系统的基础原语。团队采用Effect定义的声明式模式来构建工具(如示例中的get_dad_joke),然后将工具组织成toolkit(工具集合),最后向语言模型注册。这种组合化、易扩展的设计让添加新功能变得高效,同时保持了代码的结构清晰。

作为意外收获,Open Gov内部开发流程也从这套系统中获益。团队广泛使用Claude和Cursor加速代码阅读、编写、审查和部署,这些AI工具与外部代理系统形成了正反馈:外部系统的工具设计经验反哺内部工具建设,内部工具的成功应用又验证了架构设计的有效性。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Everything Goldman Sachs Taught Me About AI (In 10 minutes)
AI 技術英文8月24日

Everything Goldman Sachs Taught Me About AI (In 10 minutes)

Nate Herk

  • 驗證優於相信:看起來完整的AI輸出不等於正確答案,需在提示中要求模型重新檢查數字、引用來源,並對無把握的部分標記。
  • 區分AI與自動化:確定步驟且答案已知的任務用傳統自動化更便宜快速;只在需要判斷力、靈活性或處理複雜資訊時才用AI,兩者結合效果最佳。
  • 以問題驅動選型:先寫清楚「要解決的問題是什麼、成功的樣子是什麼」,再決定用什麼工具,許多失敗項目是從技術而非問題出發。
Mu: a self-hosted personal agent where the interface is an email address you can write to
AI 技術英文8月23日

Mu: a self-hosted personal agent where the interface is an email address you can write to

GitHub Awesome

  • Mu 是自主代理人系統,具有實際網址與獨立伺服器,用戶可透過多種方式與其互動——網頁應用、電子郵件或程式化介面。
  • 架構完整覆蓋日常工作流程的多個層面,整合郵件收發(SMTP/IMAP)、檔案管理、行事曆、新聞聚合、市場數據與搜尋功能於一個 Go 伺服器內。
  • 支援自帶模型與多種通訊協定,用戶可選擇不同的 AI 模型,並透過 MCP、HTTP API 或命令列工具整合到其他系統。