AI崛起,能够自主规划并执行多个步骤的Agents,正成为用户的接口,也成为开发者的核心着力点。
Agent领域的研究进展可观,在一些技术细节上有了初步共识。
从MRKL、ReAct、BabyAGI和AutoGPT等工作开始,开发者们意识到链式的提示和响应可以使大模型将任务拆解成小任务并执行;
LangChain、Griptap等框架展示了Agents通过代码与API交互的能力。Toolformer和Goriila等研究表明,基础模型可以有效使用API。
微软(autogen)、斯坦福(AgentSims)和腾讯的研究里揭示了Agents协同工作能带来比单Agent工作更好的效果。
不可否认的说,今天的Agents还有很多局限性,例如经常出错、需要指导,在带宽、成本、延迟和用户体验上都还有很大的优化空间。这些局限反映了LLM本身与基础设施的局限性,开发者们努力通过工程能力来弥补这一点,并随之加速着Agents基础设施的搭建。
有人说,在模型成熟之前,构建应用仿佛在流沙上搭建城堡,而这些基础设施可能为应用或代理创建者提供了一层缓冲带,用于灵活适配并保持底层基础设施的相对稳定和持续迭代。
AIAgentInfra现状
整体来说,目前AIAgent技术栈分为平台、记忆、规划与编排、执行和应用5个板块,我们将通过后文逐一介绍。
AIAgent分层概念图
Agent开发框架
开发框架是用于构建、部署和管理agent综合平台。提供模块化的组件、集成接口和工作流设计,简化了开发者创建复杂AI应用的过程。支持数据处理、任务调度、上下文管理等功能,帮助实现高效、安全和可扩展的AI解决方案。
LangChain
LangChain是一个围绕LLM构建的框架,适用于构建聊天机器人、生成式问答(GQA)、摘要等应用。
优势:多语言支持、模块化设计、丰富的组件和集成结构、完善的生态系统;
劣势:学习曲线陡峭、依赖外部AI服务和API,可能增加集成和维护成本;
适合:多语言支持和模块化设计的应用开发;
LlamaIndex
LlamaIndex前身为GPT-Index,是一个创新的数据框架,旨在简化外部知识库和大型语言模型的集成,包括各种文件格式,例如PDF和PowerPoint,以及Notion和Slack等应用程序,甚至Postgres和MongoDB等数据库。
优势:数据检索方面深度优化、支持多种数据结构;
劣势:功能单一、社区和资源支持相对较少;
适合:数据索引和检索优化场景;
SemanticKernel
SemanticKernel是一个集成了OpenAI、AzureOpenAI、Huggingface的SDK,特别之处在于它能够自动与AI协调插件,借助SemanticKernel规划器,实现用户独特目标的计划。
优势:企业级支持、强大的自动化和扩展性,通过插件和计划生成器执行计划;
劣势:初始设置复杂、依赖微软生态;
适合:企业级应用,需高度可扩展性和稳定性的场景;
Griptape
Griptape是一个模块化Python框架,用于构建AI驱动的应用程序,包含结构、记忆、任务、工具等多个模块。
优势:结构化工作流确保操作的可预测性和可靠性、模块化设计、安全和性能优化好;
劣势:初始学习曲线较陡、社区和资源支持较少;
适合:构建复杂AI工作流和代理,注重可预测性、安全性和性能的场景;
Agent托管
AgentHosting是指在服务器或云基础设施上部署和运行AIAgent。托管这些代理需要提供所需的计算资源、安全性和拓展性,以及能够高效可靠的运行。
LangServe,将AI链(模型和工作流)作为RESTAPI进行部署,简化了将复杂AI模型集成到生成环境中的过程,提供稳定可拓展的API接口。适用于需要将AI功能通过API提供服务的企业和应用。
E2B,开源的安全云环境,专门为AI应用和AIAgent提供运行时环境。它通过提供隔离的沙箱环境,使AI代理和应用能够在云中安全地执行代码。适合用于构建和部署需要安全运行环境的AI代理和应用,特别是在代码执行和数据处理方面。
Agent评估
AgentOps和BrainTrust强调全生命周期的代理管理和评估,注重自动化和安全性。
Context专注于对话系统的评估,提升用户体验和对话质量。
LangSmith和LangFuse,提供了全面的评估和调试工具,适用于需要详细追踪和分析LLM应用的团队。
WhyLabs强调实时监控和异常检测,适用于需要确保模型在生产环境中稳定运行的场景。
DeveloperTools
DeveloperTools提供了多样化的解决方案,帮助开发者高效地创建、管理和优化AIAgent。无论是全面自动化的开发助手(Morph)、分步编程和调试工具(FlowPlayAI),还是支持自然语言编程的创新IDE(Wordware),这些工具都为不同需求和场景提供了有力支持。
个性化(记忆)
WhyHowAI:提供个性化推荐和响应优化。借助WhyHow,开发人员可以自动创建知识图谱并将其与现有工作流程集成,构建有效的RAG解决方案。
Cognee:通过分析用户交互数据,提供个性化服务。
Graphlit:利用用户数据进行个性化推荐。
LangMem:专注于个性化记忆功能,使AI代理能够记住用户的偏好和历史交互。
MemGPT:结合GPT模型进行个性化响应生成。MemGPT代表Memory-GPT,是一种旨在通过引入更先进的内存管理方案来提高大型语言模型(LLM)性能的系统,有助于克服固定上下文窗口带来的挑战。
存储
存储是指为Agent提供高效、可靠的数据存储解决方案。这些存储系统需要能够处理大量的数据,并支持快速的读写操作,以确保AI模型的高效运行。
Pinecone:专注于高性能的向量数据库,支持快速的数据检索。
Chroma:提供高效的数据存储解决方案,开源的向量数据库,专为AI和嵌入式应用设计。
Weaviate:开源的向量数据库,支持基于内容的检索和存储。
MongoDB:流行的NoSQL数据库,提供灵活的存储和检索功能。
上下文(Context)
Unstructure:开源项目,致力于提供强大的上下文管理功能,使AI代理能够理解和利用对话或任务中的上下文信息,从而提供更加连贯和智能的响应。
持久化
数据在系统长期保存和可用性,这包括将重要数据(如用户交互、任务状态和执行日志)安全地保存到数据库或其他存储介质,以便在需要时能够可靠地检索和使用。
Inngest:事件驱动的持久化工作流引擎,支持在任何平台上运行。提供SDK在现有代码库中编写持久函数和工作流,可通过HTTP端点进行调用,无需额外的基础设施管理。该项目获得了a16z领投的610万美金。
Hatchet:一个端到端的任务编排平台,支持分布式、容错任务队列,旨在解决并发、公平性和速率限制等扩展问题,支持复杂任务编排和可视化DAG(有向无环图)工作流设计,以确保工作流的组织和可预测性。YCW24布局了该项目,其愿景是在后台使用异步任务运行缓慢的OpenAI请求,将复杂的任务串联到工作流中,并设置重试和超时以从故障中恢复。
Temporal:一个开源的工作流和编排系统,支持任务的持久化存储,确保任务的可靠执行和恢复能力。
Trigger.dev:通过事件驱动的方式,提供任务和工作流的持久化管理,帮助开发者更好地管理复杂任务。
编排
编排是指协调和管理不同AI组件和服务,以确保它们在预定的流程中高效地协同工作。
Sema4.ai:提供智能编排解决方案,用于优化和自动化机器学习和AI项目中的各个步骤。
LangGraph:LangChain框架的扩展,旨在通过图形化的方法创建多代理工作流。能够处理有状态、循环和多角色的应用,适合构建需要多个代理协同工作的复杂AI系统。
Griptape:提供灵活的编排框架,使开发者能够轻松定义、管理和执行复杂的AI工作流。
CrewAI:一个多代理系统平台,旨在通过简单有效的方式实现复杂工作流的自动化。
Fixpoint:提供可靠的编排工具,确保AI和数据工作流的高效运行和管理,适用于多种AI和数据密集型应用。
AgentLabs
ToolUsage工具使用
Anthropic
Reworkd
Browserbase
Browserbase连续四周获得100%的增长
今年开始,国内的大量AI应用也开始初见产品价值,从ToB延伸到ToC,从生产力和效率延伸到综合的社交娱乐和其他的多模态等各个领域。Agenticapplicaitons发展呈现出多元化、深入化的趋势。