重新构想基于 AI 的平台工程:AI 开发工具和平台的探秘之旅

人工智能和平台工程的交叉路口代表着一个充满创新和转型潜力的前沿。把大语言模型(LLM)整合到平台工程的方方面面,不仅仅是把琐碎的任务自动化,更关乎和代表了一种全新的生产方式,可以重新定义和想象应用程序的开发、部署和管理方式。

平台工程的一个核心理念是通过降低业务研发的认知负担来提高生产力和研发体验,以更好地驱动和加速业务创新。今天最为常见的一个解决手段是IAC和关注点分离:通过把不同角色的意图代码化,并且加入一层编排层,将碎片化的意图编织成最终面向技术设施的数据表达。对于这一类的解决方案,我们可以认为这个工作流里的复杂性并没有消失,而是被转移到了平台工程师的身上。

"哪有什么岁月静好,不过是有人负重前行"

随着大语言模型的崛起,其中一种设想是把基础设施的复杂性丢进一个黑盒,这个黑盒便有可能是一个大语言模型。找到并拥抱合理的技术路线不仅仅是个口号,对于意在引领这个新潮流的人,这是必不可少的机会和挑战。我们也在积极地探索并寻找价值点,寻找 AI 驱动平台工程的切入点和武器库。在探索的路上,我们也会记录下一些必不可少的思考、工具、创意、尝试和反思。

b4f1e3b40f2b54e2eb5892f40b78e365.jpeg

概念 - LLM和RAG

LLM的概念和工作原理应该已经被解释过很多遍了,这里就不做过多的阐述了。用最简单的几句话来说,大模型把大量的数据集输入进一个冗长且昂贵的训练过程,最终输出了数以亿计的参数,可以根据用户的输入来生成和预测内容。

RAG代表了检索增强生成 - 它是一种相对较新的技术路线,用于更加经济高效地改善LLM输出的内容,使得结果更加有相关性,准确性和实用性,尤其是在那些资源有限,进行模型训练和微调成本较高的时候。简单来说,RAG先通过一个外挂的数据源(通常是向量数据库)检索到相关知识,然后把检索到的相关信息连同用户最初的请求整合成一份新的提示词,一起发给LLM,以此从LLM获得更加贴近预期的输出。

LangChain

我们先从AI应用的框架说起。

LangChain是最早一批用来简化LLM应用开发的框架了。他最早包含一个基于PythonJavaScript的框架(后续基于LangChain也延伸出了LangSmith这样的开发平台),用于开发基于大语言模型的AI应用。他主要的价值主张便是通过一组标准化的库、接口和组件封装了客户端与LLM交互(模型I/O、检索、智能体等)的逻辑,一定程度上屏蔽了理解和消费大模型的复杂性,同时通过开箱即用的一些模块和模块组成的链(Chain)进一步降低了应用使用大模型的门槛。

LangChain的封装让我们印象深刻。刚刚使用LangChain时,几乎不需要任何先前和额外的LLM知识,借助文档,我们便在40行代码之内借助LangChain封装好的概念(比如RetrievalQAWithSourcesChainWebResearchRetriever等)拉起来了一个可以自己通过Google搜索,整理,并且提供答案来源的ChatBot。

175cdc202a7590c4ef493cf029d1d20e.png

搭建一个基于RAG的Chain也并不复杂,外界的数据来源可以是静态文件,网页,数据库,甚至是更多。LangChain也为RAG提供了完整的配套适用在工作流每一步上:加载数据 -> 切分数据 -> 存储数据 -> 检索相关数据 -> 整合进提示词并和LLM交互。

AutoGen

AutoGen是另一个广受欢迎的,开源的LLM应用框架,目的也是为了加速LLM应用的创新。相比最初的LangChainAutoGen的关注点是在如何更好地支持多个自定义Agent之间的协同(后来的LangChain也推出了LangGraph以支持多Agent的架构),用来解决更加复杂的任务。和LangChain类似,AutoGen也把与LLM的交互封装在了模块化的SDK里,并且引入了ConversableAgentsUserProxyAgents等不同类型的Agent概念。同时AutoGen里也引入了GroupChat的概念,让多个Agent之间通过组织的形式交流。

在这篇很有意思的教程里,AutoGen展示了一个相对复杂的任务(完成一篇分析英伟达股价的文章),创建了五个代表不同角色的Agent并且在一个GroupChat里交流:

  • • Admin:管理员,对应了人类。可以持续给作者提需求以改进文章的输出。

  • • Planner:规划,负责拆解出完成这个任务需要哪些信息的输入。

  • • Engineer:工程师,负责生成PythonBash代码以收集和整理信息。

  • • Executor:执行者,负责执行工程师生成的代码并且返回结果。

  • • Writer:作者,负责基于之前的执行结果生成一篇符合用户需求的文章。在这个GroupChat里,我们可以让AutoGen自动选择下一步执行的动作是什么,也可以定义一个更加确定性的,Agent之间的工作流。

    14d3db2948f8395d8e3a5f8eed3ad4b4.png

