推出 Stack Overflow AI Assist:现代开发者的知识引擎与AI驱动问答

Stack Overflow 推出 AI Assist,一个结合检索增强生成技术和人类验证答案的AI工具。文章详细介绍了其研发过程,包括RAG+LLM管道设计、归因系统、微服务集成以及如何在保持高准确性的同时提升响应速度。AI Assist 旨在为全球开发者提供无缝、可信的知识获取体验。

介绍 Stack Overflow AI Assist——为现代开发者打造的工具

在AI时代,开发者与知识互动的方式已经改变。正因如此,我们创造了 AI Assist——这是一种全新的方式,让用户可以访问我们18年的专家知识,也体现了 Stack Overflow 如何继续成为全球程序员始终打开的浏览器标签页。

这想必不会让您感到惊讶:在AI时代,各个年龄段和经验的开发者与知识互动的方式已经发生了改变。随着AI工具日益普及,它们彻底改变了许多技术专家获取信息、提出问题、学习新技能的方式。尽管技术文章和论坛讨论始终有其价值,但我们知道许多开发者寻求信息的方式已经不同了。

在 Stack Overflow,我们想要去往开发者所在的地方:继续成为全球程序员始终打开的标签页。因此,我们创造了 AI Assist,现已在 Stack Overflow 上可用,以满足我们长期用户以及下一代开发者不断变化的需求。AI Assist 是一个快速高效的学习工具,优先展示来自我们专家社区的内容,它是一个全新的、进入我们公共平台的入口,结合了人类验证答案的力量与生成式AI,以更低的摩擦为开发者提供他们所需的答案。

以下是我们如何构建它——以及我们接下来的计划。

核心理念

开发者进行关键词搜索、翻阅大量搜索结果页面、为来自不同来源的内容打开多个标签页的日子已经一去不复返了。标签页和上下文切换一直是开发者的痛点,而AI工具的发布为许多人减轻了知识发现的摩擦。我们 Stack Overflow 的团队深知,任何用户体验的现代化都必须包含AI。

多年来,我们一直是开发者寻求知识和社区的第一站,但我们知道,获得问题答案并非没有挑战。无论是不知道社区规则,难以找到相关内容,还是担心问了重复的问题,用户在首次访问我们的网站时都可能面临许多障碍。我们需要创造一种使用 Stack Overflow 的新方式,以解决这些障碍,为用户提供指导,让他们在社区中感到宾至如归。我们也希望这种体验是友好的——一个用于问题解决和内容发现的对话式界面,用户可以轻松地学习我们平台上已有的、长达17年的专家知识。

为 Stack Overflow 测试AI

我们的产品团队从与用户交谈开始研究,通过定性访谈和调查,了解AI可能如何融入 Stack 的用户体验。我们与AI工具的资深用户和偶尔使用者都进行了交谈,以更好地理解广泛的用户会如何与 AI Assist 这样的功能互动。

我们发现,用户将AI工具用于不同的用例,通常将它们与传统搜索引擎等更传统的工具结合使用。同样,许多受访者发现,尽管AI的实际输出在准确性和相关性方面可能参差不齐,AI工具已经改变了他们的工作方式。最终,我们采访的用户希望得到他们可以信任的答案,并希望AI工具能更无缝地集成到他们的工作流程中,以减轻摩擦——尤其是上下文切换的需求。

因为团队希望快速构建,我们在自己的域名上创建了 AI Assist 工具,使我们能够在一个不影响主站点的空间里进行实验和构建。我们的 Alpha 版本用于测试工具基础设施的可行性,使我们能够获得反馈并优化工具。

在产品的第一轮测试(主要侧重于通过LLM体验为用户提供答案,并用 Stack Overflow 的相关问答进行丰富)之后,我们进入了 Beta 测试阶段。在这个阶段,我们加入了来自社区的答案机制,一个 RAG + LLM 的体验(在可用时从 Stack Overflow 和 Stack Exchange 网站获取答案),以及一个更新、更易用的界面。为了确保我们的 AI Assist 工具(设计为模型无关,并使用不同模型来为用户呈现最佳答案)能与其他AI并驾齐驱,我们还集成了对LLM模型进行排名的 ProLLM 基准测试。

最终,基于我们公司的理念和社区反馈,我们知道,引用、归属和人类验证的答案是不可妥协的。因为尽管AI使用量在增加,但过去一年对AI的信任度有所下降,确保 AI Assist 依赖于我们社区可信的知识至关重要。“我们为那些关心信任信号的人、为创作者设置了信任信号,”产品经理 Ash Zade 在 Stack Overflow 播客的一集中说道。“[这]是非常重要的一点,也是我们如此强调归属和来源的原因之一……你首先看到的是,这里是所有的来源,我们告诉用户,这个答案是由人类内容增强AI内容组成的。”

AI Assist 还会包含一个进入社区的途径,当工具无法给出确切答案,或者用户希望深入探讨时,可以提出问题。通过这种方式,我们提供了一种比传统搜索和问答摩擦更小的方式与 Stack Overflow 互动。

