定义:

AI agent 可以理解为一个能够感知环境、做出决策并采取行动的程序或系统。——百科

补充说明:是人们 基于大模型,试图 模仿人类解决问题行为 的一种尝试。

AI Agent(智能体) - 图1

应用形式

反思(Reflection)

说明:类似自我纠错和迭代,让AI自己或使用其他方式,在AI生成内容后完成2次校验。

举例:

a. 文本生成场景:

让ai生成一段代码;

生成后,让ai检查(要求“检查此段代码的正确性,告诉我如何修改”);

再反给ai要求根据检查结果修改。

在这个案例中,ai会检查第一次生成的代码的问题,指出其中的bug,并以此往复进行自我迭代。虽然修改后的代码质量不一定能保证,但基本上来说效果会更好

同理,在让AI生成文章或其他内容时也可以要求它 [重新检查 > 提出问题 > 进行优化]

b. 智能客服场景:

客户向AI咨询某一个商品,在AI返还商品相关信息

此时,可增加逻辑(代码or其他方式),检查ai返还的信息与数据控中的信息是否匹配(比如是否真实存在这个商品、商品库存、价格是否准确),以此增加客服的准确性

此类形式还可以在很多不同的场景应用

使用工具(Tool use)

配置好工具,当AI判断有相关需要时,让AI 使用相关工具,进行后续动作。目前应用较多的是联网搜索。

个人理解,主要分为以下方向:

  1. 1. **额外信息获取:**通过联网搜索、文档阅读、图片识别等方式,获取更多信息,来回答模型训练数据以外的问题,比如:
  2. 1. 事实性质的新闻
  3. 2. 某个专业特定的文档资料
  4. 2. **使用其他工具执行任务:**某一些任务大模型存在劣势,需要使用其他工具进行具体操作,举例:
  5. 1. 调用计算器,或其他实用工具(AI在计算方面存在天然劣势,最典型的:13.1113.8谁大)
  6. 2. 调用专业小模型(一些专业类型的知识,大模型本身回答可能不准确,可以在让大模型做出判断“此类知识属于某个小模型的专业方向”后,调用具体小模型来进行答案输出)
  7. 3. 调用其他模型(图片生成一类的)
  8. 3. **使用其他工具输出内容:**用户最终需要的内容可能不是文本类型的,比如一份word文档、ppt等,此类需求,需要调用其他工具,进行最终的输出。

制定流程规划(Planning)

用户输入任务 > AI 拆解流程 > 选择工具 > 调用、执行 > 输出结果

这个过程中,可以将原本复杂的任务拆分成单一的小任务,简化每一步的操作以此提高最终结果的质量

比如:

场景:我们需要AI帮忙给简历提出建议,这个要求有一些宽泛

实现逻辑:在Agent搭建的过程中,将这一任务拆分为:

  1. 1. 检查简历基础信息、模块是否完善
  2. 2. 是否存在语义问题/错别字
  3. 3. 针对每一段工作经历单独 分析,对那一段工作经历的描述进行评价、提出建议
  4. 4. 要求以STAR法则检查项目经历的描述,提出相应建议
  5. 5. 汇总每一步骤的建议,提出最终说明

在制定agent的流程时,需要对应方向的专家和对ai智能体熟悉的人通力合作,才能获得更好的结果。

多智能体协作(Multi-agent

在整个流程过程中,每一个智能体可以被设定成不同的身份&拥有不同的能力,让他们通力协作,完成相关任务。

此处以 [清华面壁智能的开源项目 ChatDev] 为例:

每个 Agent 被赋予了不同的身份,比如有的是 CEO,有的是产品经理,有的是程序员,他们互相合作互相对话,比如你让他们开发一个简单的小游戏,他们会花几分钟时间来编写代码并测试。尽管有时候不是很有效,但非常有前景和想象力,它模拟了现实生活中的工作场景,Multi-agent 不仅仅只能执行单一任务,而是成为了一个复杂系统。

能力及特点

输入/感知:

a. 接入更多不同感知模块来获取更多不同类型的数据,如:视觉、听觉

举例:自主驾驶中感知路况、手机智能助手通过语言识别

b. 通过增加输入内容,实现更多具体场景的应用

举例:智能文档解析(文档)、分析网页内容(输入网页url)

c. 通过引导/限制输入内容,实现在具体场景下更准确的提问与输出

说明:自然语言本身足够复杂,很多人说话提问方式又有各自特点,有事很难准确的向AI提问。在这个基础上,在制作agent时,针对对应的场景做出引导/一定程度的限制,能够让这一些用户更好的与AI沟通,完成相应任务。

补充:还有一个思路是设置好任务,ai定期执行。

规划/行动能力

可要求AI自行规划行动逻辑;

也可以在制作智能体时,可使用提示词要求 或 用代码/其他方式约束AI处理问题的方式(或工作流workflow),以此来获取更加准确结果,可实现:

a. 复杂目标的拆解:将复杂的目标拆分为更小、可管理的子目标,从而高效准确的处理复杂任务

b. 多步骤任务处理:让ai能够按步骤完成任务,并根据目标变化与环境反馈调整行动策略

c. 反思与总结:可对过去行为进行反思总结优化后续判断逻辑(此部分作者目前理解比较浅薄)

记忆

a. 短期记忆:通过上下文获取短期记忆

b. 长期记忆:利用外部向量存储&快速检索获取长时间保留和回忆信息的能力。

工具使用

Agent中,可接入大量的其他工具,使用过程中AI可以判单是否需要调用相关的工具(也可以通过设定要求AI在某些情况下使用对应的工具),一般使用Function call 的形式调用。

工具包含以下方向:

a. 实用工具:包含文档阅读、计算器等等各类工具

b. 数据检索:包含直接联网搜索(理解网页内容)、数据库检索等

c. 其他模型:可调用其他图片生成、音频生成的模型;也可以调用更擅长处理某一类问题的小模型。

输出/行动:

Agent 在设定后可以规范最终输出内容,在这个基础上进行其他操作

a. 除去文本输出,在具备相应工具的情况下可支持图片、音视频、文档等不同形式

b. 输出内容也可以是具体指令,在其他工具中做出相应决策等

优势/劣势

相比于直接使用LLM大模型的优劣势

优势
任务针对性更强 1. 通过对具体任务和环境定制优化,能够更精准地满足特定业务场景或用户的需求;
2. 对复杂任务可以通过集成自主验证和决策过程,弥补大模型的不足,确保行动的准确性和效率
可扩展性和
适应性强
1. 可通过接入不同的模型/插件,不断扩展功能和提升性能;
2. 可方便地集成到各类系统中,为更多场景服务,实现更多的功能。
更好的交互性 结合不同的【感知模块(视觉/声音识别等)】和对【输入方式】的控制,可以在很大程度上丰富交互形式,更好的理解用户意图
劣势
通用性较弱 大部分Agent都对某一特定场景进行了针对性优化;相应的,在通用能力上会有所减弱
(设定固定流程的agent尤为明显)
研发、训练复杂 开发过程涉及到多个组件和模块的设计与整合,包括感知、规划、决策、行动等,以及与环境的交互逻辑等,比单纯训练大模型更为复杂,需要更深入的技术理解和专业知识,对开发者要求较高
计算资源量更大 虽然在具体任务执行上可能更高效,但由于其包含多个模块和复杂的功能,运行时可能也需要较多的计算资源来支持其工作,尤其是在处理大规模数据或复杂任务时

引用及相关文章补充:

四种AI智能体设计范式

Agent 框架

实用至上:智能体/Agent 是什么

AI Agent(智能体) - 图2