一、智能体的定义与特性
- 定义:智能体是一个使用大语言模型(LLM)来决定应用程序控制流的系统。然而,智能体的定义并不唯一,不同人有不同的看法。Langchain的创始人Harrison Chase从技术角度给出了定义,但更多人认为智能体应具备高级、自主、类似人类的能力。
- 智能体特性:吴恩达提出,与其争论什么应被归类为真正的智能体,不如承认系统具有不同程度的智能体特性。智能体特性可以视为一个光谱,从简单的路由选择到复杂的自主智能体,系统越依赖LLM来决定其行为方式,就越具有“智能体特性”。
二、认知架构的概念与重要性
- 定义:认知架构是指系统如何“思考”——从接收用户输入到执行操作或生成响应的代码/提示词/LLM调用流程。它决定了系统的自主性级别和智能体特性。
- 重要性:认知架构不仅影响系统的运行方式,还影响其灵活性、可控性以及可解释性。较简单的架构通常更易于理解和调试,而复杂的架构则可能提供更强的功能,但也伴随着更大的系统复杂性和不确定性。
三、智能体自主性级别与认知架构的映射
- 代码:所有内容都是硬编码的,不能称作真正的认知架构。
- 单次LLM调用:构成应用程序的主要部分,简单的聊天机器人可能属于这一类别。
- LLM调用链:将问题分解为多个步骤或功能服务,更复杂的RAG(检索增强生成)管道属于这一类别。
- 路由器:LLM决定要采取的操作,增加了一定的随机性和不可预测性。
- 状态机:将LLM的路由与循环结合起来,更加不可预测。
- 自主智能体:系统本身决定哪些步骤是可用的,指令是什么,可以通过更新提示词、工具或代码来实现。
四、为什么应该外包智能体基础设施,但拥有认知架构
- 智能体基础设施:提供了运行智能体应用所需的基础设施,如配置助手、后台运行、消息持久化等。然而,它不会使应用程序与众不同。
- 认知架构:是使智能体真正有效运作的关键,是团队创新的地方和构建的差异化部分。
- 外包与拥有:应该外包智能体基础设施以获取其优势,但同时拥有并定制认知架构以使应用程序脱颖而出。
五、智能体的规划问题
- 规划与推理:涉及LLM决定采取哪些行动的能力,包括短期和长期的步骤。
- 当前挑战:目前的规划和推理能力还没有达到处理现实任务所需的水平。
- 改善方法:确保LLM拥有足够的信息,尝试改变应用程序的认知架构(通用或领域特定)。
- 未来趋势:通用推理将越来越多地融入模型层,但提示和定制架构将继续存在。对于简单任务,提示可能足够;对于复杂任务,可能需要通过代码来定义其行为。
六、总结
- 智能体不仅仅是一个技术定义,还涉及到系统如何“思考和决策”。
- 认知架构是智能体的大脑,决定了其如何接收信息、干活和回应。
- 在设计智能体时,需要在基础设施的方便性和认知架构的个性化之间找到平衡点。
- 未来,随着大模型的进步,智能体的工作方式将占据技术前沿的中心舞台。