AI Agent Harness Engineering 与传统 RPA(机器人流程自动化)的区别
AI Agent Harness Engineering 与传统 RPA(机器人流程自动化)的区别
1. 引入与连接
1.1 一个引人深思的场景
想象一下,在一家大型金融机构的后台办公室,有两种截然不同的"员工"正在处理客户贷款申请:
一种是严格按照预设脚本工作的"规则执行者",它能快速地从一个系统复制数据到另一个系统,填写标准表格,检查必填字段是否完整。但当遇到一份格式略有不同的收入证明,或者客户提出一个非标准问题时,它就会立即停止工作,等待人工干预。
另一种则是更具"主动性"的"问题解决者",它不仅能完成数据迁移任务,还能理解非标准格式的文档,主动向客户询问缺失信息,甚至在发现客户可能符合特殊优惠政策时,主动调整申请流程。当遇到不确定的情况时,它会先尝试几种不同的解决方案,记录结果,然后选择最有效的方式继续。
这两种"员工",前者代表的就是我们熟悉的传统RPA(机器人流程自动化),而后者则是近年来兴起的AI Agent Harness Engineering(智能体驾驭工程)的产物。
在当今这个数字化转型加速的时代,企业对自动化的需求已经从简单的"按规则执行"转变为"智能决策与自适应"。这两种技术虽然都旨在减少人工操作、提高效率,但它们的工作原理、能力边界和应用场景却有着本质的区别。
1.2 与你已有的知识建立连接
如果你曾经使用过Excel中的宏(Macro),或者见过那种能自动填写网页表单的浏览器插件,那么你其实已经接触过RPA的雏形了。这些工具本质上都是通过记录和重放人的操作来实现自动化的。
而AI Agent则更像是一个初级的数字助手,想象一下Siri或Alexa,但它们不仅能回答问题,还能主动执行一系列复杂任务,根据环境变化调整策略,甚至从经验中学习提高。
在软件开发领域,如果你熟悉DevOps工具链,那么可以把RPA看作是自动化部署脚本——它们精确可靠,但只能做被明确指示的事情;而AI Agent则更像是一个智能运维助手,它能监控系统状态,预测可能的问题,并主动采取措施进行修复。
1.3 学习本文的价值与应用场景
深入理解这两种技术的区别,将帮助你:
- 为企业选择合适的自动化方案:知道什么时候该用RPA,什么时候该用AI Agent,或者如何将两者结合使用。
- 设计更高效的业务流程:了解两种技术的能力边界,从而设计出更符合实际情况的自动化流程。
- 把握技术发展趋势:看到自动化领域的演进方向,为未来的职业发展做好准备。
- 构建更强大的数字员工团队:学会如何将不同类型的自动化工具组合起来,形成协同效应。
这些知识对以下人群尤其有价值:
- 企业数字化转型负责人
- 业务流程分析师
- 自动化解决方案架构师
- 软件开发者和工程师
- 对AI和自动化感兴趣的任何人
1.4 本文的学习路径概览
在接下来的内容中,我们将按照以下路径逐步深入探索这两种技术:
- 首先,我们会构建一个整体的概念地图,帮助你理解这两种技术在自动化领域中的位置。
- 然后,我们会深入基础层面,了解它们各自的核心概念和工作原理。
- 接着,我们会层层深入,探索它们的技术细节、实现机制和能力边界。
- 之后,我们会从多个维度透视这两种技术,包括历史发展、实际应用、优缺点比较等。
- 再然后,我们会进入实践环节,学习如何在实际项目中应用这两种技术。
- 最后,我们会整合所有知识,形成一个完整的知识体系,并展望未来的发展趋势。
现在,就让我们开始这段知识探索之旅吧。
2. 概念地图:建立整体认知框架
在深入了解细节之前,让我们先构建一个整体的概念地图,帮助我们理解AI Agent Harness Engineering和传统RPA在自动化领域中的位置,以及它们与其他相关概念的关系。
2.1 核心概念与关键术语
在开始之前,我们先明确几个将在本文中反复使用的核心概念:
| 概念 | 简短定义 |
|---|---|
| RPA (机器人流程自动化) | 一种使用软件"机器人"模仿人类与数字系统交互的技术,主要用于自动化重复性、规则明确的任务。 |
| AI Agent (智能体) | 一种能够感知环境、做出决策并采取行动以实现特定目标的自主系统,通常具备一定的学习和适应能力。 |
| AI Agent Harness Engineering (智能体驾驭工程) | 设计、开发、部署和管理AI Agent的学科与实践,重点在于如何有效地"驾驭"智能体的能力以解决实际问题。 |
| 自动化 (Automation) | 广义上指使用技术替代或减少人工干预的过程,RPA和AI Agent都是实现自动化的不同方式。 |
| 智能自动化 (Intelligent Automation) | 将AI能力与自动化技术结合,使系统不仅能执行预设任务,还能理解、学习和决策。 |
| 自主性 (Autonomy) | 系统在没有持续人工干预的情况下执行任务和做出决策的能力程度。 |
| 适应性 (Adaptability) | 系统根据环境变化调整自身行为的能力。 |
2.2 概念间的层次与关系
为了更清晰地理解这些概念之间的关系,让我们从以下几个维度来构建我们的概念地图:
2.2.1 技术谱系维度
从技术能力和复杂性来看,我们可以将这些概念排列在一个连续的谱系上:
简单/规则化 → 复杂/智能化
↓ ↓
RPA → 增强型RPA → AI驱动的自动化 → AI Agent
在这个谱系上:
- RPA位于最左侧,代表基于规则的简单自动化
- 增强型RPA添加了一些基本的AI能力,如OCR(光学字符识别)
- AI驱动的自动化更深入地整合了AI能力,如自然语言处理
- AI Agent位于最右侧,代表具备自主性和适应性的智能系统
2.2.2 系统能力维度
从系统能力的角度,我们可以比较两种技术在关键维度上的差异:
| 能力维度 | 传统RPA | AI Agent |
|---|---|---|
| 决策能力 | 基于预定义规则,无自主决策 | 可基于环境和目标进行自主决策 |
| 适应性 | 低,环境变化需重新编程 | 高,可适应环境变化和不确定性 |
| 学习能力 | 无,完全依赖人类编程 | 有,可从经验和数据中学习改进 |
| 交互性 | 单向,按预设流程执行 | 双向,可与环境和人类动态交互 |
| 目标导向 | 任务导向,完成预设步骤 | 目标导向,可调整手段达成目标 |
| 处理非结构化数据 | 困难,需结构化输入 | 擅长,可处理文本、图像等非结构化数据 |
2.3 学科定位与边界
为了更准确地理解这两种技术的位置,让我们看看它们在更大学科体系中的定位:
2.3.1 RPA的学科定位
RPA主要位于以下学科的交叉点:
- 软件工程:RPA工具本质上是一种特殊的软件
- 业务流程管理:RPA主要用于自动化业务流程
- 人机交互:RPA模仿人类与系统的交互方式
- 系统集成:RPA常被用于连接不同的系统
RPA的边界相对清晰:它专注于自动化那些明确、重复、基于规则的任务,特别是那些涉及多个系统但缺乏API集成的场景。
2.3.2 AI Agent Harness Engineering的学科定位
AI Agent Harness Engineering则是一个更广泛、更复杂的交叉学科,它融合了:
- 人工智能:特别是机器学习、自然语言处理、计算机视觉等
- 自主系统:研究如何设计能自主运作的系统
- 软件工程:特别是复杂系统和分布式系统的设计
- 认知科学:理解人类决策和问题解决过程
- 控制论:研究系统如何通过反馈调整行为
- 伦理学:考虑自主系统的道德和责任问题
AI Agent的边界则更加模糊和动态,随着AI技术的发展,AI Agent的能力也在不断扩展。
2.4 知识图谱:概念间的关系网络
为了更直观地展示这些概念之间的关系,让我们创建一个知识图谱:
这个知识图谱展示了:
- 自动化作为一个大的领域,包含了RPA和智能自动化
- AI Agent是智能自动化的一个子集
- RPA和AI Agent都有不同的类型
- AI Agent Harness Engineering是设计和开发AI Agent的学科
- 它们都与软件工程和业务流程管理等学科相关
- AI是AI Agent的核心技术基础
2.5 概念交互关系
接下来,让我们看看这些概念在实际应用中是如何交互的:
这个交互关系图展示了:
- 从业务需求出发,通过分析确定合适的自动化方案
- 根据需求特点选择RPA、AI Agent或混合解决方案
- 使用相应的开发工具进行实施
- 实现业务价值后进行评估,进而优化需求
通过这个概念地图,我们现在对AI Agent Harness Engineering和传统RPA有了一个整体的认识。接下来,让我们深入基础层面,更详细地了解这两种技术。
3. 基础理解:建立直观认识
在了解了整体概念框架后,让我们深入到基础层面,通过生活化的解释、简化模型和直观示例来建立对这两种技术的直观认识。
3.1 传统RPA:数字世界的"模仿者"
3.1.1 核心概念的生活化解释
让我们用一个生活化的比喻来理解RPA:
想象你是一位餐厅经理,你雇佣了一位名叫Robbie的新员工。Robbie非常特别:
- 他能够一丝不苟地重复你教给他的任何动作序列
- 他从不抱怨,从不疲劳,从不分心
- 他的动作速度是人类的数倍
- 但他完全没有主动性,也不会思考
你教Robbie:“当看到顾客进门,先说’欢迎光临’,然后递上菜单,等待5分钟,然后问’您准备好点餐了吗?'” Robbie会严格按照这个步骤执行,分毫不差。
但是,如果遇到以下情况,Robbie就会不知所措:
- 顾客直接说"我想打包",而不是先坐下
- 递菜单时顾客正在打电话
- 顾客在5分钟内招手示意,但Robbie还是等到5分钟整才过去
- 菜单不小心掉在地上,Robbie不知道该捡起来
这就是传统RPA的本质:它是一个极其精确的"模仿者",能够完美地重复人类教给它的操作序列,但它没有理解能力,没有主动性,也不能适应意外情况。
3.1.2 简化模型与类比
我们可以用以下简化模型来理解RPA的工作原理:
RPA = 记录器 + 执行器 + 规则引擎
- 记录器:就像录像机一样,记录人类的操作序列
- 执行器:就像播放器一样,精确重播记录的操作
- 规则引擎:提供基本的"如果-那么"逻辑,处理简单的分支情况
另一个有用的类比是将RPA看作是数字世界的"铁路系统":
- 轨道是预设的流程,RPA"列车"只能在轨道上行驶
- 道岔是预设的决策点,只能在预先确定的选项中切换
- 列车不会自己开辟新路线,也不会避开突然出现的障碍
- 但只要轨道完好,列车就能高效、准时地运行
3.1.3 RPA的关键组件
让我们更具体地了解RPA系统的关键组件:
| 组件 | 功能描述 | 类比 |
|---|---|---|
| 机器人控制器 | 中央管理控制台,用于部署、监控和管理机器人 | 交响乐团指挥 |
| 软件机器人 | 实际执行任务的自动化脚本或程序 | 演奏者 |
| 流程设计器 | 可视化工具,用于创建和编辑自动化流程 | 乐谱编辑器 |
| 对象库 | 存储UI元素识别信息的仓库 | 乐器和道具库 |
| 日志和分析系统 | 记录机器人活动并提供性能分析 | 演出记录和评论 |
3.1.4 直观示例:一个简单的RPA任务
让我们通过一个具体示例来看看RPA是如何工作的:
场景:一家公司每天通过电子邮件收到供应商的发票,需要将这些发票信息录入到财务系统中。
人工操作流程:
- 登录邮箱
- 查找主题为"发票"的新邮件
- 下载邮件附件(发票PDF)
- 打开PDF,读取发票号、日期、金额等信息
- 登录财务系统
- 创建新的发票记录
- 将读取的信息填入相应字段
- 保存记录
- 对下一封邮件重复以上步骤
RPA实现方式:
- 使用RPA工具的记录器记录一名员工执行上述流程的操作
- 为变量(如发票号、日期、金额)添加数据提取逻辑
- 添加循环逻辑,处理所有符合条件的邮件
- 添加简单的错误处理(如遇到无法读取的PDF时跳过并记录)
- 部署这个RPA机器人,让它每天自动运行
结果:
- RPA机器人可以以比人类快5-10倍的速度执行这个任务
- 准确率接近100%(只要输入格式一致)
- 可以24/7不间断工作
- 但如果供应商更改了发票格式,机器人就会出错,需要重新配置
3.1.5 常见误解澄清
关于RPA,有几个常见的误解需要澄清:
误解1:RPA机器人是物理机器人
- 事实:RPA机器人完全是软件,没有物理形态。它们是在计算机上运行的自动化脚本或程序。
误解2:RPA会完全取代人类员工
- 事实:RPA主要替代重复性高、规则明确的任务,让人类员工可以专注于更有价值的工作。大多数情况下,RPA是与人类协作,而不是完全替代。
误解3:RPA是万能的,可以自动化任何流程
- 事实:RPA只适合自动化那些规则明确、重复性高、输入输出结构化的流程。对于需要判断、创造力或处理模糊信息的任务,RPA并不适合。
误解4:实施RPA不需要编程知识
- 事实:虽然现代RPA工具提供了可视化的流程设计界面,但对于复杂的流程,仍然需要一定的编程知识来处理异常、集成系统和优化性能。
3.2 AI Agent:数字世界的"参与者"
3.2.1 核心概念的生活化解释
现在,让我们用另一个生活化的比喻来理解AI Agent:
回到餐厅的例子,这次你雇佣了一位名叫Alex的员工。Alex和Robbie很不一样:
- 他不仅能执行任务,还能理解任务的目标
- 他能观察环境,根据情况调整自己的行为
- 他能从经验中学习,随着时间推移变得更有效率
- 他能主动发现问题并采取措施解决,而不需要等待指示
你告诉Alex:“你的工作是确保顾客有一个愉快的用餐体验,从他们进门到离开。” Alex会理解这个目标,并主动采取行动:
- 当看到顾客进门,他会根据顾客的年龄、人数和表情选择不同的问候方式
- 如果顾客拿着很多东西,他会主动帮忙开门并引导到合适的座位
- 他会观察顾客的用餐进度,在合适的时间询问是否需要加菜或结账
- 如果有顾客抱怨食物太咸,他会主动道歉并提出解决方案,而不是不知所措
- 随着时间推移,他会记住常客的偏好,提供更个性化的服务
这就是AI Agent的本质:它是一个主动的"参与者",能够理解目标、感知环境、做出决策并采取行动,甚至能够从经验中学习和提高。
3.2.2 简化模型与类比
我们可以用以下简化模型来理解AI Agent的工作原理:
AI Agent = 感知器 + 推理引擎 + 知识库 + 执行器 + 学习器
- 感知器:收集环境信息,就像人的眼睛和耳朵
- 推理引擎:处理信息并做出决策,就像人的大脑
- 知识库:存储知识和经验,就像人的记忆
- 执行器:采取行动影响环境,就像人的手和脚
- 学习器:从经验中学习并改进,就像人的学习能力
另一个有用的类比是将AI Agent看作是数字世界的"探险家":
- 探险家有一个目标(比如找到通往山顶的路)
- 他会观察周围的环境(地形、天气、障碍物)
- 他会根据自己的知识和经验做出决策(走哪条路)
- 他会采取行动(沿着选择的路前进)
- 他会从结果中学习(如果这条路不通,下次会尝试另一条)
- 他能够适应环境变化(如果天气变坏,会调整计划)
3.2.3 AI Agent的关键组件
让我们更具体地了解AI Agent系统的关键组件:
| 组件 | 功能描述 | 类比 |
|---|---|---|
| 感知模块 | 从环境中收集信息(文本、图像、传感器数据等) | 眼睛、耳朵、触觉等感官 |
| 表示与推理模块 | 处理感知信息,构建环境模型,进行推理和决策 | 大脑的思考和推理部分 |
| 知识库 | 存储世界知识、领域知识和历史经验 | 记忆和知识库 |
| 规划与决策模块 | 制定实现目标的计划,选择行动方案 | 策略制定和决策中心 |
| 执行模块 | 执行选定的行动,与环境交互 | 手、脚和声带等执行器官 |
| 学习模块 | 从经验中学习,更新知识和改进决策 | 学习和适应能力 |
3.2.4 直观示例:一个简单的AI Agent
让我们通过一个具体示例来看看AI Agent是如何工作的:
场景:一家公司需要一个系统来处理客户的电子邮件咨询,这些咨询涵盖各种主题,形式也各不相同。
传统方法的局限:
- 简单的规则系统只能处理预定义的查询类型
- 客户经常使用不同的表达方式问同一个问题
- 新的问题类型不断出现,需要不断更新规则
- 复杂的查询需要多轮对话才能解决
AI Agent实现方式:
- 感知:接收并理解客户的电子邮件,提取关键信息和意图
- 推理:分析客户意图,确定需要哪些信息,制定响应策略
- 知识检索:从知识库中查找相关信息和解决方案
- 决策:决定是直接回答、询问更多信息还是转交给人工客服
- 执行:生成并发送回复,或者创建工单转给人工客服
- 学习:记录交互结果,分析哪些响应有效,不断改进未来的回答
结果:
- AI Agent可以理解各种表达方式的客户查询
- 它可以处理多轮对话,逐步收集所需信息
- 它可以从经验中学习,随着时间推移变得更加准确
- 当遇到不确定的情况时,它可以优雅地降级,转交给人工处理
让我们看一个具体的交互示例:
客户:你好,我上个月买的XYZ型号打印机有点问题,打印出来的东西有条纹。
AI Agent:您好,很抱歉听到您的打印机有问题。为了更好地帮助您,请问您是否已经尝试过打印头清洁程序?另外,能否告诉我您的打印机序列号(通常在机器背面)?
客户:序列号是ABC123456。我在哪里可以找到打印头清洁程序?
AI Agent:谢谢提供序列号。对于XYZ型号打印机,您可以通过以下步骤进行打印头清洁:1. 确保打印机已开启并连接到电脑;2. 打开打印机软件;3. 点击"维护"或"工具"选项卡;4. 选择"打印头清洁";5. 按照屏幕提示操作。如果清洁后问题仍然存在,我们可能需要为您安排维修服务。请问您想先尝试清洁程序吗?
客户:好的,我先试试。如果不行再联系你们。
AI Agent:好的,希望清洁程序能解决问题。如果您需要进一步帮助,请随时联系我们。另外,我已经为您创建了一个工单(编号:Ticket-789012),如果您需要再次联系我们,提供这个编号可以帮助我们更快地为您服务。
在这个例子中,AI Agent不仅理解了客户的问题,还主动询问了必要的信息,提供了具体的解决方案,并创建了工单以便后续跟进。这是传统RPA难以做到的。
3.2.5 常见误解澄清
关于AI Agent,也有几个常见的误解需要澄清:
误解1:AI Agent具有人类水平的通用智能
- 事实:目前的AI Agent通常是"窄AI",擅长特定领域的任务,但不具备人类那样的通用智能和意识。
误解2:AI Agent可以完全自主运作,不需要任何人类监督
- 事实:大多数实际应用的AI Agent仍然需要一定程度的人类监督和干预,特别是在处理高风险决策时。
误解3:AI Agent总是客观和公正的
- 事实:AI Agent的决策受到其训练数据和设计的影响,可能会包含偏见,需要仔细设计和监控。
误解4:开发AI Agent需要大量的数据
- 事实:虽然数据对AI Agent很重要,但现代技术(如小样本学习、迁移学习)使得AI Agent可以在有限数据下工作。
3.3 直观对比:RPA vs AI Agent
为了更直观地理解这两种技术的区别,让我们用一个表格来对比它们在各个方面的不同:
| 对比维度 | 传统RPA | AI Agent |
|---|---|---|
| 核心本质 | 精确的"模仿者",重复人类操作 | 主动的"参与者",理解目标并自主行动 |
| 驱动方式 | 规则驱动,基于预定义指令 | 目标驱动,基于理解和推理 |
| 环境适应性 | 低,只能在预设环境中工作 | 高,能适应变化和不确定性 |
| 决策能力 | 无,只能按预设规则选择分支 | 有,能基于环境和目标做出决策 |
| 学习能力 | 无,完全依赖人类编程 | 有,能从经验和数据中学习改进 |
| 处理非结构化数据 | 困难,需要结构化输入 | 擅长,可处理文本、图像等非结构化数据 |
| 交互方式 | 单向,按预设流程执行 | 双向,可与环境和人类动态交互 |
| 错误处理 | 简单,通常是停止或记录错误 | 复杂,可尝试多种解决方案,从错误中恢复 |
| 实施周期 | 较短,主要是记录和配置流程 | 较长,需要训练模型和设计推理机制 |
| 维护成本 | 低到中等,主要是更新规则 | 中到高,需要持续训练和优化 |
| 最佳应用场景 | 重复性高、规则明确的任务 | 复杂、不确定、需要理解和决策的任务 |
| 类比 | 铁路系统,只能在预设轨道上行驶 | 探险家,能根据环境选择路径并适应变化 |
通过这些生活化的解释、简化模型和直观示例,我们现在对传统RPA和AI Agent有了一个基础的直观认识。接下来,让我们层层深入,探索它们的技术细节、实现机制和能力边界。
4. 层层深入:逐步增加复杂度
在建立了直观认识之后,让我们层层深入,探索这两种技术的技术细节、实现机制和能力边界。我们将从基本原理开始,逐步深入到底层逻辑和高级应用。
4.1 第一层:基本原理与运作机制
4.1.1 传统RPA的基本原理
传统RPA的核心原理可以概括为"模拟人机交互,自动化规则明确的任务"。让我们深入了解它的工作机制:
RPA的技术栈
RPA系统通常构建在以下技术栈之上:
┌─────────────────────────────────────────┐
│ RPA应用层 (流程设计器、 │
│ 机器人控制器、分析仪表板) │
├─────────────────────────────────────────┤
│ RPA核心引擎 (流程执行、 │
│ 元素识别、错误处理) │
├─────────────────────────────────────────┤
│ 系统交互层 (UI自动化、 │
│ API集成、剪贴板操作) │
├─────────────────────────────────────────┤
│ 基础技术层 (.NET/Java、 │
│ 脚本语言、OCR) │
└─────────────────────────────────────────┘
让我们逐一解释这些层次:
-
基础技术层:
- RPA工具通常构建在.NET或Java等通用开发平台上
- 使用脚本语言(如Python、JavaScript、VBScript)进行扩展
- 集成OCR(光学字符识别)技术处理图像和扫描文档
-
系统交互层:
- UI自动化:通过操作系统级别的API(如Windows UI Automation、Apple Accessibility)与应用程序界面交互
- API集成:通过REST、SOAP等API直接与系统交互(如果可用)
- 剪贴板操作:通过剪贴板在应用程序间传输数据
- 键盘鼠标模拟:模拟键盘输入和鼠标点击/移动
-
RPA核心引擎:
- 流程执行:按照预定义的流程步骤执行任务
- 元素识别:使用多种技术识别UI元素,包括:
- 基于属性的识别(如ID、Name、ClassName)
- 基于图像的识别(截图匹配)
- 基于文本的识别(OCR)
- 错误处理:提供基本的异常捕获和处理机制
-
RPA应用层:
- 流程设计器:可视化界面,用于创建和编辑自动化流程
- 机器人控制器:中央控制台,用于部署、监控和管理机器人
- 分析仪表板:提供机器人性能指标和业务价值分析
RPA的工作流程
一个典型的RPA工作流程如下:
让我们详细解释每个步骤:
-
流程分析:
- 识别适合自动化的流程(高重复性、规则明确、低异常率)
- 详细记录现有流程的每个步骤
- 定义成功标准和性能指标
-
流程设计:
- 使用RPA工具的流程设计器创建自动化流程
- 定义输入、输出和数据处理逻辑
- 添加基本的错误处理和分支逻辑
-
流程测试:
- 在测试环境中执行流程
- 验证流程的正确性和健壮性
- 测试各种边界情况和异常场景
-
机器人部署:
- 将经过测试的流程部署到生产环境
- 配置机器人的运行计划和资源分配
- 设置监控和告警机制
-
机器人执行:
- 机器人按照预设计划或触发条件执行任务
- 与各种系统和应用程序交互
- 处理数据和完成任务
-
监控与日志:
- 持续监控机器人的执行状态和性能
- 记录详细的执行日志和错误信息
- 收集业务价值数据和ROI指标
-
流程优化:
- 分析监控数据和日志,识别改进机会
- 优化流程以提高效率和准确性
- 更新流程以适应系统或业务需求的变化
RPA的核心技术:UI元素识别
UI元素识别是RPA的核心技术之一,因为RPA机器人需要能够"看到"并与应用程序界面交互。让我们深入了解几种常见的元素识别技术:
-
基于属性的识别:
- 原理:利用UI元素的属性(如ID、Name、ClassName、AutomationId等)来定位元素
- 优点:稳定、快速、可靠
- 缺点:需要应用程序暴露这些属性,动态生成的UI可能没有稳定的属性
- 示例:
Find element where: - ClassName = "Button" - Name = "Submit" - AutomationId = "btnSubmit"
-
基于坐标的识别:
- 原理:使用屏幕上的固定坐标来定位元素
- 优点:简单,不需要应用程序暴露任何属性
- 缺点:非常脆弱,屏幕分辨率变化、窗口位置变化或UI布局变化都会导致失败
- 示例:
Click at (850, 420)
-
基于图像的识别:
- 原理:使用图像匹配技术(如模板匹配、特征点匹配)来定位屏幕上的元素
- 优点:可以识别没有暴露属性的元素,甚至可以识别图像中的元素
- 缺点:计算资源消耗大,对屏幕分辨率、颜色主题和显示缩放敏感
- 示例:
Find and click the image that matches "submit_button.png"
-
基于文本的识别(OCR):
- 原理:使用光学字符识别技术从屏幕或图像中提取文本,然后基于文本定位元素
- 优点:可以处理图像、扫描文档和没有暴露文本属性的UI
- 缺点:OCR可能出错,尤其是对低质量图像或特殊字体
- 示例:
Use OCR to find the text "Submit" and click it
现代RPA工具通常会结合使用多种识别技术,以提高鲁棒性和可靠性。例如,首先尝试基于属性的识别,如果失败,则尝试基于图像的识别。
4.1.2 AI Agent的基本原理
AI Agent的核心原理可以概括为"感知环境、推理决策、采取行动、学习改进"。让我们深入了解它的工作机制:
AI Agent的经典架构
AI Agent有多种不同的架构,其中最经典的是由Russell和Norvig提出的架构:
这个简单的架构展示了AI Agent的基本循环:感知环境、处理信息、采取行动、然后再感知更新后的环境。
根据Agent的内部结构和决策方式,我们可以将其分为几种不同的类型:
-
简单反射型Agent:
- 仅基于当前感知做出决策,不考虑历史
- 使用简单的"条件-行动"规则
- 优点:简单、快速
- 缺点:无法处理需要记忆或规划的情况
- 示例:一个简单的恒温器,当温度低于设定值时加热,高于设定值时停止
-
基于模型的反射型Agent:
- 维护一个内部"世界模型",记录历史感知
- 基于当前感知和世界模型做出决策
- 优点:可以处理部分可观察的环境
- 缺点:仍然缺乏长期规划能力
- 示例:一个扫地机器人,记录它已经清理过的区域
-
基于目标的Agent:
- 除了世界模型,还维护目标信息
- 规划一系列行动以实现目标
- 优点:可以处理需要长期规划的情况
- 缺点:规划可能计算复杂,目标可能过于简单
- 示例:一个导航系统,规划从A点到B点的路线
-
基于效用的Agent:
- 使用效用函数评估不同状态的"好坏"
- 选择能最大化预期效用的行动
- 优点:可以处理多个相互冲突的目标
- 缺点:设计合适的效用函数可能很困难
- 示例:一个交易Agent,在风险和回报之间取得平衡
-
学习型Agent:
- 包含学习组件,可以从经验中改进
- 学习如何更好地感知、推理和决策
- 优点:可以适应环境变化,性能随时间提高
- 缺点:学习过程可能需要大量数据和计算
- 示例:一个推荐系统,随着用户反馈不断改进推荐
现代实用的AI Agent通常是这些类型的组合,结合了多种技术和方法。
AI Agent的技术栈
AI Agent的技术栈比RPA复杂得多,因为它需要处理感知、推理、学习等多种能力:
┌─────────────────────────────────────────┐
│ 应用层 (对话界面、业务应用、 │
│ 分析工具) │
├─────────────────────────────────────────┤
│ 协调层 (多Agent协调、任务分解、 │
│ 混合规划) │
├─────────────────────────────────────────┤
│ 推理层 (符号推理、概率推理、 │
│ 决策理论) │
├─────────────────────────────────────────┤
│ 表示层 (知识表示、环境模型、 │
│ 状态表示) │
├─────────────────────────────────────────┤
│ 感知层 (计算机视觉、语音识别、 │
│ 自然语言处理) │
├─────────────────────────────────────────┤
│ 学习层 (监督学习、强化学习、 │
│ 无监督学习) │
├─────────────────────────────────────────┤
│ 基础层 (机器学习框架、计算平台、 │
│ 数据存储) │
└─────────────────────────────────────────┘
让我们逐一解释这些层次:
-
基础层:
- 机器学习框架:如TensorFlow、PyTorch、Scikit-learn等
- 计算平台:CPU、GPU、TPU等硬件资源,以及云计算平台
- 数据存储:数据库、数据湖、向量数据库等
-
学习层:
- 监督学习:从标注数据中学习模式
- 强化学习:通过试错和奖励学习最优策略
- 无监督学习:从未标注数据中发现模式
- 半监督学习:结合少量标注数据和大量未标注数据
-
感知层:
- 计算机视觉:处理和理解图像和视频
- 语音识别:将语音转换为文本
- 自然语言处理:理解和生成人类语言
-
表示层:
- 知识表示:形式化表示领域知识
- 环境模型:维护Agent对外部世界的理解
- 状态表示:表示Agent和环境的当前状态
-
推理层:
- 符号推理:基于逻辑规则进行推理
- 概率推理:处理不确定性和概率信息
- 决策理论:在不确定性下做出最优决策
-
协调层:
- 多Agent协调:多个Agent之间的协作和竞争
- 任务分解:将复杂任务分解为子任务
- 混合规划:结合不同的规划方法
-
应用层:
- 对话界面:与用户交互的界面
- 业务应用:解决特定业务问题的应用
- 分析工具:分析Agent性能和效果的工具
AI Agent的工作流程
一个典型的AI Agent工作流程如下:
让我们详细解释每个步骤:
-
感知环境:
- 使用传感器(如摄像头、麦克风、API等)收集环境信息
- 可能包括结构化数据(如数据库记录)和非结构化数据(如文本、图像)
-
理解和表示:
- 处理感知数据,提取有用信息
- 将信息转换为Agent可以使用的表示形式
- 更新内部环境模型和状态表示
-
推理和决策:
- 基于当前状态和目标,推理可能的行动方案
- 评估每个方案的可能结果和效用
- 选择最优行动方案
-
规划行动:
- 将选定的行动方案分解为具体的执行步骤
- 考虑可能的障碍和意外情况
- 生成详细的执行计划
-
执行行动:
- 通过执行器(如API调用、UI操作、文本生成等)执行计划
- 监控执行过程,处理即时问题
-
观察结果:
- 感知行动后的环境变化
- 评估行动是否达到预期效果
- 收集关于环境和行动结果的反馈
-
学习和适应:
- 基于观察结果更新知识和模型
- 调整推理和决策策略
- 改进未来的性能
这个循环不断重复,使Agent能够持续地与环境交互、学习和改进。
AI Agent的核心技术:大语言模型在Agent中的应用
近年来,大语言模型(LLM)的发展对AI Agent领域产生了深远的影响。让我们看看LLM是如何被整合到AI Agent中的:
-
LLM作为推理引擎:
- LLM具有强大的推理和问题解决能力,可以作为Agent的推理核心
- 通过提示工程(Prompt Engineering),可以引导LLM进行复杂的推理
- 示例:
问题:客户想退回一个使用过的电子产品,我们的政策是产品必须未使用才能退货。我应该如何回应? 思考:首先,我需要理解客户的需求和我们的政策。客户想退货,但产品已使用,这违反了我们的政策。但我应该以友好和帮助的方式回应,同时遵守政策。也许我可以提供其他解决方案,比如维修或换货。 回应:您好,感谢您联系我们。我理解您想退回这个产品。根据我们的政策,退回的产品必须处于未使用状态。不过,我们很乐意帮助您解决这个问题。您是否考虑过我们的维修服务?或者如果产品有质量问题,我们可以为您更换一个新的。您觉得哪种方案更适合您?
-
LLM作为规划器:
- LLM可以将复杂目标分解为可执行的步骤
- 可以生成详细的计划,考虑可能的障碍和解决方案
- 示例:
目标:组织一个有50人参加的产品发布会 计划: 1. 确定发布会的日期、时间和地点 - 考虑主要利益相关者的可用性 - 选择一个能容纳50人的场地 2. 准备发布会内容 - 制定产品演示大纲 - 准备演讲稿和展示材料 3. 邀请参与者 - 创建邀请名单 - 发送邀请函并收集回复 4. 安排后勤 - 预订餐饮 - 安排音响和视频设备 - 准备宣传材料 5. 执行发布会 - 提前到场布置 - 按计划进行发布会 - 收集参与者反馈 6. 后续跟进 - 发送感谢邮件 - 分析反馈并总结经验
-
LLM作为工具使用协调器:
- LLM可以决定何时使用何种工具,以及如何解释工具的输出
- 可以整合多种工具,如搜索引擎、计算器、API等
- 示例:
用户问题:巴黎现在的天气怎么样?转换成摄氏度和华氏度。 思考:我需要知道巴黎现在的天气。我没有实时天气信息,所以我应该使用天气查询工具。然后我需要将温度转换成摄氏度和华氏度(如果天气工具只提供一种单位)。 行动: 1. 使用天气工具查询巴黎当前天气 - 结果:巴黎当前温度为15°C,晴朗 2. 将15°C转换为华氏度 - 计算:15 * 9/5 + 32 = 59°F 回答:巴黎现在的天气是晴朗,温度为15°C(59°F)。
-
LLM作为记忆管理器:
- LLM可以帮助组织和检索Agent的记忆
- 可以将复杂信息总结为简洁的形式,便于后续使用
- 示例:
交互历史总结: - 用户是ABC公司的采购经理 - 他们之前购买过我们的X型号产品,数量为100个 - 他们对X型号的性能满意,但希望价格能更低 - 他们现在正在考虑购买Y型号产品,用于新的项目 - 他们需要在两周内做出决定
将LLM整合到AI Agent中,可以大大增强Agent的能力,使其能够处理更复杂、更开放的任务。然而,这也带来了一些挑战,如
更多推荐

所有评论(0)