多 AI 智能体系统- AI 智能体的 6 个关键要素

2024-05-28 08:55:27 浏览数 (2)

一个优秀的智能体具备六个要素:

1. 角色扮演:

给 LLM 设定一个角色,可以让 LLM 生成的结果和这个角色的能力更相关。比如你告诉 LLM 现在是一个资深金融分析师,那么得到的结果会金融分析更相关。越是能力强的模型,这个影响可能会越小,但是对于能力没那么强的模型,这个影响相对比较大。

2. 专注

这其实和人执行任务有些类似,越是专注某个特定领域,需要选择的工具越少,需要处理的数据集也越少,上下文内容也越少,不容易偏离目标和出现幻觉,结果会更好。

所以对于复杂的任务尽可能拆分成多个小的任务,形成一个工作流,多个智能体协作完成任务,甚至于可以让 LLM 帮你规划和拆分任务。

比如翻译任务,如果一个智能体一次翻译可能结果一般,但是如果分成多个智能体,先直译然后反思最后意译结果就好很多。

3. 使用工具

智能体有能力调用工具,并且能选择最适合当前任务的工具。

但是并不是说给它越多工具越好,因为工具越多,越难以选择,尤其是模型能力弱的 LLM,更可能出错,所以一方面要让智能体专注减少任务的范围进而减少工具的数量,另一方面要提供有能力解决任务的工具。

4. 协作

通常对于复杂的任务,不是一个智能体在完成任务,而是多个智能体一起完成任务,那么在整个过程中,需要确保智能体之间能相互通信,比如一个智能体的输出可以作为下一个智能体的输入,比如有一个智能体专门负责调度根据中间结果调用不同的智能体。

所以对于多智能体系统,还需要设计好工作流,确保智能体之间整体协作的通畅。

这种协作不仅是指智能体和智能体之间,也包含人和智能体之间的协作。

现在的智能体还不足以智能到自始至终能做出正确的决策,有时候还需要人工的干预,在中间及时给出反馈,有错误给予纠正,缺少信息补充上下文。

比如 Devin 这种复杂的 AI 软件工程师,在遇到一些解决不了的错误时,也需要人工干预。

5. 设定防护栏和边界

通常智能体的任务,输入和输出都是自然语言,并不是结构化的数据,这就导致如果边界条件不清晰的会卡在某个地方反复执行,比如早年的 AutoGPT,就可能会陷入死循环,导致白白浪费很多 GPT-4 Tokens,价格不菲。

所以设定好防护栏,就能确保智能体能在正确的轨道上,如果出现故障可以及时干预,而不至于卡在某个任务上白白浪费 Tokens。

6. 记忆能力

记忆能力指的是智能体要有能力记得自己做过的事情,得到和生成的数据,用这些数据来进行后面的决策和完成任务。

0 人点赞