上一篇文章:
AI Agent设计模式及应用研究(上)
,我重点讲解了AI Agent的设计原理,主要包括了:Planning(规划)、Memory(记忆)、Tools(使用工具)和Action(任务行动)。本篇续上文继续讲解,主要内容包括实例研究以及如何应对AI Agent的一些问题和挑战:
06 Case Studies实例研究
实例研究,这里分享两个比较知名的研究case:
1、Scientific Discovery Agent科学发现代理
ChemCrow (Bran et al. 2023) 是一个医疗领域的示例,其中 LLM 通过 13 个专家设计的工具进行了增强,以使其完成医学领域的专业任务。在 LangChain 中实现的工作流程反映了之前在 ReAct 和 MRKL 中描述的内容,并将 CoT 推理与与任务相关的工具相结合:
1)LLM 提供了工具名称列表、其实用程序的描述以及有关预期输入/输出的详细信息。 2)然后,系统会指示它在必要时使用提供的工具来回答用户给出的提示。该指令建议模型遵循 ReAct 格式 - Thought, Action, Action Input, Observation 。结果显示,虽然基于 LLM 的评估结论是 GPT-4 和 ChemCrow 的表现几乎相当,但从解决方案的完成度和正确性来看,ChemCrow 的表现优于 GPT-4较大的余量。这表明在专业领域,如果缺乏专业知识可能导致LLMs不知道自己的缺陷(产生幻觉),从而无法很好地判断任务结果的正确性。
2023)年还研究了用于科学发现的LLM授权代理,以处理复杂科学实验的自主设计、规划和执行。该代理可以使用工具浏览互联网、阅读文档、执行代码、调用机器人实验 API 并利用其他LLMs。
例如,当请求 "develop a novel anticancer drug" 时,模型能够执行自动化推理和workflow: 1)询问抗癌药物发现的当前趋势; 2)选择了一个目标; 3)要求针对这些化合物的支架; 4)一旦化合物被识别,模型就会尝试合成。
2、Generative Agents Simulation生成代理模拟
Generative Agents(Park 等人,2023) 是一个超级有趣的实验,其中 25 个虚拟角色,每个角色都由 LLM 驱动的代理控制,在沙盒环境中生活和交互,其灵感来自《模拟人生》。 生成代理为交互式应用程序创建可信的人类行为模拟。Generative Agents 的设计将LLM与记忆、规划和反射机制相结合,使代理能够根据过去的经验进行行为,并与其他代理进行交互。
-
Memory stream:记忆流: 是一个长期记忆模块(外部数据库),记录了代理在自然语言中的经验的完整列表。
-
每个元素都是一个观察结果,一个由代理直接提供的事件。- 代理间通信可以触发新的自然语言语句。
-
-
Retrieval model:检索模型: 根据相关性、新近度和重要性,呈现上下文以告知代理的行为。
-
Recency: 新近度:最近发生的事件得分较高
-
Importance:重要性:区分平凡记忆和核心记忆。直接问LM。
-
相关性(Relevance)为与当前情况相关的记忆对象分配更高的分数。使用常见的向量检索引擎即可。Relevance: 相关性:基于它与当前情况/查询的相关程度。最终的检索分数是上面三项的加权平均:
-
-
Reflection mechanism: 反射机制: 随着时间的推移将记忆合成更高层次的推论,并指导智能体未来的行为。它们是对过去事件的更高层次的总结(←注意,这与上面的自我反思有点不同)
-
提示 LM 提供 100 个最新观察结果,并根据一组观察结果/陈述生成 3 个最显着的高级问题。然后请LM回答这些问题。
-
-
Planning & Reacting:规划和反应: 将反思和环境信息转化为行动
-
规划本质上是为了优化当前与时间的可信度。
-
Prompt template: 提示模板: {Intro of an agent X}. Here is X's plan today in broad strokes: 1)
-
规划和反应时都会考虑主体之间的关系以及一个主体对另一个主体的观察。
-
环境信息以树形结构呈现。
-
07 Challenges应对挑战
从目前研究看,AI Agent已经可以在各种不同的领域中提供高效、自动化、决策和问题解决的能力,具体如下:
1、工作流程AI自动化,提升工效
:AI Agent可以自动执行任务,不仅能代替手动操作,还能简化和加速工作流程,大大提高工作效率。
2、优化工作流程,更新企业组织方式:
通过机器学习算法, AI Agent不仅可以分析和评估任务,确定其优先级,优化工作流程,更重要AI Agent的角色介入会促使企业组织组织结构变革,而围绕AI角色构建的组织形式将更高效、更灵活。
3、自然语言对话,从根本改变人机交互方式:
AI Agent利用自然语言处理技术,能够理解和解释用户的意图和需求,从而更好地与人进行交互和沟通,逐渐这种方式将会掀起新一轮人机交互的变革。
4、从基础工作到替人决策,AI介入越来越广泛,更智能也更能减少人为错误:
AI Agent可以通过自动化和智能决策代替人工作,减少人为错误的发生,提高工作的准确性和可靠性。
5、大数据处理能力:
AI Agent可以轻松处理大量数据,并从中提取有用的信息和洞察,以支持决策制定和问题解决,各个生态将会围绕AI Agents打造新的智能中枢!
尽管 AI Agents 具有众多优势,但目前还是有很多具体的限制: 1、比如Finite context length:上下文长度有限:虽然目前各大模型厂商正在扩大上下文输入,但毕竟 有限,限制了更多背景信息的输入、API 调用上下文和响应内容等。尽管向量存储和检索可以提供对更大知识库的访问,但上下文始终是一个制约因素 2、Challenges in long-term planning and task decomposition: 长期规划和任务分解的挑战:目前LLMs的智能性还不足, 长期规划和有效探索解决方案空间仍然具有挑战性。当LLMs 遇到意外错误时,很难自动调整计划,这使得它们与从试错中学习的人相比不太稳健。 3、Reliability of natural language interface: 自然语言接口的可靠性不足,导致LLM执行任务流程的准确率不高,且输出效果不佳: 当前的AI Agent系统依赖自然语言作为LLMs与外部组件(例如内存和工具)之间的接口。然而,模型输出的可靠性不高,因为 LLMs 可能会出现执行任务出错,输出格式不稳定,并且偶尔会表现出叛逆行为(例如拒绝遵循指令)。我去年创建过几个k12语文学习AI Agent,模型用的是GPT3.5,workflow执行准确率仅有70%左右,最终输出效果不太理想。
此外,AI Agent甚至还面临一些更大的挑战,包括道德考虑、数据隐私问题和潜在的滥用,甚至 包括安全风险、法规、任务复杂度、数据可用性和质量、定义成功标准以及其他层面等等。
为了提高 AI Agent的性能,可以从多个层面采用机器学习、算法优化等多种技术和策略,进行模型能力提升和效果增强优化, 不断推进AI Agent的发展和演进:
1、模型侧: 首先,必须加强机器学习,持续不断推进大语言模型(LLM)的数据训练和能力迭代,能够更好支持AI Agent的计划(目标的拆解、任务的细分和行动反思等)、决策(自主思考和自主决策)和行动(任务自动化执行)能力,其中很重要的一点是AI Agent的工具使用的范围和能力。 其次,要加大推进多模态大语言模型(MLLM)的能力,实现AI agent在图形和音视频方面的能力,并不断完善多个大模型组合效果。 还有,就是要做好模型的微调以保证模型在垂类领域的输出效果。
2、输入侧: 一方面要尽可能强化大模型的语言理解能力和query改写和意图识别能力,还要尽可能扩大上下文上线。保证AI Agent能够第一时间获取正确的target(目标)和Task(任务),以便于开启正确的Action(行动)给出正确的Result(结果)。
3、检索侧: 为了减少模型幻觉,除了提升模型本身能力外,还需要加强外接知识库能力,尤其是各种专业领域,单靠通用模型是不行的,需要增强模型的检索和上下游对齐能力,保证查询和内容的一致性,目前行业比较流行的的就是RAG,还有很多深化研究的空间。
3、增强侧: 1)通过 机器学习等技术不断提升AI Agent的执行效果: AI Agent通过学习过去的经验、适应新情况并接收反馈,可以持续改进并提高其性能。这些技术包括监督学习、无监督学习、回归、分类、聚类和异常检测等。 通过这些技术优化,AI Agent可以完善其决策和解决问题的能力,确保在各种应用中表现得更加准确和高效。这些技术使代理能够从大量的数据中学习,提取特征和模式,并将其应用于新的情况中。通过学习和适应,AI Agent可以不断改进自身的性能,并更好地适应不断变化的环境和需求。
2)AI Agents 算法优化: 使用各种搜索算法和优化技术来解决问题。这些算法包括 Uninformed search、Informed search、Hill climbing 以及 Means-end analysis 等。 这些搜索算法和优化技术帮助 AI Agents 在复杂的问题空间中导航,并针对不同情况找到最有效的解决方案。Uninformed search 和 Informed search 算法可以帮助代理系统地探索问题空间,并找到最佳的解决路径。Hill climbing 算法则适用于在解空间中寻找局部最优解的优化问题。而Means-end analysis 则是一种通过分析目标与当前状态之间的差异来制定解决方案的方法。
3)Prompt Engineering提示词工程深化:虽然奥特曼•萨姆曾提到提示词是一个中间产物,三到五年后即将消失,但是目前看prompt还是人机交互的关键媒介和信息,需要进一步挖掘和强化去,使得机器能够更好执行人的意图,更好进行人机交互。
4)搭建并不断优化AI workflow和增强多模型(Multi-LLMs)配合能力和工作效果:单一的AI agent往往一个简单的prompt就能解决,但复杂的AI agent需要建立基于LLM为中心的完善workflow,并组合好多个大模型的协调配合工作,调节好各个环节的参数和性能,不断优化和增强最终AI Agent的执行能力和输出效果。这一点可以借助最近不断涌现的LLM Ops平台,后续我再做专门介绍。 08 参考及学习资料
参考及学习资料
https://lilianweng.github.io/posts/2023-06-23-agent/
https://arxiv.org/abs/2304.03442
https://ar5iv.labs.arxiv.org/html/2304.03442?_immersive_translate_auto_translate=1
https://python.langchain.com/docs/modules/agents/
https://www.breezedeus.com/article/ai-agent-part1
https://zhuanlan.zhihu.com/p/648376562
https://www.talkwithtrend.com/Article/268651
https://inevitableai.ltd/article/share_23092603
https://zhuanlan.zhihu.com/p/652473059
https://blog.csdn.net/pengpengjy/article/details/134792004
https://www.xukecheng.tech/ai-agents-practical-experience
至此,本轮的AI Agent设计模式研究就分享完毕了。关于 AI Agent(AI智能体) ,有什么想聊的欢迎留言讨论~
...................END...................
hello,我是阿外,AGI领域研究者。 欢迎关注「AI波悟馆」,也欢迎留言互动。
推荐阅读
如果你觉得文章对你有帮助,请一定要点下面👇的「分享」、「赞」和「在看」哦~