Type something to search...
未来工程:数据、软件和人工智能的共同点

未来工程:数据、软件和人工智能的共同点

识别跨学科共性不仅增强招聘策略,还支持灵活的IT架构。

我注意到IT部门中存在过度专业化的趋势。然而,多年来我学到的一个重要教训是这种孤立专业化的负面影响

虽然这主要是一个组织问题,但对供应商专业平台产品的盲目追求也导致了我们企业架构中功能的显著重叠

如果您的业务是提供专业IT解决方案平台,当然可以从高度专业化中受益。

对于所有其他企业,我认为这需要进行纠正。

从孤岛到更好的协作的转变

传统的软件应用工程、数据工程和人工智能/机器学习(AI/ML)今天形成了大型孤岛。

虽然不同的IT任务被认为是大致独立的,目标也各不相同,但实际上,业务需要应用程序与AI/ML模型之间无缝的数据交换和集成。

我们需要从孤立的任务转向集成系统。

各个领域的工程师实际上依赖于许多共享的实践,这需要一个共同的语言和方法论。数据管道现在必须支持实时模型推断;应用软件必须动态处理数据流;而AI/ML模型必须无缝地融入实时应用程序中。

这些跨领域的互动应该重新定义各个领域工程师的孤立角色,使我们清楚地认识到必须超越传统学科的界限进行思考。

在我为医疗行业工作时,我观察到了过度专业化的同样问题。医生也往往单一关注特定的器官或系统(例如,心脏病专家、神经科医生)。这种过度专业化虽然推动了某些疾病的治疗,但往往导致一种片面的做法,可能忽视患者的整体健康。这使得获得良好、全面的建议变得非常困难。

然而,近年来医疗行业确实发生了重大转变:从孤岛思维转向更为集成的整体方法。这一趋势强调跨学科的协作,结合不同专业的知识以改善患者的结果。

我们迫切需要在IT工程中进行同样的重新思考。

共同原则:跨学科的桥梁

回顾过去,有几个关键原则显得尤为重要,无论你是数据工程师、软件开发人员还是AI/ML从业者。

显而易见的共同点包括编程能力、算法思维和问题解决能力,以及对数据结构的恰当处理。这些原则为所有工程师提供了共同的基础。

让我们来看一些更多的共同原则。

模块化与可重用性

模块化多年来一直是软件架构的基石。

在数据工程中,这一原则同样至关重要。一个设计良好的数据管道必须是模块化的,以支持可重用的数据转换和易于调整的组件。在应用开发中,我们学会了以(微)服务的形式思考,从而为一个连贯的整体系统做出贡献,但在构建数据管道方面,我们仍然缺乏同样的能力。相反,我常常听到一个错误的说法,即数据工程不是软件工程

查看谷歌的论文“机器学习系统中的隐藏技术债务”清楚地表明,模型本身只是整个AI/ML服务中一个很小的部分。大部分服务需要软件和数据工程的专业知识,以便将其正确集成到企业架构中。例如,特征工程实际上是针对AI/ML模型的数据工程,并且与传统的数据仓库ETL处理有许多共同点。

当这三种学科都追求模块化架构时,整合不同系统和跨孤岛重用组件就变得更加容易。

版本控制与生命周期管理

在软件开发中,版本控制对于管理变更至关重要,这一原则同样适用于数据和AI/ML模型。数据版本控制确保团队能够跟踪变更、维护血统并保证可重现性。AI/ML模型的实验跟踪和生命周期管理可以防止更新干扰流程或在生产中引入意外行为。

在各个领域采取严格的版本控制方法确保系统的清晰同步,尤其是在我们的动态环境中,数据、代码和模型不断演变。这一需求在“*Ops”学科的兴起中得到了体现,如DevOps、MLOps和DataOps,它们都旨在促进高质量软件产品的快速交付。

然而,这些重叠的学科导致了不必要的项目管理和工作流程开销。我们维持着三种独立的、过于专业化的版本,实际上这些流程在本质上是相似的。一个能够打破这些孤岛的统一方法将显著降低复杂性并提高效率。

实时处理与响应能力

随着对低延迟处理需求的增加,传统的批处理系统已不再足够。如今的用户期望即时的信息供应。这种向近实时响应能力的转变要求新的集成水平。

