首先,先介绍一下背景 _——我在IBM研究院工作,作为团队的一部分,我们的使命是孵化颠覆性的技术。在过去的一年里,我们一直致力于帮助一群多样化的建设者利用AI代理来解决自己独特的问题。
在这场人工智能发展的热潮中,我觉得停下来总结一下过去一年中的关键收获很有意义。希望这些见解对你有用!
起始设定2024年初时,我们从在生成式AI模型方面的研究工作中发现以下两个关键观察:
- 大规模语言模型可以利用来解决更复杂的问题。通过巧妙的工程设计和先进的提示技术,模型能够超越少量数据学习的限制。检索增强生成(RAG)是早期的一个例子,展示了模型如何与文档互动并检索事实信息。大规模语言模型还可以通过工具调用动态地与特定环境互动。结合链式思考提示,这些能力为后来被称为AI助手奠定了基础。
- 非专业人士难以利用生成式AI带来的生产力提升。尽管生成式AI提供了巨大的潜力,许多用户在将AI的能力转化为解决高价值问题方面遇到了困难。另一方面,我们观察到成功的团队在释放AI的潜力时,他们在大规模语言模型和系统工程方面都有深厚的专业知识。
这使我们产生了早期的假设:我们能否让更多的普通用户利用AI解决他们日常生活中的问题?
这一愿景在下面这句话里被完美地展现了:坎朱秋来自伊姆布鲁。
早期的一些证明点“我们希望让有一定技术基础的人更容易制作软件。然后让没有技术背景的人也能更容易制作软件。最终让任何人都能更容易地制作软件。那时我们就不会认为自己是在做软件了。”
为了验证我们的假设,我们快速地开发了一个AI代理,该代理在当时的表现优于市面上的搜索产品。这个代理能够将复杂查询拆解为多个步骤,能够在多个网页上搜集所需信息,运行代码,并生成一个有条理的答案。
来认识一下佩里吧!我们的第一个代理原型——佩里。[图片由作者提供]
这个实现特别有趣的地方在于,它依赖于一个开源模型,Llama 3–70B-Chat,这个模型与OpenAI的o1和DeepSeek-R1不同,没有内置的推理功能。我们能够从这个模型中获取代理能力,通过实现这篇文章中详细说明的架构。
为了让这个代理对更广泛的受众有用,我们不得不超越传统的聊天GUI体验进行创新。我们添加的一个关键功能是轨迹探索器,这是一款视觉工具,让使用者能够查看代理生成回应时所经历的步骤。这一特性极大地提升了透明度和用户信任感。
代理的轨迹探索器,图片来源:作者
我们对一些早期采用者测试了这个原型,并发现了几个关键的见解。
- 代理轨迹探索是信任的一个载体。 用户不仅希望得到正确的答案,还希望理解代理是如何得出这个答案的。能够检查推理步骤增加了用户对系统的信心。
- 解决问题的方式很重要。 用户强烈偏好符合他们期望的推理方法。例如,在解决数学问题时,他们更信任基于计算器的解决方案,而不是从搜索引擎抓取的结果。这强调了与用户期望保持一致的重要性。
- 代理会放大现有的安全挑战。 AI代理通过与外部系统动态交互,引入了新的安全风险。潜在的漏洞从非故意修改系统到不正确的或不可逆的操作不等。
- 企业采用需要可执行的业务规定。 虽然提示可以引导AI行为,但并不能保证严格遵守规则。这突显了为AI代理制定全面的规则执行机制的需求更加迫切。
牢记这些教训,我们决定加倍支持日常开发者,以他们的需求为驱动力,推动整个技术栈的发展。
我们早期做出的一个重要决定是开发我们自己的代理框架来支持我们的代理。我们评估了现有的代理工具,发现它们无法很好地满足全栈开发人员的需求。这促使我们开发了BeeAI框架,这是一个基于TypeScript的库,专门用于填补这个缺口。
根据导师的建议,我们选择开源整个技术栈来看看社区对它的反响。这使我们能够接触到各种各样的用户并衡量实际应用情况。
去年推出的BeeAI 开源套件。(图片由作者提供)
我们很快就在开发者中找到了一群 TypeScript 开发者,他们利用 BeeAI 的功能开发了创新的应用。其中特别值得一提的是,Bee Canvas 和 UI Builder 在社区中脱颖而出的项目,展示了基于代理系统的潜力和新的交互方式。
此外,我们的最活跃用户是使用该开源UI的开发者,该UI最初是为非技术人员设计的。这一发现突显了为开发者创造愉悦且直观的方式来互动、使用和演示他们的AI代理程序的重要性。
难得的教训关于创造让用户喜欢的东西:
- 一次只专注于一个用户画像。 过早地试图服务多种用户类型会稀释影响力。虽然我们很兴奋能吸引到日常构建者,但我们的初期牵引力来自 开发者 — 这是我们接下来加倍投入的用户画像。此外,Python 是关键,因为它仍然是 AI 开发中的主要语言,并且有助于我们触及更广泛的开发者群体。使 Python 库与 Typescript 功能一致是我们的首要任务。
- 提供一个干净的开发者体验。 优秀的开发者体验可以让新手轻松获得价值,同时为高级用户提供灵活性。最初我们有许多独立的仓库,这导致了一些摩擦,我们现在正努力 整合 并创造一个更流畅的体验。
- 快速迭代并跟踪哪些功能受到用户欢迎。 AI 代理领域正在迅速发展,目前还没有明确的领导者。最好的方法是保持灵活性 — 专注于用户需求,快速实验并根据用户使用情况进行调整。我们仍处于早期阶段,周到的执行可以将好的想法与其他想法区分开来。
说到构建用于生产的代理,当:
(此处将“生产级”改为“用于生产的”,并在“代理”后加了逗号,使句子更加自然流畅,并考虑了中文口语习惯。)
多种代理架构的示例。[图片由作者提供]
-
代理架构有多种形态。 并不存在一种适用于所有情况的多代理架构方法。成功地将代理投入生产的团队通常会设计出符合其特定使用场景和接受标准的定制架构。一个稳健的框架应该能够适应这种多样性,允许用户实现最适合其独特需求的架构。我们最初的实现是带有倾向性的——我们根据自己的需求设计了 BeeAgent。然而,随着我们获得更多见解,我们将它重命名为 ReActAgent,以承认没有单一的代理设计是最终的,并且我们计划增加更多即插即用的单一代理(参见 此处)。此外,我们还引入了 工作流,这是一个灵活的多角色编排系统,允许用户设计和实现符合其特定需求的代理架构。
-
消费和交互模式很重要。 终端用户与代理交互的方式可能与技术实现同样重要。例如,Anthropic 的 Artifact 功能让用户更容易利用高度迭代的大型语言模型工作流程,如编辑文档或模式。随着我们学到的经验,代理与代理之间以及代理与人类之间的互动充满创新的潜力,这是我们未来计划重点关注的领域。敬请期待更多更新!
- 评估至关重要——并且比以往任何时候都更具挑战性。 由于没有现成的评估数据集和工具,我们不得不从零开始开发自己的流程。我们的方法包括定义代理应该支持的所有功能,并构建一个自定义的基准数据集。这些功能从控制回复的语气或冗长性的简单方面到更复杂的推理任务的准确度不等。每当引入新功能时,我们都会严格测试,以确保不会对现有功能产生负面影响。除了评估输出外,我们还分析了代理的推理轨迹——它是如何得出答案的。这仍然是一个复杂且不断演变的挑战,加快从原型到生产的路径是该领域的重要机会。
✨ 如果您一直关注 BeeAI 的旅程,并希望参与塑造它的未来,我们邀请您探索我们的 路线图 并参与关于即将变化的 讨论区。我们非常希望能听到您的意见!
共同学习,写下你的评论
评论加载中...
作者其他优质文章