微信扫码
添加专属顾问
去年,我撰写了关于高级检索增强生成(RAG)技术在企业中的应用,以及多智能体软件工程(MASE)的兴起。自那时起,作为软件开发中生成AI的两大支柱,这两种技术不断发展,并以一种有望重新定义企业AI应用领域的方式相互交织。
AI代理的本质
首先,让我们探讨构成AI代理的要素是什么?一些开发者将代理描述为具有推理、行动和记忆能力的自主实体。例如,一个ReACT代理或能够推理和行动的代理。那么,是什么构成了一个ReACT代理呢?我认为它们由三个基本要素组成:
智能:代理访问大型语言模型(LLMs)的能力。
知识:其在特定领域或主题上的结构化和非结构化数据存储库。
受体与效应器:使代理能够感知环境并执行任务的工具和API。
以下是一个典型代理的简单图示,该代理拥有Anthropic LLM作为智能源,一个exas-search和一个连接到SingleStore的检索器作为工具(用于访问),并通过检索器工具访问知识。
企业中RAG的演变
在通用人工智能的世界里,去年感觉就像一个时代以前,开发者开始探索向大型语言模型(LLMs)输入自定义数据以增强上下文理解的想法。就我个人而言,在更为人所知的术语——检索增强生成(RAG)不仅流行起来并席卷软件开发界之前,我称之为“搜索与检索”。
然而,这种基本的方法,常被称为“朴素RAG”,对于大型企业多层次的复杂需求来说是不够的。这些组织通常拥有大量结构化和非结构化的数据,而构建企业级AI应用的竞赛受到了与RAG相关的三大艰巨挑战的阻碍——准确性、相关性和延迟。
事实证明,这是去年大多数企业没有看到生产就绪应用爆发的首要原因。
但事情发展迅速,现在我们终于看到了一些原则的汇聚,预示着企业级软件开发进入一个全新时代的演变。
但首先,让我们审视一下为了让RAG应用在企业环境中达到生产就绪状态而浮现的关键要求:
准确性:在企业中,对幻象的容忍度为零。这一点在金融和医疗等关键行业中尤为明显,其中错误的余地几乎不存在。
相关性:在大规模应用中,资源昂贵,因此信息检索必须精确,仅查询必要的数据以确保效率。这也会直接影响到下一点。
延迟:RAG流程必须以思维的速度运作,任务完成时间少于一秒,以保持无缝的用户体验,假设从主模型进行推断仍然需要约一秒钟的时间通过网络响应。
精度与速度的炼金术
我们如何实现这种精确与速度的炼金术结合?让我们看看每个类别及其一些最佳实践。
准确性:这里出现了一些要素——微调嵌入模型和匹配的LLMs、有效的评估、针对结构化数据的功能调用,以及通过人类反馈强化学习(RLHF)实现的实时可观察性和反馈循环。
相关性:大多数公司拥有数据湖、数据仓库或数据湖仓。所有这些数据对于相关性都是宝贵的,与实时数据的融合现在几乎是AI应用的基本要求,因为如果响应只包含某个时间点的数据,不仅响应变得无关紧要,而且可能危险地不准确。
延迟:架构必须优化以确保亚秒级的响应时间。如果耗时更长,整体体验至少会变得不理想,并失去产品采用率。
为了构建这个堆栈,每一层都有多个选项,但我列出了在与一些公司交流中发现最常用的那些。
嵌入创建——在这里,英伟达推理微服务(NVIDIA Inference Microservices, NIMs)在众多竞争解决方案中脱颖而出。使用NIMs,你可以调用英伟达API,或者租赁/购买自己的H100并部署你的模型。这可能不是每家公司的正确选择,但如果你追求速度,英伟达显然是这一领域的领导者。
Nemo的真正实用之处在于,你可以将其部署为一个服务器,并带有端点,然后该端点可以作为工具由代理调用。
你可以在这里查看Nemo的一些示例和文档。
语义缓存——这里有许多可用于数据存储和框架的选择,但根据我的经验,我总是主张使用一个能够以高速度和大规模管理所有数据用例的平台来满足所有数据需求。对我来说,这个选择是SingleStore,但为了完全透明,我的观点是有偏见的,因为我是在SingleStore工作。
检索——沿袭上述主题,检索包括结构化和非结构化数据,这意味着需要在JSON、SQL、键值对等中同时进行语义搜索和关键词搜索。在这里,你仍然可以使用SingleStore在一个单一查询中运行所有这些操作,对PB级数据的响应时间在亚秒级。
安全与保护——在这里,Nvidia的Nemo防护栏是一个不言自明的选择。自去年以来,这个开源库已经取得了长足的进步,现在可以以高度灵活性进行输入输出验证、屏蔽个人身份信息(PII)等。
评估——我去年提到过,并且仍然会推荐开源库——RAGAs。这与我们将用来整合这一切的框架配合良好。
整体与模块化
你可以想象,去年这些管道中的每一层或步骤都各自发展,开发者开始将这些系统构建为顺序管道,但这种方法存在诸多限制:刚性、延迟以及降低的准确性和相关性。这种整体架构让人联想到旧的C或C++应用程序,虽然性能强大,但可以说是笨重且不灵活。
多智能体阅读理解生成系统(MARS)时代的到来。
现在想象一下,如果我们采用上述所有不同的步骤和任务,利用我们选择的工具,将它们构建为专门的智能体,每个领域都有各自的专家及特殊工具。然后,它们可以被编排以并行运行,以实现更好的性能和可扩展性,就像微服务一样。
这种替代方案还提供了其他几个优势:
可维护性:专门的智能体可以处理不同的任务,允许独立更新和更换工具。
并行性:智能体可以并发操作,利用不同的GPU或计算资源。
资源优化:工作负载可以根据任务分布在GPU和/或基于CPU的商品计算上,从而提高效率。
效率与准确性:在不同智能体中隔离特定任务便于调试和使用RLHF进行迭代评估。
多智能体RAG系统的蓝图
既然我们已经确定了不同的任务和选择的库,我们需要在整合之前再考虑两件事。首先,让我们选择一个框架来创建工作流程。
在这里,可以使用如Autogen或CrewAI这样的智能体框架,但与其使用一个监督智能体和导致每次结果不可预测和非确定性的协作框架,我更倾向于Langchain的LangGraph,原因有两个——易用性和与NIMs及Nemo防护栏等工具的集成。此外,我喜欢我们可以根据企业的需求来构建“图”,而这些需求可能因公司而异,差异巨大。
其次,让我们看看通过添加其他智能体来进一步增强我们的架构,使其更加高效和高性能。
嵌入创建:我们可以在创建嵌入之前,考虑添加一个用于数据清洗的预处理智能体。
语义缓存:SingleStore是理想的,但我们也可以添加一个缓存管理智能体来进行无效化和更新。Langchain在其API中也提供了这一功能。
检索:一旦掌握了基础,我们还可以添加一个查询理解智能体,在发送检索之前增加更多上下文。
安全与保护:Nemo防护栏在这里至关重要,但一个单独的PII检测和遮蔽智能体,比如Protecto,也是非常有价值的补充。
评估:目前,我们先坚持使用RAGAs,尽管我们也可以使用其他智能体来使用其他框架并比较结果。
鉴于架构的模块化,我们现在还可以构建额外的智能体,根据最终需求进行添加、修改和移除;
查询规划智能体:策略化最佳的查询回答方法。
上下文丰富智能体:通过额外上下文增强检索到的信息。
响应生成智能体:根据丰富后的信息制作最终响应。
反馈集成智能体:处理用户反馈以改进系统。
日志记录与监控智能体:管理全面的日志记录和实时监控。
数据版本控制智能体:监督数据、嵌入和模型工件的版本,以确保可复现性。
协调框架
为了协调这个多智能体RAG(检索增强生成)系统,如前所述,我将选择LangGraph作为解决方案。它针对多智能体系统的设计、灵活的图结构、强大的状态管理、与LangChain的集成、可视化工具以及可扩展性,使其成为企业级应用的理想选择。
代码实现
步骤1 — 构建一个智能体
首先,让我们来看一个使用LangGraph的简单智能体实现。
enrichment_agent = initialize_agent([top_selling_products_tool],chat_model,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True)
步骤 2 — 创建工具
请注意,我们是如何向代理传递一个工具的。这实际上是代理在需要执行查询时将调用的另一个方法,在这里进行定义。
top_selling_products_tool = Tool(name="Top Selling Products",func=get_top_selling_products,description="Get the top selling products. You can specify a limit (default is 5).")
此工具调用了一个名为get_top_selling_products的函数,该函数内部包含了用于获取结构化数据的代码。
def get_top_selling_products(limit=5):query = f"""SELECT product_name, SUM(quantity_sold) as total_soldFROM salesGROUP BY product_nameORDER BY total_sold DESCLIMIT {limit}return db.run(query)步骤 3 — 使用图形、节点和边创建一个工作流程
接着,我们创建一个包含图形(即工作流程)、节点和边的图,以便将所有部分组合在一起。然后,我们将节点和边添加到工作流程中并运行它。
以下是一个通过提供一个有状态图来创建工作流程的示例。AgentState 负责在整体工作流程中维护状态。
workflow = StateGraph(AgentState)
最后,我们将所有这些组合在一起。
# Add nodes for the agentsgraph.add_node("sql_agent", sql_agent)graph.add_node("enrichment_agent", enrichment_agent)# Define the workflow@graph.rundef workflow(query: str):sql_result = graph.nodes.sql_agent(query)enriched_result = graph.nodes.enrichment_agent(sql_result)return enriched_result结论
显然,我们只是触及了表面,正如前面所述,构建定制化的多智能体检索增强系统(MAR)有许多不同的技术和选择。希望这篇文章能为你奠定基础,如果你正寻求理解构建企业级AI应用所需的知识,以及整体框架和步骤,那么这条道路不仅模块化,还具有可扩展性和可控性,就像我们已熟知的微服务架构一样。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-04
大模型支持的上下文已超 1M, RAG 是不是没有意义了?
2026-07-03
RAG 检索优化策略:从命中率到答案质量的一套工程打法
2026-07-03
RAG 落地总翻车?全球赛事冠军架构,改造适配企业级生产
2026-07-01
提升 RAG 准确率全攻略 让你的 AI 知识库 真正靠谱起来!
2026-06-30
教程:如何用AutoRAG + Milvus避免RAG 与Agent 中出现串租问题
2026-06-30
知识库不是文件堆——我把RAG准确率从60%调到了92%
2026-06-30
本体论语义建设新思路,另类RAG来解决检索问题
2026-06-30
别把RAG当架构:Ontology(本体)才是Agent的业务世界
2026-04-06
2026-04-27
2026-04-23
2026-04-20
2026-04-09
2026-04-12
2026-04-22
2026-04-10
2026-05-14
2026-04-30
2026-07-04
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。