什么是agent

Agent(智能体)就是一个能自主完成任务的程序。

  1. agent和ai大模型的区别

    • ai大模型 无法感知外界的情况。例如 一个问题帮我生成一个贪吃蛇游戏。ai大模型会生成出代码。需要人工复制粘贴到文件里
    • agent里面也会内嵌ai大模型,和调用工具,可以直接将大模型的回答写入到文件中。可以感知到外界情况。
  2. Agent 通过 工具(Tool) 来感知外界,例如:

    • 读取文件
    • 调用 API
    • 查数据库
    • 获取系统状态

ReAct

ReAct 是一种将推理(Reasoning)与行动(Acting)结合的 Agent 设计模式。它通过让大模型在每一步先进行思考,再决定是否调用工具,并根据工具返回结果继续推理,从而实现多步骤决策和任务执行
ReAct = Reason(推理) + Act(行动)

1
2
3
4
5
6
7
8
9
10
11
12
13
用户问题

Thought(思考)

Action(选择工具)

Observation(工具返回结果)

Thought(再思考)

...

Final Answer(最终答案)

ReAct模式是如何实现的?

主要和系统提示词有关

系统提示词就是程序中写死的,用户提示词就是人所问的问题


简单的例子:

RAG

检索增强生成。先从知识库中检索信息,再生成回答

RAG的使用场景

你公司想实现一个AI助手,那么就一定要嵌入一个大模型。但是这个大模型可不知道你公司产品!聪明的你想到可以把你公司的所有产品的信息全发给AI,这样AI就知道了。但是这也会导致每次请求的token消耗非常大,而且每次涉及到的产品其中只有几个,但是你却把所有产品都喂给AI了

RAG 工作流程:

  1. 分片:把公司产品分开。可以按字数分,也可以按产品分成一个一个的片段
  2. 索引:将每一个片段通过Embedding 转换成向量,存到向量数据库中
  3. 召回:将用户的问题也转换成向量,去查询向量数据库中相近的数据
  4. 重排: 召回的数据不止一条,将召回的数据再进行查找符合条件的。召回的数据是经过粗略筛选的,这一步是精细筛选
  5. 生成:根据重排后的信息和问题交给AI生成答案