Thoughtworks CTO:人工智能意味着我们比以往任何时候都更需要开发者

Thoughtworks CTO 犀利指出:别再迷信 AI 取代开发者!企业数字化转型需重视遗留系统现代化,利用 AI (如 RAG) 理解代码,而非盲目生成。警惕 "token 经济学" 陷阱,拥抱 "CodeConcise" 等工具,进行 AI 实验,增强而非取代开发者,实现云原生转型。

译自:Thoughtworks CTO: AI Means We Need Developers More Than Ever

作者:Jennifer Riggins

“我在 X 上看到有人基本上说,‘看,我vibe coded了这个应用程序。我不需要开发者。我很酷。’ 然后,在 24 小时内,他们就受到了攻击。它没有涵盖所有的安全向量,也没有涵盖你在知道自己是一名资深软件开发者时需要考虑的任何东西。”

这就是 Thoughtworks 首席技术官 Rachel Laycock 与 The New Stack 就 AI 的未来及其对科技行业的当前影响进行深入对话的开场白。

不久之后,她说这位 X 用户写道:“我不知道自己在做什么,但攻击我的人显然知道。”

Laycock 并不感到惊讶,因为毕竟这些 AI 工具是在互联网上训练的。

“互联网不一定充满了优秀的代码,生成更多的代码对我们来说不一定是好事,”她解释说。“现在大家都在大规模关注生产力,并尽可能快地创建代码。因为积压的工作是无止境的,每个人都在抱怨 IT 或技术部门不够快,我们需要推出更多的功能。”

但是,对她来说,科技行业最大的挑战是遗留代码——随着大规模 AI 生成的代码,这种情况只会变得更糟。

AI 在偿还债务并最终迁移到云方面确实可以发挥作用,但 Laycock 认为,这只会增加对具有深度思考能力和解决问题能力的工程师的需求。阅读这次独家对话的重点,了解 AI 如何增强软件开发队伍,而不是取代它。

AI 和遗留系统现代化

许多组织都在押注 AI 代理会变得更智能、更好。特别是有很多人将希望寄托在检索增强生成或基于 RAG 的 AI 上,以尝试更快地改进模型和工具。

但我们还没有接近理解 AI 的长期影响

“目前还不清楚我们何时才能确定人们用于此目的的前三名或前五名工具和模型。它变化非常非常快,”Laycock 说。此外,“人们展示的大部分东西都是构建一个全新的应用程序”,她说,这相对容易。

遗留系统现代化仍然是大多数企业面临的首要挑战。

她继续说,当前的市场“过于关注生成代码的效率,而这实际上并不是行业中的问题。”

总的来说,遗留系统现代化仍然是大多数企业面临的首要挑战。最重要的是,数百个应用程序之间的知识碎片化进一步阻碍了向云的迁移。

这与开发者抱怨的拖慢他们速度的原因不谋而合:技术债务和文档。

业务和技术部门都试图理解代码。仅仅添加更多 AI 生成的代码会进一步降低这种理解。

试图用 AI 取代开发者的真正代价

“与此同时,每个人都在想:我怎样才能尽快完成这件事?我不想雇用任何新人。我想要更少的开发者,”Laycock 说。

该行业在尚未大规模证明的情况下,就押注于 AI 取代工作岗位。并且在发现 恶意 npm 包感染 Cursor AI 并通过后门窃取凭据后,目前尚不清楚安全性是否也已大规模到位。

“从代理 AI 的角度来看,我看到有效的是更专注于特定任务的事情,”她说。“因此,就像‘修复这个 Jira 工单’的想法,但不要说‘修复这 100 个工单’,因为它可能会陷入许多无休止的循环,并花费你大量的 token。”

这不像 GitHub Copilot,每个开发者每年的名义成本为 100 美元。AI 代理的成本估计可能高达每个开发者每年数万美元。所谓的“token 经济学”绝对将是下一个 FinOps 优先事项。 有一种理论认为,AI驱动的监督模型将比支付软件开发人员的薪水更便宜。但同样,没有人证明AI的大规模能力,也没有人计算出真正的成本。

Laycock说:“如果我有很多代理运行离散的任务——基本上是一个代理农场——然后你有高级开发人员(甚至初级开发人员,这听起来很危险)基本上监督他们。” “你会从产品公司或大型云服务提供商那里听到这些,他们有动力让每个人都使用大量的token。”

“没有人讨论[AI]不能做什么以及需要解决什么问题;生成更多的代码实际上并不能帮助我们。” – Rachel Laycock, Thoughtworks的CTO

“如果微软、谷歌和AWS都在说同样的话。那么,他们希望人们使用GPU,对吧?这意味着token的使用,”她继续说道。“他们希望你构建四处运行的代理。他们不在乎它们是否进入无限循环。或者他们可能在乎,但他们有动力获得工作负载,对吧?”

这种风险并不意味着完全拒绝AI。Laycock发现一些更有经验的同行只是简单地否定它——这本身就是一种风险。

她说:“我们需要找到某种中间地带:它能做什么?我们可以用它来做什么?” “不要只是否定它。不要在愤怒中使用它。这些将会不断变化和改进,但你的经验会告诉我们差距在哪里,这就是我目前感觉缺失的东西。没有人讨论它不能做什么以及需要解决什么问题;生成更多的代码实际上并不能帮助我们。”

