wj-Mcat / wj-Mcat.github.io

小猫的技术杂货铺
https://wj-mcat.github.io/
5 stars 0 forks source link

[Paper Reading]The Rise and Potential of Large Language Model Based Agents: A Survey #6

Open wj-Mcat opened 6 months ago

wj-Mcat commented 6 months ago

The Birth of An Agent: Construction of LLM-based Agents

image

作者认为一个 AutoAgent 可主要围绕以下三个方面来构建:

大脑运转的整体逻辑:

Brain

image

一切信息基于自然语言交互

现在 LLM 已经发展的非常成熟,能够理解和生成复杂的文本语言,甚至文本中包含的潜在含义也能够理解出来,所以与 LLM 之间的交互最好是通过自然语言进行交互。

知识库

不同的知识其实可以通过以下层面来划分:

有一些学者常识 Edit Large Language Model(删除旧知识,装载新知识,听起来很懵逼,不过有相关的论文,建议看看A Comprehensive Study of Knowledge Editing for Large Language Models)。

还有一种现象:LLM 可能会生成一些与真实不符合的内容,这种情况称之为:幻觉(这个是当前的热点,也是当前比较靠谱的解决方案)。

参考论文:

记忆

记忆通常包含用户的输入(query)、自己的思考(thoughts)、自己的输出(生成的文本)。

通常 LLM 支持的最大文本长度是有限的,那如何有效存储与用户相关的知识呢?通常有如下方法:

如何搜索最合适的相关 memory 呢,可通过以下指标来衡量:

我怎么感觉这三个指标说了跟没说是一样的。

其实对话历史应该是可以:修改、添加或者总结。用户理论上也应该可以编辑对应的对话历史,从而调整Agent 相关的 memory 数据信息。

Reasoning and Planing

。。。

Tool Using

在面对负责问题的时候,需要接入外部工具来解决模型无法解决的问题,比如说 外部知识、实时性信息等。

模型回复的内容受限于:

工具能够增强 LLM 一些基础能力,比如说:获取当前时间、获取当前天气信息等,更或者说医学界最新的论文列表,从而在其中总结出最新的知识列表。

LLM 如何理解 Tool

每个 tool 都有自己的输入输出描述、工具作用描述以及 few-shot 示例描述,现在的 LLM 几乎能够理解 tool 的用法并能够抽取出对应位置上的关键数据。

Agent 应用图

image