跳到正文
汉松札记
返回

生产环境中的 Agent:OpenGov 如何构建并扩展 OG Assist

AI Highlight

来源

文本来源是 AI Engineer 频道视频《生产环境中的 Agent:OpenGov 如何构建并扩展 OG Assist》的修复版中文稿。下面按汉松兴趣画像优先保留机制解释、反常识判断和可复用工作流,而不是做普通摘要。

开头可以先抓住一句:OpenGov 工程师 Gabe de Mesa 介绍了他们如何在生产环境中构建并扩展 OG Assist:从 Effect 原生 Agent 循环、A2A 协议、评测、人在环路中的审批、安全沙箱、长上下文记忆,到可观测性、工具与技能,以及内部使用 Claude、Cursor 等 Agent 工具提升开发效率。

一、开场、OG Assist 背景与 Effect 选择

背景

Gabe 介绍 OpenGov、OG Assist 的入口形态、面向客户产品的 Agent 能力,以及团队为何押注 TypeScript 生态中的 Effect 来支撑 Agent 系统。

在继续之前,先简单介绍一下我自己。我叫 Gabe,是 OpenGov 的软件工程师,在 AI Agent 团队工作,也是帮助构建 OG Assist 以及今天会看到的一些系统的人之一。再简单说说 OpenGov。OpenGov 是一家软件公司,使命是让政府运作更加高效、更加可问责。OpenGov 销售 ERP 软件,包括预算、采购、资产管理和许可审批等。公司大约成立于 14 年前。有意思的是,我们有一个叫 OG Assist 的东西,它是所有产品顶部导航栏里的一个小按钮。更有意思的是,我们所有产品套件和产品团队都构建了工具和技能,用来支撑这个按钮。

Gabe 介绍 OpenGov、OG Assist 的入口形态、面向客户产品的 Agent 能力,以及团队为何押注 TypeScript 生态中的 Effect 来支撑 Agent 系统。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

二、Effect 原生 Agent 循环、A2A 协议、反馈与评测

背景

这一部分讲 OpenGov 从 LangGraph 迁移到自研 Effect 原生 Agent 循环,如何用 A2A 协议统一前后端契约,以及如何结合用户反馈、自动化评测和人在环路中的审批提升准确性与安全性。

人在环路中。这是我们构建的一个很酷的功能:如果某个工具调用需要审批,我们会以确定性的方式中断 Agent 循环。如果 Agent 试图发起一个需要人类批准的工具调用,就会展示这个 UI,人类可以点击接受或拒绝。也就是明确拒绝或明确接受 Agent 正在尝试执行的动作。这能确保我们建立信任,也确保系统安全,尤其是当 Agent 试图执行变更操作时。我们始终、始终、始终要确保人类坐在驾驶位上。

这一部分讲 OpenGov 从 LangGraph 迁移到自研 Effect 原生 Agent 循环,如何用 A2A 协议统一前后端契约,以及如何结合用户反馈、自动化评测和人在环路中的审批提升准确性与安全性。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

三、沙箱、长上下文、动态 UI 与可观测性

背景

这一部分覆盖 Agent 执行代码和生成文件时使用的沙箱,长对话中的滚动摘要与记忆机制,运行时生成 UI 的能力,以及 Effect 自带链路追踪对调试 Agent 系统的帮助。

工具和技能。我们不仅对 Effect 下了大赌注,也对工具和技能下了大赌注。我们相信工具和技能基本就是你需要的一切。在这个例子里,你可以看到左边有一个叫 get dad joke 的工具。这是 Effect 的方式,也是在 OpenGov 做事情的构建块。当然,这个例子来自 Effect 网站。你可以看到:这就是如何创建一个工具。然后你把它加入一个工具包,也就是一组工具的集合,再把这个工具包注册到语言模型上。比如,如果你有一个提示词说:生成一些关于海盗的老爸笑话。猜怎么着?Agent 有一个工具可以帮助获取老爸笑话。

这一部分覆盖 Agent 执行代码和生成文件时使用的沙箱,长对话中的滚动摘要与记忆机制,运行时生成 UI 的能力,以及 Effect 自带链路追踪对调试 Agent 系统的帮助。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

四、工具、技能与开发效率

背景

结尾部分说明 OpenGov 对工具和技能的投入,以及团队如何同时为客户侧 Agent 和内部开发流程构建能力,用 Claude、Cursor、Claude Agent 等工具加速读代码、写代码、代码审查和交付。

工具和技能。我们不仅对 Effect 下了大赌注,也对工具和技能下了大赌注。我们相信工具和技能基本就是你需要的一切。在这个例子里,你可以看到左边有一个叫 get dad joke 的工具。这是 Effect 的方式,也是在 OpenGov 做事情的构建块。当然,这个例子来自 Effect 网站。你可以看到:这就是如何创建一个工具。然后你把它加入一个工具包,也就是一组工具的集合,再把这个工具包注册到语言模型上。比如,如果你有一个提示词说:生成一些关于海盗的老爸笑话。猜怎么着?Agent 有一个工具可以帮助获取老爸笑话。

结尾部分说明 OpenGov 对工具和技能的投入,以及团队如何同时为客户侧 Agent 和内部开发流程构建能力,用 Claude、Cursor、Claude Agent 等工具加速读代码、写代码、代码审查和交付。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

整体判断

这篇最值得保留的不是某个单点技巧,而是它把「生产环境中的 Agent:OpenGov 如何构建并扩展 OG Assist」放进了更完整的工程框架里:开场、OG Assist 背景与 Effect 选择、Effect 原生 Agent 循环、A2A 协议、反馈与评测、沙箱、长上下文、动态 UI 与可观测性。这些内容可以作为汉松后续写 AI 工程、Agent 系统和团队工作流时的素材。

更重要的是,它提供了一种判断 AI 系统的方式:先看问题如何被拆成状态、动作、工具、评估和人的边界,再看模型能力如何嵌进去。只有这样,视频里的做法才会从一次演示变成可迁移的方法。

AI Highlight RSS
分享这篇文章:


上一篇
浏览器 Agent 需要的不是更好的模型,而是更好的眼睛
下一篇
用 TurboQuant 加速你的 Agent 检索