AgentLite 一个轻量级LLM Agent框架
一些初步的想法
- AI 代理的核心架构开始趋于稳定,开发人员似乎更关注实践上。
- AI 代理将扩展其功能,特别是在视觉探索、网页浏览和移动操作系统集成等领域。
- Salesforce 似乎正在大力推动其在 AI 代理研究方面的进步,特别是关注大型动作模型及其开发框架。
- 比较开发框架本质上是具有挑战性的,因为它在很大程度上取决于特定的用例、组织内部的专业知识以及相关技术团队的偏好。
- 微软 (Autogen 和 Bot Framework Composer)这样的公司,就是将开发框架的开源作为一种吸引开发者到他们云平台的方式——一种低调但有效的营销形式。
- 知识就是力量。对现有框架和最佳实践的深刻理解对于驾驭这一不断变化的格局至关重要。
介绍
Salesforce 对 AI 代理做出了明确的承诺。这始于他们对一系列大型动作模型的研究和开源,现在继续发布 AgentLite,这是一个旨在构建 AI 代理的开源框架。
该研究进一步强调了 AgentLite 与其他代理构建库的特性的比较。
该研究指出,与许多现有的工具不同,AgentLite 在其代理创建过程中可能是复杂或僵化的,它简化了任务,为研究人员开发新的代理推理类型和架构提供了灵活性和定制性。
LangChain 批评
该研究还指出,LangChain 是一个流行的库,用于开发使用大型语言模型(llm)的应用程序,提供内置工具来创建各种代理类型。
但对于想要设计新型智能体推理和架构的研究人员来说,它往往过于复杂。由于代理创建的高开销,修改 LangChain 以满足特定的研究需求可能很困难。
虽然 Autogen 已经成功地构建了 LLM 代理,但它的代理接口有固定的推理类型,这使得它很难适应其他研究任务。此外,它的架构仅限于多智能体对话和代码执行,可能不适合所有的新场景或基准测试。
AgentLite 个人代理
在 AgentLite 中,个人代理作为基础代理类,建立在四个核心模块上:
- PromptGen
- Actions
- LLM
- Memory
PromptGen
PromptGen 负责构造代理发送给 LLM 以生成操作的提示。
这些提示由几个组件组成,例如代理的角色描述、指令、约束、动作和相关示例。
AgentLite 包括组合这些元素的默认方法,但也为开发人员为特定任务创建自定义提示提供了灵活性。
Actions
Actions表示代理可以自主执行的任务。
AgentLite 包含一个 BaseAction 类,开发人员可以扩展它来定义自定义操作,从而允许代理无缝地执行各种自动化任务。
这种模块化设计确保了研究人员可以轻松地构建、定制和扩展他们的代理以满足特定需求。
LLM
框架包括一个 BaseLLM 包装器类,它接受一个输入字符串,并返回 LLM 生成的相应输出。
Memory
Memory模块存储代理过去的动作和观察。
在执行过程中,代理检索其动作观察历史,然后将其输入 PromptGen 模块,以帮助生成下一个动作。
所有动作及其产生的观察结果都立即保存在memory中,允许代理在正在进行的任务期间引用其先前的决策。