内容提要
本文介绍了认知架构的概念和不同层次的示例,强调了选择认知架构的重要性,并建议在构建LLM应用程序时尝试不同的认知架构。作者还介绍了LangChain和LangGraph的开发工作,以及它们如何提供更灵活和可定制的认知架构。
延伸解读
认知架构的层次与自主性
文章将认知架构按自主性从低到高分为多个层次:硬编码、单一LLM调用、LLM调用链、路由器、状态机和自主代理。每一层都增加了系统的灵活性和不可预测性。例如,路由器让LLM决定行动,状态机结合循环可能无限调用LLM,而自主代理则移除约束,让系统自行决定步骤和指令。理解这些层次有助于开发者根据任务需求选择合适的架构。
如何选择认知架构
选择认知架构没有绝对优劣,不同任务适合不同架构。文章建议像实验提示一样频繁尝试不同认知架构。对于简单链和检索流程,可使用LangChain;对于复杂自主工作流,可尝试LangGraph。这种实验性方法能帮助开发者找到最适合当前问题的架构,避免过早优化或限制系统能力。
LangChain与LangGraph的演进
LangChain早期提供易于使用的现成链,但难以定制和实验。随着领域成熟,其设计很快达到极限。过去一年,开发重点转向低级、高度可控的编排框架(LCEL和LangGraph),使开发者能更灵活地控制认知架构。如果只使用过高层次封装,建议尝试低级组件,以获得更强的定制能力。
Q&A
认知架构的定义是什么?
认知架构是指系统思考的方式,包括代码、提示和LLM调用的流程。
认知架构有哪些不同的层次?
认知架构的层次包括硬编码、单一LLM调用、LLM调用链、路由器、状态机和自主代理。
选择认知架构时需要考虑什么?
选择认知架构时需根据不同任务选择合适的架构,没有绝对的优劣之分。
在构建LLM应用时,如何使用认知架构?
在构建LLM应用时,建议尝试不同的认知架构,类似于实验不同的提示。
LangChain和LangGraph的主要功能是什么?
LangChain和LangGraph旨在提供灵活和可定制的认知架构,支持低级控制框架。
LangChain的早期版本有什么局限性?
LangChain的早期版本易于使用,但在定制和实验方面存在局限。