现在,重要的是让团队采用这些新的AI工具来测试边界,以便更有经验的工程师,拥有10或20年的经验,可以帮助解决这些边界条件。当然,还要让这些高级工程师培训下一代初级工程师——因为没有初级工程师,就不可能有高级工程师。

对于Thoughtworks主要的企业客户群,Laycock说,有一种保守主义的感觉——他们“等着看事情会如何发展”。

她说:“因为如果你考虑推出一项变更,即使推出GitHub Copilot对他们来说也是大规模的。” “对于成千上万的开发人员来说,这不是一个容易的改变。”

当您以这种规模推出时,这些企业需要非常确定他们押注的是正确的工具和模型选择。

她继续说:“整个格局还不够稳定,无法让他们大规模地做到这一点。”

CodeConcise:克服遗留代码的神秘性

数字化转型和迁移到云的主要障碍之一是,实际上构建这些旧系统的人越来越少。

团队拥有不完整的文档和架构决策记录,不确定什么是真正的僵尸服务,什么是整个业务所依赖的服务。

AI——擅长解释复杂性——是该解决方案的一部分。但是,与大爆炸式现代化方法一样,它远非解决方案的全部。Laycock说,也不能仅仅使用AI来重新生成代码,因为您必须了解大型机代码才能将其转换为云原生环境。

她说:“我们面临的挑战之一是完全理解代码库:我们知道它在做什么吗?” “它为什么要这样做?”

Thoughtworks构建了一个新的生成式AI工具,CodeConcise Legacy Assistant,它将代码与上下文窗口和对话式AI覆盖层一起索引,以帮助客户理解他们的系统。通过CodeConcise,Thoughtworks团队旨在与主题 matter 专家合作构建上下文窗口。

Thoughtworks绝不认为它在这种解决一直存在的迁移到云的问题的方法上是独一无二的。

Thoughtworks不提倡大爆炸式的整体迁移方法,而是提倡使用AI来帮助理解您的系统,以便您可以对依赖项和团队进行正确的削减,并与每个人合作以现代化该跨职能部分。

她说:“人们正在考虑如何使用AI来基本上理解工作流程和数据流,然后进行转换——基本上是重建代码库。” 这可能是一年甚至十年之后的事情,但是“如果你考虑到我们正在努力解决的一些问题,那么你可以使用AI来重新生成代码的想法是令人震惊的。我们还没有达到那个程度,但是你可以开始用它做一些事情。”

现在是进行早期AI实验的时候,以追求那些后来的颠覆性变革。可观测性 “理解一些庞大、复杂、有一定结构性、也有一定非结构性的东西,用不同的语言,能够询问它,”Laycock 沉思道。“所以我们构建了一个聊天界面,它可以说:这是做什么的?谁是系统的用户?他们如何使用它?解释这个功能。诸如此类。”

Thoughtworks 并不提倡大爆炸式的整体迁移方法,而是主张使用 AI 来帮助理解你的系统,这样你就可以在依赖关系和团队之间做出正确的切割,与所有人合作,然后对这个跨职能的部分进行现代化改造。

“我们一直采取我们称之为‘薄片’的方法,”她解释说,“这是一种交互式的方法,用于识别你可以利用的不同领域、上下文和模型,这有助于你分割并围绕你需要更改的部分创建接缝,并推进到识别死代码和不需要的东西的过程。”

招聘:更多开发者参与 AI 实验

虽然这个梦想变为现实的过程仍在进行中,但 Laycock 认为,行业目前停留在代码生成阶段,而对于大多数企业来说,解决遗留问题是一个更有趣且影响更大的 Gen AI 用例。

“因为那是他们无法更快行动的原因,”她继续说道:遗留应用程序和遗留数据结构不支持微调模型。她预测,AI 还将在调整数据架构以支持构建 AI 应用程序方面发挥作用。

“我认为,这是 AI 可以增强和支持的两个重大且不直接的问题,”Laycock 预测,“但这不会像你神奇地按下按钮那样简单。”

目前,Thoughtworks 正在众包一个关于科技行业下一步发展方向的假设清单。从应用程序迁移和现代化到代码生成再到 AI 代理等等,Laycock 说,每个组织都必须采取这种产品思维方法,测试理论,检查和在软件开发生命周期中测试 AI,而不仅仅是内部循环代码编写部分。

“AI 正在融入所有这些东西,这很棒,但我们必须记住它不是确定性的。”

– Laycock

“现在他们只是想:我们如何才能让开始的部分尽可能快,而不需要开发人员?我就想:为什么总是回到不需要开发人员这个问题上?”Laycock 说。

“我明白了。我们经历了各种人才争夺战。很难招聘到优秀的人才,但你甚至有点吓跑了那些[从]事这个行业的人,而且我们还没有证明我们不需要他们。”

她认为,重点不应该放在消除技术人才上,而是应该利用 AI 来增强他们的作用。这可以通过抽象、消除繁琐的工作、生成测试、编写文档和捕捉开发者体验的整体视图来实现。

Laycock 说,在这种根本性的转变中,不要忘记在你将 AI 生成的一切或任何东西投入生产时,观察一切。

“观察它。AI 正在融入所有这些东西,这很棒,但我们必须记住它不是确定性的。在我们在某些更复杂的问题上达到每个人的圣杯之前,可能还需要进行更多的训练和调整,”Laycock 说。

最后,她说,“我确信人们的工作会发生变化,但[至于]工作将如何变化以及正在如何变化,”作为一个行业,我们还没有弄清楚这一点。

Posted in aiTagged

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注