AI Agent 是基于大型语言模型(LLM)和其他技术实现的智能实体,其核心功能在于自主理解、规划决策、执行复杂任务。
AI Agent 包括以下几个概念:
1. Chain:通常一个 AI Agent 可能由多个 Chain 组成。一个 Chain 视作是一个步骤,可以接受一些输入变量,产生一些输出变量。大部分的 Chain 是大语言模型完成的 LLM Chain。
2. Router:我们可以使用一些判定(甚至可以用 LLM 来判定),然后让 Agent 走向不同的 Chain。例如:如果这是一个图片,则 a;否则 b。
3. Tool:Agent 上可以进行的一次工具调用。例如,对互联网的一次搜索,对数据库的一次检索。
总结下来我们需要三个 Agent:
1. Responser Agent:主 agent,用于回复用户(伪多模态)。
2. Background Agent:背景 agent,用于推进角色当前状态(例如进入下一个剧本,抽检生成增长的记忆体)。
3. Daily Agent:每日 agent,用于生成剧本,配套的图片,以及每日朋友圈。
这三个 Agent 每隔一段时间运行一次(默认 3 分钟),运行时会分析期间的历史对话,变更人物关系(亲密度,了解度等),变更反感度,如果超标则拉黑用户,抽简对话内容,提取人物和用户的信息成为“增长的记忆体”,按照时间推进人物剧本,有概率主动聊天(与亲密度正相关,跳过夜间时间)。
此外,agent 算是从年前到现在比较火的一个概念,也被很多人认为是大模型的未来的一个主要发展方向。首先中间的“智能体”,其实就是 llm 或者说大模型。四个箭头,分别是为 llm 增加的四个能力:工具、记忆、行动、规划。目前行业里主要用到的是一个叫 langchain 的框架,这个框架可以简单理解为,它把 llm 和 llm 之间,以及 llm 和工具之间,通过代码或 prompt 的形式,进行了串接。这个其实也像是在 rag 的基础上再进了一步。因为 rag 是给了大模型一个浏览器工具来使用,而 agent 其实就是给了大模型更多的工具。比如像是长期记忆,其实就是给了大模型一个数据库工具让其往里记录重要信息。规划和行动,其实就是在大模型的 prompt 层做的一些逻辑,比如让其将目标进行每一步的拆解,拆解完成后,每一步去输出不同的固定格式 action 指令,给到工具作为输入。当然 langchain 或者说 agent 还不止这些,也会有很多其他的代码逻辑体现在其中,不过其主要的主干逻辑,其实还是在 prompt 层和工具层,完成的设计。
2024-11-30