停止追赶最新的 RPA 趋势

e69c4049f3050856b9e1bdfbfe20808e.png
来源:AI前线

作者:Anupam Krishnamurthy

译者:Phoenix

策划:蔡芳芳

本文最初发布于 anupam.de 博客,由 InfoQ 中文站翻译并分享。

我做了 4 年的 RPA 开发者——2017 至 2021 年。在 2019 年底,我做了一个重要的决定,使我入选为 UiPath's 2021 年 62 位 MVP 之一。这个决定就是停止追赶最新的 RPA 趋势,转而专注于掌握传统的软件开发。

当然,一开始不是这样的,在我作为 RPA 开发人员的头两年里,我坚持只使用本地 RPA 工作流来实现流程自动化。我不是 IT 背景出身,所以我认为传统的编程和脚本不适合我,我将 RPA 视为一种与基于文本编程不同的编程范式,并拒绝偏离它。同时,我震撼于 RPA 的强大和上手之快速,这也让我看不到它的局限性。

RPA 市场规模每年都在呈数量级增长,现在的 RPA 平台比 2017 年强大得多。这使得作为一名 RPA 开发者,更倾向于“专攻”RPA,而不是脱离它的边界。这里列出 3 个理由来简述为什么这种想法是错误的。

为什么只局限于“RPA”是错误的

基于 GUI 的自动化终归是一种妥协

任何软件过程的自动化,本质上都需要使用一系列命令将数据从一个地方移动到另一个地方。过去几十年里,程序员已经完善了命名贴切的命令行执行这些操作的方法。然而,为了将计算机的使用范围扩展到日常用户,我们创建了一个更直观的用户界面——有鼠标指针、按钮、文本框、触摸屏等等。

进入图形用户界面,我们现在太习惯使用 GUI 了,以至于我们认为它们是理所当然的。而作为程序员,我们需要提醒自己,每次使用 GUI 时,计算机都会执行数字体操来满足我们的需求。每次你点击屏幕上的一个按钮,计算机都会投入巨大的精力把这个手势转换成一个命令。它必须:

  • 在屏幕上正确呈现按钮

  • 跟踪鼠标指针的位置

  • 注册按钮的点击

  • 执行相应的命令

或者,用一行程序代码发出命令,就像用计算机的母语说话一样,高效而健壮,信息损失最小。

大多数原生 RPA 自动化都是基于 GUI 的,花点时间让大家了解一下,基于 GUI 的自动化,包括指示机器人通过 UI 与另一个程序通信,这类似于强迫两个相同母语的人用猜字谜的方式来进行交流。基于 GUI 的自动化终归是一种妥协,因为在底层总是有更有效的方法来执行相同的任务,这引出了我第二个理由。

原生 RPA 流程在生产环境中很脆弱

在很长一段时间里,我没有意识到基于 GUI 的自动化是多么的脆弱,因为我在自己的计算机上实现了每个过程的自动化,所以我无法预料在生产环境中运行它会有什么不同。当我转到一个在生产环境中维护 RPA 流程的团队时,一切都变了。我的团队超过 80% 的时间都花在了修复损坏的流程上,这使我们几乎没有时间自动化新的流程。这种脆弱性主要源于生产环境总是与我们开发自动化的笔记本电脑和测试系统不同。一个由 100 个连续步骤组成的自动化过程的“强度”和它最弱的步骤一样,只需对 GUI 进行最小的更改就可以破坏整个过程。

作为一名 RPA 开发人员,你自己可能也经常遇到这种情况。我还没有看到过一个 RPA 过程,在生产环境第一次就能够完美地执行。当然,人们可能会认为这种情况正在改变,随着智能选择器和计算机视觉等 RPA 技术的进步,RPA 流程现在可以更灵活地应对 GUI 中的变化。这又引出了我第三个原因。

商品化