我们如何继续构建 AI Assist

我们希望在我们的公共平台、完全在 Stack Overflow 上发布 AI Assist 的下一个迭代版本。但在这样做之前,我们希望提高速度、准确性和一致性。为了平衡AI工具这三个必要的方面,我们使用不同的模型、提示策略和输出风格进行了多次实验。为了优先确保答案的准确性,我们调整了搜索相关性和重排序器,并确保具有最新信息的最新模型成为增强管道的最后一步。这样,AI Assist 的设计使用户能收到由 Stack Overflow 社区创建的知识库支持的正确答案,并且被调用来提供答案的LLM将是可用的最新版本。

为了提高一致性和速度,我们为 RAG + LLM 管道的三个步骤更新了提示:

  1. 利用 RAG 在 Stack 站点中搜索答案,
  2. 提取带有归属信息的顶级结果,
  3. 使用LLM来“审计”答案,评估替代方案、结构和完整性,并在必要时用LLM的知识补充答案。

这最大化地提高了我们工具与新模型的兼容性,并确保以正确格式询问相同问题时,答案相同或相似。它还将响应速度至少提高了35%。

我们还对用户体验进行了一些调整,以更多地利用 Stack Overflow 的原始内容并改进引用。我们将内联引用改为块引用,以便突出显示更大块的经过社区验证的内容,以及更长的、可以复制的代码片段。这些代码片段具有语法高亮以便于解析,并且“复制代码”按钮包含归属信息,有助于维护代码。

我们为 AI Assist 带来的一个主要改进是将其带到 Stack Overflow 平台上。我们通过在单体应用中使用 HTTP 代理连接到底层微服务来实现这一点。因为 AI Assist 最初存在于自己的域名上,我们还需要调整布局,使其能在 Stack Overflow 的设计中工作。最后,我们从单体应用向服务传递了一个 JWT,以便能够验证用户身份。

通过将 AI Assist 集成到公共平台,我们能够启用身份验证,从而为更多功能和个性化机会(如保存或分享聊天记录)铺平了道路。这些新功能使开发者能够跳回他们的工作流程,从上次中断的地方继续,或者分享他们的对话,通过将私人见解转化为集体知识的聊天记录来促进团队协作解决问题。

其核心是,我们希望 AI Assist 成为一个学习工具,打破访问我们社区专家知识库的障碍。

现在,AI Assist 已广泛适用于任何想要快速找到社区验证答案的人,以及那些想要学习或在 Stack Overflow 上与社区联系的人!

与社区持续的反馈循环

在构建 AI Assist 的过程中,我们不断衡量社区的反馈。随着我们发布改进和迭代,独立 AI Assist 站点的流量稳步增长。这揭示了我们社区的好奇心。我们的流量分析还发现,AI Assist 吸引了与我们传统问答网站不同的人群,AI Assist 上提出的新兴技术问题比传统的 Stack Overflow 网站更多。

随着我们AI工具的每个版本发布,根据工具底层架构的不同,我们看到用户的情绪在积极和消极之间波动,使用最新模型的最新迭代获得了主要的积极反馈。

与此同时,我们的归属系统获得了压倒性的积极反馈,该系统将答案植根于直接来自 Stack 站点的内容中。用户的这种反应验证了我们“人类+AI”的 AI Assist 方法,即优先考虑人类验证的知识,同时仍利用AI的力量。用户还表示赞赏该工具如何在响应中添加代码片段、提示和替代方案,从而推动他们学习和探索。对话式界面也受到关注,因为它允许用户使用自然语言提示工具,并轻松在一次对话中深入探讨特定主题。

全球已有超过 285,000 名技术专家访问了 AI Assist,将其用于各种任务,从理解错误消息,到调试代码,再到架构设计应用程序。我们最活跃的用户每天创建多达 6,400 条消息,其中 75% 的对话专注于高度技术性的内容。

AI Assist 的下一步是什么?

AI Assist 是一个强大的工具,可以帮助我们网站的新用户和长期用户学习、与社区互动并深入我们的知识库。然而,由于这种体验是非结构化、随意和对话式的,用户可能无法认识到它可以提供的所有帮助方式,从调试、解释概念到克服技术障碍。我们的下一个目标是将 AI Assist 更深地融入我们的平台,在用户所在的地方与他们相遇——例如在单个问答页面上为用户提供及时的帮助。

AI Assist 的未来将获得更多的上下文,使该工具能更好地根据用户的兴趣和活动主动帮助他们学习。

最后,因为我们的使命始终是与开发者同在,我们计划将 AI Assist 带入用户的 IDE、聊天平台以及他们工作的任何其他地方。

开发者学习和消费知识的方式已经改变,但 Stack Overflow 正与他们一起进化。我们正在为你并与你一起构建这个工具,所以今天就试试 AI Assist,并告诉我们你的想法。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计