CrewAI

Crew.ai是另一个相对较新的,聚焦于多Agent协同的开源AI应用框架。它是基于LangChain之上构建的。类似于AutoGen,它也继承了一个基于角色的协同方法。每一个Agent都会被定义出一个角色,目标和背景故事。不仅如此,它和AutoGen一个很大的区别就是Crew(团伙)的概念。Crew.ai允许了Agent之间任务的派发。它的设计理念里也倾向于更加精确,受控和确定性的多Agent协作工作流,而不是像AutoGen最初的理念里那样由LLM的输出自主地决定(AutoGen现在也支持了自定义的任务分解和执行)。

2a8b1705a3455a651e2c4fb697aff0cc.png

AutoGPT

AutoGPT是去年横空出世的一个明星开源项目。他在不到一年的时间里席卷接近16万颗GitHub star,已经挤进了GitHub所有项目的前25名。最开始的时候,它的定位是一个利用GPT大模型自主解决复杂任务,无需人类介入的智能体(Agent)。用户只需要提供一个背景故事和目标,以及一些约束性质的指令,AutoGPT便会尽可能自主地去行动。它的行动模式遵循一个类似于OODAObserve 、Orient 、Decide 、Act)的循环,以GPT-4为底座,通过观察->引导->决策->行动这个循环指导自己的每一步行为以达成用户设定的目标。可以理解的是,为了达到用户设定的目标,AutoGPT在代码里封装了解决问题需要的一些原子能力,比如对于不懂的问题进行Google搜索,持久化数据,生成和执行代码等。

AutoGPT设想中的上限无与伦比。基于自主Agent的理念和足够多的工具以及原子能力,理论上可以完成大量极其复杂的任务。AutoGPT也在基于自主的Agent积极地探索一些更为垂直的落地场景,比如通过Forge创建自己的Agent,比如通过Benchmark衡量Agent的表现等。

Lepton

Lepton.ai是一个用来覆盖 AI 应用全生命周期的平台。它更主要的关注点是大模型服务本身的部署。它包括了一个Python的库和工具链,用来简化AI应用和模型的部署。Lepton通过抽象的Photon(光子)概念用来封装代码,依赖以及基础设施的配置,来隐藏模型底层的复杂性,让开发者可以专注于应用逻辑而不是基础设施管理(是不是很耳熟?),获得更好的开发体验。Lepton也提供了一个平台服务,用来承载和简化大模型应用的交付,比如用几行代码就可以把HuggingFace上发布的模型部署到本地或者云端。我们也在没有额外训练的情况下,在不到十分钟的时间里便成功在本地部署了一份GPT-2的模型。

1620da745653bb12726b4b06815cf457.png

Dify

如果把LangChain这样的底层框架类比成一个包含了锤子和钉子的工具箱,用来作为开发AI应用的基石,那么基于它们叠加增值的服务并优化开发者体验,也是一条经过验证的道路。于是便出现了低代码和无代码的AI应用开发平台。 Dify.ai就是这样的一个开源的AI应用开发平台,支持私有化部署的模式,可以用于在企业内部搭建自己的Agent开发和管理平台。它是一个端到端的解决方案,用于构建自主的Agent,并且定义和搭配自定义的工具和外挂的知识库。

GLMs

GLMs是另一个让我们印象深刻的无代码AI应用开发平台,你甚至不用会写代码,用一句话就可以生成一个Agent。在我们的体验里,我们用一句话生成了一个有联网和代码能力的Agent,用来查询最新的体育赛事结果。这个Agent也成功地回答了今天早上欧冠比赛的结果和具体的细节。如果对于生成的Agent不满意(比如想对提示词的模板进行微调),也可以通过无代码的方式对Agent进行一些调整,并且一键将生成的Agent发布出去提供服务。同时GLMs也支持外挂文件的方式用来扩展Agent的知识库。

b837f3a83bd35727cc31aba5f868d06a.png

74c60a2734daadd15b3ff840d9ed6b8f.png

1d1e6e6f72764e8e74066d28f86425ac.png

小结

现在 AI Agent 的开发框架、实用工具以及各种平台层出不穷,构成了一个百花齐放、生机勃勃的生态系统。这不仅向世界展示了 AI 技术的迅速发展,也为 AI 应用开发者提供了无限的可能性。

如果各位观众想分享一些有意思的想法,也欢迎多多留言交流!

66eddef4f637c730af28db015bedc2f6.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值