放弃LangChain吧,生产环境根本不靠谱

AI-Agent6个月前发布 damoxingLab
1,415 0 0
放弃LangChain吧,生产环境根本不靠谱

 

文章摘要


【关 键 词】 框架选择抽象问题模块化开发效率AI应用

在2023年初,团队开始在生产环境中使用LangChain,并在2024年决定将其移除。最初,LangChain因其丰富的组件和工具被认为是理想选择,能够快速将创意转化为可执行代码。

AI和LLM领域变化迅速,围绕这些新兴技术构建一个能够经受时间考验的框架非常困难。设计良好的抽象在需求不明确的情况下尤为困难。LangChain最初与团队的简单需求相匹配,但随着时间推移,其高级抽象使得代码难以理解和维护。团队花费大量时间理解LangChain,而不是开发新功能,显然不可取。

通过对比简单的Python代码和LangChain代码,发现LangChain引入了提示模板、输出解析器和链等新的抽象,增加了代码复杂性而没有带来明显好处。好的抽象应简化代码,减少理解所需的认知负担。LangChain试图通过更少的代码做更多的事情,但牺牲了简单性和灵活性,导致理解大量堆栈跟踪和调试内部框架代码,而不是实现新功能。

LangChain对开发团队的影响显著。团队的应用程序大量使用AI Agent执行不同任务,但LangChain限制了从单一Sequential Agent架构迁移到更复杂架构的能力。例如,生成Sub-Agent并让它们与原始Agent交互,或根据业务逻辑和LLM输出动态更改Agent可访问的工具的可用性。LangChain没有提供从外部观察Agent状态的方法,导致团队不得不减少实现范围以适应LangChain的有限功能。一旦移除LangChain,团队不再需要将需求转换为适合LangChain的解决方案,只需编写代码即可。

构建AI应用程序是否需要框架?最初,LangChain通过提供LLM功能帮助团队专注于构建应用程序,但现在看来,没有框架可能会发展得更好。大多数应用程序所需的核心组件通常是用于LLM通信的客户端、用于函数调用的函数或工具、用于RAG的向量数据库和用于追踪和评估的可观察性平台。其余的是辅助工具或常规应用程序任务。没有框架的AI开发可能需要更多时间整合工具箱和前期学习,但这些投资是值得的,因为可以学习到操作领域的基础知识。

使用构建块保持快速和精简是关键。团队创新和迭代的速度是成功的关键,AI领域的开发工作由实验和原型驱动。框架通常为基于已建立的使用模式强制结构设计,而LLM驱动的应用程序尚未具备这种模式。构建块方法偏爱简单的低级代码,配以精心挑选的外部包,保持架构精简,以便开发人员集中精力解决问题。构建块是简单且不太可能改变的模块化组件,如向量数据库,保持代码库精简和可适应,以最大化学习速度和每个迭代周期的价值。

团队目前采用最小抽象的模块化构建块策略,使开发更迅速、更轻松。通过这种方法,团队能够更好地应对AI开发中的挑战,提升工作效率。团队目前采用最小抽象的模块化构建块策略,使开发更迅速、更轻松。

“极客训练营”

原文和模型


【原文链接】 阅读原文 [ 2501字 | 11分钟 ]
【原文作者】 AI大模型实验室
【摘要模型】 gpt-4o
【摘要评分】 ★★★★★

© 版权声明
“绘蛙”

相关文章

暂无评论

暂无评论...