用 AI Agent 扩展社区的同时保持人性化
在 Vercel,开发者社区是我们所做一切的核心。这是我们与使用我们产品的人保持最紧密联系的方式。
随着社区的发展,自动化帮助我们扩展规模。但问题仍然会丢失,路由需要时间,上下文切换让我们无法专注于真正需要我们专业知识的工作。而且自动化永远无法帮助最重要的事情——那些你真正与某人建立联系并帮助他们的时刻。你无法用 AI 复制与真正关心你的人交谈的感觉。
所以我们构建了 agents 来接管那些不需要人类参与的路由、分类和后续跟进工作。我们称之为 Community Guardian(社区守护者)。让我们聊聊它做什么、我们如何构建它,以及任何人(包括非工程师)如何也能交付 agents。
Community Guardian 运营层
当新帖子进来时,Guardian 会分析它、检查重复项,并将其分配给具有正确专业知识和带宽的团队成员。每个人在新问题分配给其他人之前最多处理 10 个问题,保持跨时区的工作负载平衡。
没有任何问题会被忽视。如果一个问题 48 小时内没有得到回答,Guardian 会重新分配它。当我们等待更多信息时它会发送提醒,并检测对话何时得到解决。
在底层,Guardian 通过 AI Gateway 使用 Claude,并运行在 Vercel Workflows 上,这让它可以每 10 分钟检查一次,并在周期之间休眠而不消耗资源。
这处理了运营方面,但我们的团队仍然需要更好的上下文来做出良好的响应。
智能层:c0 研究助手
Guardian 管理后勤工作,而 c0 是深入研究的 agent。它存在于 Slack 中,我们的团队已经在那里工作。
当团队成员需要某个话题的上下文时,c0 会搜索我们的知识库、文档、GitHub issues 和过去的讨论,整理出一个上下文包。上下文包帮助我们的团队更快、更准确地响应,而不是依赖他们自己的记忆。
向 c0 询问关于 v0 的社区反馈
除了单个话题,c0 还帮助我们与产品团队闭环。它跟踪社区情绪和反复出现的技术障碍,因此我们可以询问 c0"最重要的产品反馈"并将真实数据带入产品对话,而不是让某人花几个小时审计一周的帖子。
重获人类专注力
在最初的 23 天里,系统帮助了 281 个独特用户:
| 指标 | 结果 |
|---|---|
| 初始上下文收集 | 4,716 次首次响应,在团队成员到达之前分类问题并收集日志 |
| 话题复活 | 1/8 的"被遗忘"话题重新激活,产生 23 个确认的解决方案 |
| 运营规模 | 最近两周内超过 1,400 次 agent 运行,从过期检查到自动解决 |
| 重复检测 | 通过向量相似度检测到 4 个重复话题,其中 3 个在 95%+ 置信度下自动关闭 |
每个实质性的答案仍然来自我们的团队。Agents 处理这些答案周围的其他一切。没有了分类和跟踪的重复部分,我们的团队可以花时间进行复杂的配对调试和关系建立,为更广泛的社区创建内容,或者只是与他们关心的开发者一起玩得开心。
构建你自己的
你不必是开发者才能构建这样的东西。你只需要一个想法。我不是工程师。我管理社区并与开发者交谈。当然,我理解我们正在解决的问题,但我不是每天都在编写生产代码。
我的想法始于苏黎世的一次演讲,我展示了我们如何自动化社区工作流程。但那是传统的自动化,脚本、规则和 if-this-then-that 逻辑。它有效,但很脆弱。每个边缘情况都需要一个新规则。
在 Vercel Ship Zurich 演示我们的社区自动化工作流程
我想要更智能的东西,所以我开始用我的 coding agent 实验添加一个思考层——"新帖子到达"和"采取行动"之间的步骤。不再是"如果帖子包含'billing'则路由到计费团队",而是变成了"阅读这个帖子,理解这个人真正需要什么,然后决定"。
思考层就像另一个 DX 工程师在查看每个帖子,他可以:
- 当用户说"它不工作"时读懂言外之意
- 将点连接到三个月前的 GitHub issue
- 理解某人是沮丧还是只是困惑
- 知道何时升级 vs. 何时收集更多上下文
以这种方式构建意味着我可以用简单的英语描述我想要什么,得到可工作的代码,针对真实的社区话题测试它,然后迭代。
我想为不同的任务使用不同的模型,让我们的 agent 访问我们的文档和社区,并允许它在失败时暂停、恢复和恢复。我没有从头开始构建所有这些,而是向我的 coding agent 描述了我需要什么,最终选择了 AI Gateway、AI SDK 和 Vercel Workflows,它们已经处理了这些复杂性。
构建它的 prompts
第一个 prompt 是核心想法:
构建一个帮助我处理社区日常运营的 agent,
比如分配帖子和格式化。我还不知道哪个模型效果最好,
但让它易于切换而不需要新的 API 密钥。
使用 AI SDK 构建 agent。从那里开始,随着我对正在构建的东西了解更多,prompts 变得更具体。
每 10 分钟触发一次,我想检查最新的话题。我从 cron jobs 开始,但为此切换到了 Vercel Workflows。持久执行意味着 agent 可以在检查之间暂停,并在它离开的地方恢复。
确保我们每 4 小时轮换一次分配。每个 prompt 都解锁了下一个问题。我没有遵循教程或文档。我在进行对话,系统从那次对话中成长。
你不需要知道正确的术语或如何编码。你只需要足够了解你的问题来描述它,并愿意在某些东西不按你预期的方式工作时进行迭代。思考层将自动化从"遵循这些确切的规则"变成了"理解情况并做出判断"。
用心构建
社区关乎人,我们希望我们的人有时间和精力充分展现,与社区中的开发者一起构建并为他们构建。
如果你想构建类似的东西,我们用 Chat SDK 构建了 c0,这是一个统一的 TypeScript SDK,用于跨 Slack、Teams、Discord 等构建 agents。Guardian 使用 Vercel Workflows 进行持久执行。来社区分享你构建的东西。我们总是乐意讨论我们学到的东西。
关键要点
- 自动化后勤,保留人性:让 AI 处理路由、分类、跟进等重复工作,让人类专注于需要专业知识和同理心的复杂问题
- 双层架构:运营层(Guardian)处理分配和跟踪,智能层(c0)提供深度研究和上下文
- 非工程师也能构建:通过 coding agent 和自然语言描述需求,无需深厚的编程背景
- 渐进式迭代:从简单的想法开始,通过对话式 prompts 逐步完善系统
- 选择合适的工具:AI Gateway 用于模型切换,Vercel Workflows 用于持久执行,AI SDK 用于 agent 构建
技术栈
- AI Gateway:统一的 AI 模型访问层,支持无缝切换模型
- Vercel Workflows:持久执行引擎,支持暂停/恢复
- AI SDK:构建 AI agents 的 TypeScript SDK
- Chat SDK:跨平台聊天 agent 构建工具(Slack、Teams、Discord)
- Claude:主要的 LLM 模型
适用场景
- 社区管理和支持自动化
- 客户服务工单分类和路由
- 知识库搜索和上下文聚合
- 团队工作负载平衡
- 情绪分析和反馈收集