在前 RPA 时代,要自动化一个 Web 应用程序,你需要检查浏览器上的网页,筛选复杂的 HTML 和 CSS 来找到一个可靠的选择器;而使用 RPA,开发人员只需单击元素即可检索其选择器;在下一次迭代中,我们有了支持正则表达式并包含一些模糊逻辑的智能选择器;再下一个飞跃是计算机视觉——RPA 软件现在可以像人类用户一样,查看屏幕,识别文本字段、单选按钮和复选框。

随着 RPA 平台的快速成熟,RPA 工作也随之商品化。RPA 平台实现自动化越容易,所需要的员工技能水平就越低,这种趋势类似于餐饮业的工业化,在过去,你需要雇佣一个厨师来经营一家餐厅;然而,工业化让你有可能和一个中学辍学生经营一家快餐店。是的,厨师在当今世界仍然很有价值,但这是因为他们磨砺技艺,不断地改造自己。

解决办法

在我 RPA 职业生涯的早期,我的错误在于没有认识到这些因素,下面是我希望自己早点采取的 3 条措施。

像软件工程师一样思考

2019 年 12 月,我读了 Bob C. Martin 的《代码整洁之道》,它改变了我看待计算机编程的方式,让我能够从一个经验丰富的软件开发人员的角度来检查一段代码。我注意到一个人不仅需要解决眼前的问题,还需要为下游可能出现的二阶和三阶问题进行设计。我还意识到,在本质上,RPA 开发与优秀的传统软件开发并没有太大的区别。此外,比 RPA 早几十年的软件工程技术已经解决了 RPA 开发人员刚刚意识到的大多数问题。

除了阅读《代码整洁之道》和《笨办法学 Python 3》等书籍外,还有助于与软件工程师讨论他们如何实现自动化,我经常会向我的开发朋友解释我正在自动化的场景,并问他将如何处理。这帮助我发现了基于 GUI 的自动化的绝佳替代方案,这也引出了我的第二个建议。

学习使用传统编程语言实现自动化

所有 RPA 平台都构建在传统编程框架之上,大多数 RPA 自动化是在. NET 平台上完成的,所以在底层都使用了 C# 或 Visual Basic。从简单的工作流开始,尝试用. NET 语言绕过 RPA 平台,通过这种方式,你可以更深入地理解 RPA 软件的工作原理。此外,你还会意识到,在某些情况下,几行代码就可以实现与复杂的 RPA 工作流(跨越你监视器的两个长度)相同的最终结果。

获得更多经验的另一种方法是为你最常用的 RPA 平台创建自定义活动。这段经历会让你对它内部运作有宝贵的洞察。

我推荐一个极好的学习 Python 自动化的资源是“Automate the Boring Stuff with Python”。

集成 RPA 与传统软件

