智能体,英文名称为 Agent,原意为代理人,当前语境下特指基于大语言模型的人工智能代理(LLM-powered agents、LLM based agents)。
关于智能体,目前还没有一个被广泛接受的定义。
“An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.” —— Franklin and Graesser (1997)
自主智能体是一个系统,它位于环境内部并是环境的一部分,能够感知该环境并在其中行动。随着时间的推移,它根据自身的议程采取行动,以影响它在未来感知到的环境。
agent1
人民大学的论文《A Survey on Large Language Model based Autonomous Agents》[1]将智能体架构分为五部分:
agent2
复旦大学的论文《The Rise and Potential of Large Language Model Based Agents: A Survey》[2]认为智能体由三部分组成:
agent3
Nvidia 技术博客《Introduction to LLM Agents》[3]认为一个智能体有四个关键组件:
智能体 = LLM + 记忆 + 工具 + 流程
抽象构建智能体应用的通用过程,
封装不变步骤,
提供便捷定制及调整智能体各部分组件方式的智能体构建工具,
并提供独立、内嵌、API 等形式的智能体能力发布访问形式。
快速构建智能体应用。
按如下两个维度,对目前我们评估过的智能体框架进行分类:
agents
开源框架 | GitHub Star 数量 | 贡献者数量 |
---|---|---|
Dify[4] | 42k | 377 |
FastGPT[5] | 16.3k | 84 |
DB-GPT[6] | 13k | 94 |
bisheng[7] | 8.5k | 24 |
ModelScope-Agent[8] | 2.5k | 40 |
统计日期:2024 年 08 月 17 日
准备用于扩展 LLM 的知识内容,导入到知识库中,实现检索增强生成(RAG);
通过预先编排好的流程,弥补开源大语言模型任务分解编排能力不足的缺陷;或设定领域业务流程;
即时查验智能体能力,并能够追溯回复内容的来源和耗时等;
将构建好的智能体应用,发布为独立应用、内嵌页面或 API 接口等形式。
在这些智能体框架/平台中,构建一个简单的 RAG 应用是非常方便的。将文档/知识导入到知识库,等待平台完成分段索引后,即可进行问答。
以 Dify 和 Coze 为例,将本博客的 markdown 文档[9] 导入到知识库后,可以看到智能体回答的内容更加准确了。
rag-dify
rag-coze
在与智能体的交互中,可能需要通过多轮对话的方式,由智能体引导用户以问答的形式提供必要的信息,进而完成后续的任务。
在 Dify 最近发布的 0.7.0[10] 版本中,增加了 会话变量 & 变量赋值节点,可以实现门诊导诊类流程:
workflow-dify
流程的 DSL 可在这里下载:门诊导诊.yml[11]。
在 Coze 中,通过工作流的 问答节点[12],可以设置需要询问的内容。多个问答节点可以实现多轮对话效果:
workflow-coze
workflow-wechat