大模型大家都知道,比如我们常见的 ChatGPT、DeepSeek 等,但是,这些大模型都有一个关键的问题,那就是他们没办法用工具,比如我想要让大模型帮我查询一个接口,他是做不到的。
那么,如果给大模型增加工具的调用能力,并且他知道该什么时候调用什么工具,这基本上就是一个 Agent 了。
Agent 翻译成中文是智能体,或者叫做助理更合适,比如说这就是个 Agent:你对你的小爱同学说,我想吃肯德基,他就能分析出你可能想吃什么,然后让你确认后,直接就帮你把肯德基点好了。
这个过程需要:
1、小爱同学知道你想吃什么,了解你的口味。
2、小爱同学知道点餐需要打开先软件,然后搜索,然后付款
3、小爱同学可以帮你自动完成这些操作
该怎么实现这样的功能呢?下面这张图就是非常出名的 Agent 的图:
可以看到,这里面包括了 Tools、Action、Planning 以及 Memory,Tools 就是我们前面说过的工具,而 Action 就可以理解为是对工具的调用。
剩下的 Memory 这个好理解,就是需要有记忆的能力,包括了长期记忆和短期记忆,短期记忆可以理解为上下文记忆,就像你打开一个 ChatGPT 的对话窗口,这个就是个短期记忆,换个窗口记忆就清楚了。长期记忆一般是通过一些其他的方式,比如数据库做存储,在每次对话前先让模型读取这些信息,作为长期记忆。
还有一个 Plan 的功能,这其实是在 Agent 有了记忆,会了工具之后,还需要他知道什么时候该调用哪些工具,这就是所谓的规则的能力。
那么总结下,Agent=LLM+Memory+Tools(使用 + 规划)
基于以上介绍,差不多就能总结出一个 Agent 具备的能力。主要包括了:
- 感知(Perception):Agent 能够接收来自环境的输入信息,包括用户输入的问题,以及 Memory。
- 决策(Decision-making):Agent 根据感知到的信息和内部状态,选择合适(Planning)的行动(包包括 Tools)。
- 行动(Action):Agent 执行所选的行为,以实现特定目标。