一旦你开始像软件工程师一样思考,并向你的工具包中添加一些编程技巧,你就可以构建优雅的流程,将 RPA 平台的集中编排与传统编程的健壮性和效率相结合。使用.NET,你可以在大多数 Windows 应用程序上自动化任务,你可以映射网络驱动器、集成 DLL,创建自定义活动,所有这些都将加速你的 RPA 代码。要与 SAP 集成,请参阅 Stefan Schnell 的 SAP Scription Tracker (https://tracker.stschnell.de/)及其神奇的工作原理,你可以通过构建 CI-CD 管道来自动化 RPA 部署。最后一个集成是我最感兴趣的场景,将继续成为我对 RPA 社区最有价值的贡献。

小    结

我上面写的一些东西可能会让人难以接受,RPA 供应商和业内人士不太可能提出这样的观点,而我自己也是在从 RPA 职业生涯中走出后,以全新的眼光回顾这个行业,才能清楚地看到这一点。

此外,我的建议是回到传统的软件开发,而不是紧跟最新的 RPA 趋势,这可能会显得过时。但是,如果你打算以长远的角度看待作为开发者的职业生涯,就需要掌握那些经受住时间考验的传统技能。

真希望我能早点意识到这一点。

原文链接

https://anupam.de/projects/descriptify/articles/articles/BiggestMistakeasRPADeveloper.html

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

1d389ab6f1322dd4f47baa781927e0e7.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请求转发与重定向的区别和执行流程

请求转发与重定向的区别和执行流程 文章目录请求转发与重定向的区别和执行流程1 请求转发与重定向区别2 现实生活的例子2.1 重定向2.2 请求转发3 重定向-流程图、代码、结果3.1 流程图3.2 代码BoyServlet3.3 代码GirlServlet3.4 web.xml文件3.5 结果4 请求转发-流程图、代码、结…

牛津大学最新调研:AI面临基准危机,NLP集中“攻关”推理测试

来源:AI科技评论作者:维克多人工智能(AI)基准为模型提供了衡量和比较的路径,超越基准,达到SOTA,经常成为顶会论文的标配。同时,有些基准确实推动了AI的发展,例如ImageNet 基准测试对…

Postman使用小教程--基础入门篇

文章目录1 Postman介绍2 postman基础功能介绍2.1 postman基础页面2.2 postman基础页面介绍2.2 接口测试流程和原理2.3 请求区域介绍3 导出和导入接口集3.1 导出3.2 导入4 设置环境变量4.1 环境变量优先级4.2 新建环境变量4.3 将返回值的某个数据设置为环境变量4.4 将其他的常用…

W玻色子质量实验与理论矛盾,或是十年来最重要的进展

来源:科学大院就在昨天,美国费米实验室的CDF项目在《Science》上发了篇文章,W玻色子质量的测量结果和标准模型预测的结果有明显差距。消息一出,粒子物理界炸了窝。因为这或许是十年来最重要的粒子物理进展!这个结果意味…

Git理论教程

文章目录1 什么是Git1.1 什么是版本控制系统1.2 为什么需要版本控制系统1.3 常见的版本控制工具1.4 版本控制分类1.4.1 集中版本控制 SVN1.4.2 分布式版本控制 Git1.4.3 Git与SVN的主要区别2 Git环境配置3 Git基本理论3.1 Git三个区域3.2 Git工作流程3.3 Git项目搭建3.3.1 本地…

Science | 再创生命奇迹!日本科学家造出了不需要“父亲”的大鼠及小鼠

来源:【iNature】iNature从多能干细胞 (PSC) 体外生成生殖细胞可以对未来的生殖医学和动物育种产生重大影响。十年前,在小鼠中建立了体外配子发生。然而,在任何其他物种中尚未实现诱导原始生殖细胞样细胞(PGCLCs)产生配…

总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程

总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程 文章目录总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程1 vue中index.html、main.js、App.vue、index.js关系简介1.1 项目的运行入口index.html1.2 入口文件main.j…

ACM 杰出会员姬水旺:量子化学和物理的深度学习

整理:汪浩文校对:维克多量子技术和人工智能都是当前最先进的科学技术,前者被寄希望于拥有超强的计算能力,后者已经在各行各业“大杀四方”。当两者相遇会碰撞出什么样的火花?人工智能又能在哪些方面助力量子技术&#…

1 操作系统第一章 操作系统概念、功能、四大特征、操作系统发展与分类

文章目录1.1 操作系统概念1.2 操作系统功能1.3 操作系统四大特征1.3.1 并发1.3.2 共享1.3.3 并发性和共享区别及对应关系:1.3.4 虚拟1.3.5 异步1.4 操作系统的发展与分类1.4.1 手工操作阶段1.4.2 批处理阶段——单道批处理系统1.4.3 批处理阶段——多道批处理系统1.…

不能头脑一热,就布局颠覆性技术、上马未来产业

来源:财经国家周刊作者:曹方 何颖 姬少宇 张鹏近年来,布局、规划及培育人工智能与机器人、先进材料、新能源、生命科学、云计算和量子计算、混合现实等颠覆性技术、未来产业,成为不少地方政府推动当地产业结构调整、助力经济高质量…

2 操作系统第一章 操作系统体系结构、中断和异常、系统调用

文章目录1.1 指令概念及其分类1.2 操作系统体系结构:1.2.1操作系统内核概念1.3 中断和异常1.3.1 中断的诞生1.3.2 中断分类1.3.3 外中断的处理过程1.3.4 中断小结1.4 系统调用1.4.1 系统调用介绍1.4.2 系统调用功能1.4.3 系统调用小结1.1 指令概念及其分类 指令就是…

百年诺奖的那些争议与放弃

来源:数学与通识自1901年首届诺贝尔奖颁发以来,它已成为人们心中最崇高、最向往的奖项之一。可能没有人想要去拒绝它,因为它不仅仅是奖金的问题,还是莫大的荣誉和骄傲,其追求真理、造福社会、为人类文明创造价值的初心…

3 操作系统第二章 进程管理 进程定义、特征、组织、状态与转换

文章目录1 进程的定义和特征2 进程的组织3 进程的状态与转换3.1 进程的状态3.2 进程状态转换1 进程的定义和特征 引入进程的原因 为了使程序能够并发执行,并且可以对并发执行的程序加以描述和控制 进程定义 进程是进程实体的运行过程,是系统进行资源分配…

数学家、中科院院士张景中:数学实力影响国家实力是近代以来的共识

本文转自:长江日报-长江网转载自公众号 和乐数学长江日报-长江网讯(记者周劼)最近一段时间,关于“数学”的热点新闻接连不断,从华为爆料有700名数学家,到中国重夺国际奥数冠军,从丘成桐区别数学家和数学工程师&#xf…

4 操作系统第二章 进程管理 进程控制、通信

文章目录1 进程控制1.1 进程控制1.2 进程控制实现1.3 进程创建1.4 进程终止1.5 进程阻塞与唤醒1.6 进程切换1.7 进程控制小结2 进程通信2.1 共享通信2.2 管道通信2.3 消息传递2.4 进程通信小结1 进程控制 1.1 进程控制 进程控制的主要功能是对系统中的所有进程实施有效的管理&…

《Science》日本科学家利用干细胞诱导成功了大鼠生殖细胞

来源:生物通日本科学家利用干细胞来诱导生殖细胞,从而产生健康且可生育的后代。不久前,日本京都大学(Kyoto University)的研究人员在《细胞干细胞》(Cell Stem Cell)杂志上发表了一篇研究论文,称他们利用小鼠多能干细胞在试管中逐…

5 操作系统第二章 进程管理 线程介绍

文章目录1 什么是线程1.1 为什么要引入线程:1.2 线程定义1.3 线程与进程的比较1.4 线程的属性1.5 线程实现方式1.5.1 用户级线程(ULT)1.5.2 内核级线程(KLT,又称“内核支持的线程”)1.5.2 用户级线程、内核级线程二者组…

6 操作系统第二章 进程管理 处理机调度

文章目录1 处理机调度1.1 处理机调度概念1.2 处理机调度三大层次1.3 处理机三层调度的联系、对比1.4 处理机调度小结2 进程调度2.1 进程调度、进程切换时机2.2 进程调度方式2.3 进程的切换与过程2.4 进程切换与调度小结3 典型的调度算法3.1 先来先服务 FCFS3.2 短作业优先 SJF3…

如何通向“广义人工智能”?LSTM 提出者之一Sepp Hochreiter:将符号 AI 与神经 AI 相结合...

来源:AI科技评论作者:Sepp Hochreiter解读:Antonio编辑:陈彩娴人类包含意识、认知、决策等等在内的智慧能力,似乎从人类有记录的那一刻起,就吸引着无数哲学家的思索。与之类似,从AI诞生的那一刻…

德勤预判:2022技术七大趋势

来源:综合德勤公开平台公开发布信息整理编辑:邱峰、罗兵,张钦煜审核:张祥、吴斌、数字理政研究院、中通协大数据分会1、数据跨界共享更便捷:诸多新技术致力于在保护隐私的同时,简化组织内和组织间的数据共享…