对于数据工程师而言,实时处理意味着重新思考传统的ETL管道,转向更具事件驱动的架构,实时推送数据。软件工程师必须设计能够处理实时数据流的系统,通常集成AI/ML推理,以提供个性化或上下文感知的响应。对于AI/ML工程师而言,关键在于构建具有最小延迟的模型。

不幸的是,我们仍然离统一批处理和流处理相去甚远。

抽象的力量使跨职能系统成为可能

避免功能重叠的最强大工具之一是抽象。

每个领域都发展出了自己的抽象 – 例如,在应用开发中的用户体验原则,如模型-视图-控制器(MVC)或前端后端(BFF),在数据工程中的ETL管道编排,以及机器学习中的神经网络层。

通过基于通用抽象构建系统,我们创造了一种可以跨学科理解的语言。

考虑一下像数据即产品这样的抽象如何作为共享语言。对于数据工程师来说,数据即产品是由应用程序创建的明确定义的数据集,用于公开和传输给消费者。对于AI/ML从业者来说,它是为模型训练准备的特征集。对于软件工程师来说,它就像一个API端点,为应用功能提供可靠的数据输入。通过创建和消费数据作为产品,各个团队使用相同的语言,这促进了更好的理解。

操作系统(OS)传统上是提供这种基本抽象的基础设施,使其能够为所有特定应用程序同样有效地工作。在我们作为单一学科中的专业工具创建新的基本抽象之前,我们应该仔细考虑是否更好地由基础设施组件覆盖——例如,作为操作系统扩展。

接纳反馈循环

随着学科之间的界限变得模糊,反馈循环的需求变得至关重要。

数据、软件和 AI/ML 系统不再是静态的;它们在不断演变,受用户反馈和分析洞察的驱动。这进一步缩小了开发与生产之间的差距,使系统能够随着时间的推移学习和适应。专注于这种反馈循环的学科通常被称为 observability

在数据工程中,observability 可能意味着监控数据流,以便进行持续的协作,从而提高准确性和可靠性。对于软件工程师来说,它可以是收集实时应用程序使用情况和用户反馈,以改进功能和用户体验。在 ML 中,反馈循环对于根据新的数据分布重新训练模型至关重要,以确保预测保持相关性和准确性。

精心设计的反馈循环确保所有系统持续优化。这些循环还促进跨职能学习,来自一个领域的洞察直接反馈到另一个领域的改进中,形成一个良性循环,实现增强和适应。

精简您的招聘

日益增加的专业化反映了应对现代系统日益复杂性的必要演变。

虽然专业领域可以带来显著的好处,但它们高度重叠的部分导致了协调和整合的挑战。那些成功协调这些交叉领域的组织——通过依赖健全的架构原则、协作文化和统一策略——将获得竞争优势。

您不需要为企业架构的每一个方面都招聘过于专业化的工程师。仅仅依靠少数具备足够经验的企业架构师来监督跨学科方面是无法成功的。强大的抽象并不是通过生活和思考在孤岛中产生的。必须鼓励工程师跳出框架思考,并理解在企业级别上进化架构的好处。

所有工程师都需要遵循健全的企业架构原则,而不仅仅是架构师。因此,请确保您的IT工程师中拥有广泛的架构知识基础。

不要寻找一个了解所有最新工具的高度专业化的DevOps工程师,而是寻找一个对软件工程有深入了解并懂得如何快速将软件投入生产同时保持最高质量的IT工程师。

朝着统一的工程思维

随着我们工程未来,显然我们的成功依赖于在必要时弥合分离的学科。数据工程师、软件开发人员和AI/ML从业者必须采用统一的工程思维,接受共享的原则和实践,以创建满足业务交叉需求的系统。

我坚信工程的未来是一段协作的旅程。通过在一个共享的框架内工作——模块化、版本控制、近实时响应和抽象——我们为集成系统奠定基础。目标不是消除领域之间的区别,而是利用它们独特的优势,超越任何一个学科的局限。

成功将属于那些能够跨越边界、采用跨职能原则并全面思考他们构建的系统的人。通过利用这些共同的线索进行工程,我们不仅提高了每个领域的效率,还促进了更大的交叉创新和敏捷性。未来是互联的,构建未来的路径始于接受IT工程中的共同原则。

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多