原文地址:https://medium.com/@vipra_singh/ai-agents-introduction-part-1-fbec7edb857d
文章日期:2025年2月3日
AI Agents:入门简介(第一部分)
探索 AI Agents,它们的设计以及实际应用。
本系列文章
目录
-
- 从 LLMs 到 AI Agents
- 1.1 传统聊天机器人到 LLM 驱动的聊天机器人
- 1.2 LLM 驱动的聊天机器人简介
- 1.3 从 LLM 驱动的聊天机器人到 RAG 聊天机器人和 AI Agents
-
- 什么是 AI Agents?
- 2.1 AI Agents 的特性
-
- AI Agents 的核心组件
- 3.1 感知(传感器)
- 3.2 推理(处理器)
- 3.3 行动(执行器)
- 3.4 知识库
- 3.5 学习
- 3.6 通信接口
-
- AI Agents 如何与其环境交互
- 4.1 感知阶段
- 4.2 决策阶段
- 4.3 行动阶段
-
- AI Agents 如何运作?
- 5.1 编排层(控制中心)
- 5.2 模型(大脑)
- 5.3 工具(手)
-
- ✅ 何时使用 Agents / ⛔ 何时避免使用它们
-
- 应用领域
-
- 结论
随着大型语言模型(LLMs)的出现,人工智能已经取得了巨大的飞跃。这些强大的系统彻底改变了自然语言处理,但当它们与自主性(能够自主推理、计划和行动的能力)相结合时,它们的真正潜力才得以释放。这就是 LLM Agents 发挥作用的地方,它代表了我们与 AI 交互和利用 AI 的方式的范式转变。
这篇博客旨在提供 AI Agents 的全面概述,深入探讨它们的特性、组件和类型,同时探索它们的演变、挑战和潜在的未来方向。
让我们首先了解从 LLM 到 AI Agents 的演变。
1. 从 LLMs 到 AI Agents
LLM 应用形式因素的演变是我们所见过的现代应用中最快的发展之一。
1.1 传统聊天机器人到 LLM 驱动的聊天机器人
聊天机器人并不新鲜;在生成式 AI(gen AI)这个术语出现之前,您可能已经在网站上与聊天机器人进行过交互。前生成式 AI 时代的传统聊天机器人在根本上不同于当今 AI 驱动的对话代理。以下是它们通常的运作方式:
基于启发式的响应 Heuristic-Based Responses:
- 传统聊天机器人基于规则逻辑(“if-then”语句)运行。
- 仅限于预定义的规则,无法处理复杂或模棱两可的查询。
固定响应 Canned Responses:
- 响应是静态的和预定义的。
- 通过检测特定关键字或短语触发。
- 缺乏灵活性和对话深度。
人工转接:
- 始终包含“与人工对话”按钮,用于处理未解决的查询。
- 人工干预对于处理复杂问题仍然至关重要。
1.2 LLM 驱动的聊天机器人简介
ChatGPT 的发布: 2022 年 11 月 30 日,OpenAI 推出了 ChatGPT,由 GPT-3.5 提供支持,作为第一个主流 LLM 应用。ChatGPT 保留了熟悉的聊天机器人界面,但由先进的 LLM 技术支持,该技术在大量互联网语料库上进行了训练。
Transformer 架构: GPT(生成式预训练 Transformer)基于 Google 于 2017 年推出的 Transformer 架构。它使用自注意力机制来分析输入序列,从而在更深层次上理解上下文。
LLMs 的能力: 与传统聊天机器人不同,LLMs 生成类似人类的、上下文相关的和新颖的文本。用例包括代码生成、内容创建、增强的客户服务等。
局限性:
- 个性化: 在长时间对话中难以保持一致的、个性化的交互。
- 幻觉: 可以产生事实不正确但连贯的响应,根据概率而不是经过验证的知识生成输出。
解决局限性:
- 正在探索诸如检索增强生成(RAG)之类的技术,以将输出建立在可靠的外部数据中。
- 这些进步旨在减少不准确性并提高 LLM 驱动系统的鲁棒性。
1.3 从 LLM 驱动的聊天机器人到 RAG 聊天机器人和 AI Agents
RAG 聊天机器人: 检索增强生成(RAG)将外部数据检索与 LLM 功能相结合,以产生准确且上下文相关的响应。
知识来源:
- 非参数知识: 从互联网或专有数据库等外部来源检索的实时数据。
- 参数知识: LLM 在其训练中嵌入的知识。
优势: 减少幻觉,提供最新信息,并确保可验证的响应。
提示工程: 诸如上下文学习(单样本、少样本)、思维链(CoT)和 ReAct 之类的技术通过指导 LLM 的推理和输出生成来提高响应质量。
AI Agents: AI Agents 从 LLMs 演变而来,增强了工具、多步规划和推理能力。
工具使用: LLMs 可以通过结构化模式(例如 JSON)分析任务和分配参数来调用以编程方式定义的函数或 API。
环境: AI Agents 在迭代执行环境中运行,从而实现基于反馈的动态决策和持续适应。
Agentic 系统: 这些是具有自主 Agents 的计算架构,能够集成多个系统组件、做出决策并实现目标。
Agentic RAG:
- 将 LLMs 的推理、工具使用和规划能力与语义信息检索相结合。
- 支持能够分解任务、执行复杂查询和利用工具解决问题的动态系统。
从 LLM 驱动的聊天机器人到 RAG 聊天机器人和 AI Agents 的转变代表了向更智能、更具适应性和工具集成的系统的转变,这些系统能够实时解决复杂问题。
2. 什么是 AI Agents?
AI Agent 是一个可以通过传感器感知其环境、处理这些信息并通过执行器对环境采取行动以实现特定目标的系统。可以将其视为一个数字实体,它可以观察、思考和行动——就像人类与其周围环境互动一样,但是以一种程序化和有目的的方式。
AI Agents 的概念建立在理性行为的基本思想之上:Agent 应该采取最大化其成功实现指定目标的机会的行动。这种理性是将 AI Agents 与简单的响应式程序区分开来的原因。
2.1 AI Agents 的特性
AI Agents 具有几个关键特性:
- 自主性: 无需人工干预即可运行,独立做出决策。
- 反应性和主动性行为: 对环境变化做出反应并采取主动措施来实现目标。
- 适应性: 通过处理新信息和经验来学习和发展。
- 目标导向: 致力于实现预定义目标或优化结果。
- 交互性: 与其他 Agents 或人类进行交流和协作。
- 持久性: 持续运行,监控和响应动态环境。
3. AI Agents 的核心组件
在其核心,AI Agent 由以下组件组成:
- 感知
- 推理
- 行动
- 知识库
- 学习
- 通信接口
3.1 感知(传感器)
这些允许 Agent 感知其环境。这些可以是物理传感器(摄像头、麦克风)或数字输入(数据流、用户交互)。
3.2 推理(处理器)
Agent 的“大脑”,处理来自传感器的信息并确定适当的行动。该组件实现 Agent 的决策算法并维护任何必要的内部状态。
AI Agents 使用各种决策机制,例如基于规则的系统、专家系统和神经网络,来做出明智的选择并有效地执行任务。
3.3 行动(执行器)
Agent 影响其环境的方式,或者仅仅是使 Agent 能够采取行动的方式。这些可以是物理的(机器人手臂、扬声器)或数字的(数据库更新、显示输出)。
3.4 知识库
Agent 用来做决策的信息库,包括预编程的知识和学习到的信息。
3.5 学习
使 Agent 能够通过从数据和经验中学习来随着时间的推移提高其性能。它使用强化学习、监督学习和无监督学习等技术来随着时间的推移提高 AI Agent 的性能。
3.6 通信接口
允许 Agent 与其他 Agents、系统或人类进行交互。
Agent in Larger Environment | Credits: Tim Cvetko
我们将在下面的部分中详细介绍它们,同时详细说明 Agent 的工作原理。
4. AI Agents 如何与其环境交互
交互循环通常被称为“感知-计划-行动”循环或“感知-行动”循环。让我们以自动驾驶汽车为例来理解每个阶段:
4.1 感知阶段
将其视为 Agent 的“感知”阶段:
传感器 → 处理 → 状态更新
- Agent 通过其传感器接收输入
- 信息被处理和解释
- 当前状态根据新信息更新
4.2 决策阶段
这是“思考”阶段,Agent 在此阶段:
当前状态 + 目标 → 评估选项 → 选择最佳行动
- Agent 评估可能的行动
- 考虑目标和约束
- 根据可用信息选择最佳行动
4.3 行动阶段
这是“执行”阶段:
执行行动 → 观察变化 → 开始新循环
- 通过执行器执行所选行动
- 环境发生变化
- Agent 通过传感器观察结果,开始新的循环。
这个循环不断重复,通常每秒多次。使这个循环强大的原因是:
-
适应性: 如果发生意外情况,Agent 可以在下一个感知阶段检测到这一点并相应地调整其行动。
-
学习机会: Agent 可以将预测结果与实际结果进行比较,以改进未来的决策。
-
目标导向行为: 每个循环都使 Agent 更接近其目标,同时尊重约束。
为了以编程方式理解它,让我们通过使用恒温器的类比来比较三个复杂程度:
简单程序
# Simple program
if temperature > desired_temperature:
turn_on_cooling()
- 只遵循固定规则
- 不考虑后果
- 没有学习或适应
响应式程序
# Responsive program
if temperature > desired_temperature:
if time_of_day == "peak_hours":
turn_on_cooling_eco_mode()
else:
turn_on_cooling_normal()
- 更复杂的规则
- 一些上下文感知
- 仍然没有真正的智能
AI Agent
class SmartThermostat:
def perceive(self):
current_temp = get_temperature()
time = get_time()
electricity_price = get_current_price()
weather_forecast = get_forecast()
user_preferences = get_preferences()
return Environment(current_temp, time, electricity_price,
weather_forecast, user_preferences)
def think(self, environment):
possible_actions = [
NoAction(),
CoolNormal(),
CoolEco(),
PreCool(),
WaitForOffPeak()
]
# Evaluate each action's expected outcome
best_action = None
best_utility = float('-inf')
for action in possible_actions:
predicted_state = predict_future_state(environment, action)
utility = calculate_utility(predicted_state)
if utility > best_utility:
best_action = action
best_utility = utility
return best_action
def act(self, action):
action.execute()
monitor_results()
update_learning_model()
- 考虑多个因素
- 预测结果
- 从经验中学习
- 优化长期目标
- 平衡相互竞争的目标
同样的循环适用于所有 AI Agents: - 聊天机器人感知文本输入,决定适当的响应,并通过生成文本采取行动 - 交易机器人感知市场数据,决定交易策略,并通过下达交易采取行动 - 机器人吸尘器感知房间布局和污垢,决定清洁模式,并通过移动和激活其清洁机制采取行动。
5. AI Agents 如何运作?
假设您的智能冰箱不仅仅在您用完牛奶时重新订购牛奶——它还会根据您的浏览习惯建议您改用杏仁奶。有用还是有点令人不安?您来决定!
这就是 AI Agents 的简要介绍。
AI Agents 可以理解人类语言(感谢 LLMs)、推理信息、计划行动并执行任务,而无需持续的人工输入。它们解决复杂问题,使它们比简单的自动化工具先进得多。与基本脚本不同,AI Agents 集成到软件系统中,从而可以与其环境进行复杂的交互。
AI Agents 与简单自动化有何不同?
嗯,它们之所以不同,是因为有两个主要功能:
- 工具
- 规划
您已经看到 ChatGPT 在基本的数学问题上犯了错误。这是因为它只根据它所训练的数据做出响应。
同样,如果我要求您将 85 和 65 相乘,作为人类,如果您已经知道答案或者通过使用一个名为计算器的工具,您可以直接回答这个问题,对吧?
您正在对 Agents 做同样的事情,让他们可以使用工具。
第二件事是规划。
采用相同的数学计算,只有当您知道乘法或者您知道要传递给计算器的参数是 85 和 65 以及乘法时,您才能解决这个问题。
这就是规划和推理。
以下是您查询 AI Agent 时发生的情况的流程。
The architecture of an AI Agent | Credits: Himanshu Ramchandani
译者注:这里可以直接看参考的这个视频:https://www.youtube.com/watch?v=FMT_khnqKrQ&ab_channel=HimanshuRamchandani
5.1 编排层(控制中心)
假设我想创建一个 AI Agent 会议安排程序,我查询安排程序,“我想为我的所有学生举办一个网络研讨会”。
这将被视为 AI Agent 的触发器。
Orchestration layer | Credits: Himanshu Ramchandani
查询可以是文本、音频、视频或图像。(您已经知道,无论数据类型是什么,它总是会被转换为机器的数值)
查询将由编排层(又名 AI Agent 的控制中心)处理。
编排层有 4 个主要工作:
- 记忆: 维护您整个交互的记忆。
- 状态: 存储整个过程的当前状态。
- 推理: 指导 Agent 的推理。
- 规划: 步骤是什么,下一步将是什么?
它将与模型(LLM)交互。
5.2 模型(大脑)
模型是整个 Agent 的集中决策者。
它通常是一个 AI 模型,如大型语言模型。
Models in AI agents | Credits: Himanshu Ramchandani
为了理解查询、制定计划并确定下一步行动,模型使用推理和逻辑框架,例如:
- ReAct(Reason + Act) 确保深思熟虑和慎重的行动
- Chain-of-Thought 通过中间步骤进行推理。
- Tree-of-Thoughts 探索多种路径以找到最佳解决方案
模型确定要采取的行动,并使用特定工具执行这些行动。
5.3 工具(手)
使用工具,Agent 可以与外部世界互动。
就像我告诉您的,计算器、API、网络搜索、外部数据库等。
工具使 Agents 能够执行超出模型能力的操作、访问实时信息或完成现实世界的任务。
6. ✅ 何时使用 Agents / ⛔ 何时避免使用它们
当您需要 LLM 来确定应用程序的工作流程时,Agents 非常有用。但它们通常是过度的。问题是:我真的需要工作流程中的灵活性来有效地解决手头的任务吗?如果预先确定的工作流程经常失败,这意味着您需要更多的灵活性。让我们举个例子:假设您正在制作一个应用程序来处理冲浪旅行网站上的客户请求。
您可以提前知道请求将属于 2 个存储桶中的任何一个(基于用户选择),并且您为这两种情况中的每一种都有一个预定义的工作流程。
- 想了解一些旅行知识? ⇒ 让他们访问搜索栏以搜索您的知识库
- 想和销售人员谈谈? ⇒ 让他们在联系表格中输入。
如果该确定性工作流程适合所有查询,请务必编写所有代码!这将为您提供一个 100% 可靠的系统,没有让不可预测的 LLMs 干预您的工作流程而引入错误的风险。为了简单和健壮起见,建议规范化为不使用任何 Agentic 行为。
但是,如果无法提前确定工作流程怎么办?
例如,用户想问:“我可以在星期一来,但我忘记了护照,所以可能会延迟到星期三,是否可以在星期二早上带我和我的东西去冲浪,并提供取消保险?”
这个问题取决于许多因素,可能上述预定标准都不足以满足此请求。
如果预先确定的工作流程经常失败,这意味着您需要更多的灵活性。
这就是 Agentic 设置有帮助的地方。
在上面的示例中,您可以创建一个多步骤 Agent,该 Agent 可以访问用于天气预报的天气 API、用于计算旅行距离的 Google Maps API、员工可用性仪表板以及您知识库上的 RAG 系统。
直到最近,计算机程序还局限于预先确定的工作流程,试图通过堆积 if/else 开关来处理复杂性。他们专注于极其狭窄的任务,例如“计算这些数字的总和”或“找到此图中的最短路径”。但实际上,大多数现实生活中的任务,例如我们的旅行示例,并不适合预先确定的工作流程。Agentic 系统为程序打开了广阔的现实世界任务世界!
7. 应用领域
AI Agents 是多功能工具,可提高广泛领域的生产力、效率和智能。它们越来越多地用于日常应用和先进的、具有高影响力的领域。
8. 结论
AI Agents 正在改变我们与技术互动的方式,提供前所未有的自主性、智能性和适应性水平。从简单的反射 Agents 到复杂的学习系统,它们被应用于各个行业,以解决复杂问题并增强人类能力。然而,构建有效的 AI Agents 伴随着挑战,包括道德问题、数据依赖性和可扩展性问题。
随着 AI 技术的不断发展,AI Agents 的未来具有巨大的潜力。通过关注通用 AI、人机协作和道德考虑,我们可以创建不仅能高效执行任务,还能与人类价值观保持一致并为社会做出积极贡献的 Agents。
- AI Agents 是感知、决定和行动以实现目标的自主系统。
- 核心组件包括传感器、执行器、决策引擎和学习模块。
- AI Agents 用于虚拟助手、自动驾驶汽车和医疗保健等应用。
通过了解基础知识并随时了解最新进展,我们可以利用 AI Agents 的力量来推动创新并创造更美好的未来。
鸣谢
在这篇博文中,我们汇编了来自各种来源的信息,包括研究论文、技术博客、官方文档、YouTube 视频等。每个来源都在相应的图像下方进行了适当的署名,并提供了来源链接。
感谢您的阅读!
如果本指南增强了您对 Python 和机器学习的理解:
- 请用一个👏或几个鼓掌来表示您的支持!
- 您的掌声帮助我为我们充满活力的 Python 或 ML 社区创建更有价值的内容。
- 请随时与 Python 或 AI / ML 爱好者分享本指南。
- 您的反馈非常宝贵——它会激发并指导我们未来的帖子。
- 与我联系!