← 返回蜂巢洞察

新的开发工具组合:开发团队如何在实际生产环境中使用Claude、Cursor和Copilot这些工具

两年前,人工智能编码工具还只是个新鲜事物。各广告机构会允许初级开发人员在内部项目或副业中试用这些工具,因为在这种工作中,即使代码存在缺陷,也不会造成什么严重后果。 对于客户委托的项目,代码仍然都是手写的。没有人会把自动完成功能作为完成截止日期的保障。 但那个时代已经结束了。如今,这些工具已经成为软件开发过程中的核心工具。那些过去需要六个月才能完成MVP开发的团队,现在只需六周就能完成任务,而客户们也开始质疑:为什么还会有人要求更长的开发时间呢? 这些工具发展得非常迅速,围绕它们的工作流程也发生了巨大的变化:出现了新的代码审核机制、新的定价模式,而且高级工程师们的工作重点也从编写代码转变为评估机

两年前,人工智能编码工具还只是个新鲜事物。各广告机构会允许初级开发人员在内部项目或副业中试用这些工具,因为在这种工作中,即使代码存在缺陷,也不会造成什么严重后果。

对于客户委托的项目,代码仍然都是手写的。没有人会把自动完成功能作为完成截止日期的保障。

但那个时代已经结束了。如今,这些工具已经成为软件开发过程中的核心工具。那些过去需要六个月才能完成MVP开发的团队,现在只需六周就能完成任务,而客户们也开始质疑:为什么还会有人要求更长的开发时间呢?

这些工具发展得非常迅速,围绕它们的工作流程也发生了巨大的变化:出现了新的代码审核机制、新的定价模式,而且高级工程师们的工作重点也从编写代码转变为评估机器生成的结果。

本文将探讨现代广告机构是如何在实际工作中使用这些工具的。这里说的不是那种理想化的场景——在大家悠闲地喝咖啡的时候,人工智能就能写出完美的代码;而是现实情况:包括代码审核、安全机制、失败的实验案例,以及那些仍然需要人类来把关每一行代码的过程。

我们将会探讨的内容:

为什么广告机构率先采用了这些工具

大型企业的产品开发团队行动往往比较迟缓。他们面临着遗留代码、合规性要求以及漫长的审批流程等问题。而广告机构则没有这些问题,它们每个月都会开始新的项目,因此它们成为了测试人工智能辅助开发技术的理想场所。

从商业角度来看,广告机构也有动力采用这些工具。因为它们是按照最终成果来收费的。如果某种工具能将开发时间缩短40%,那就意味着它们的利润会增加;或者,如果这种工具能让报价更低,从而赢得项目合同,那么他们也会有很强的动力去采用它。

这种变化也体现在广告机构如今如何描述自己的业务模式。“人工智能加速开发”已经成为了整个行业的核心服务之一。他们的宣传方式也很简单:高级工程师利用人工智能来加快开发速度,但所有的代码仍然会经过人工审核。这种表述方式现在已经成为了行业标准。

技术架构的三大层次

目前大多数广告机构的技术架构都由三个层次组成,每一层工具都有其不同的作用。

第一层是聊天助手。像Claude和ChatGPT这样的工具,就被用于规划、解决架构相关问题以及进行调试工作。高级开发人员只需输入错误日志,几秒钟内就能得到三种可能的故障原因;或者他们也可以描述某个功能,并询问一些之前没有考虑过的边缘情况。这一层的重点在于思考,而不是机械地打代码。

第二层是专为人工智能设计的编辑器。Cursor就是这样的工具。它将一个完整的代码编辑器与语言模型结合在一起。该模型能够查看你的整个代码库,而不仅仅是某个文件。工程师们利用它来编写新功能、重构旧代码以及生成测试用例。现在,某些智能辅助模式能够在工程师审核每一步操作的同时,处理涉及多个文件的复杂任务。

第三层是内嵌式助手。GitHub Copilot是最著名的这类工具。它直接集成在编辑器中,在你输入代码时自动完成相应的部分。它会处理那些繁琐、重复性的工作,比如编写样板代码或执行标准功能。虽然这是三种工具中最不起眼的一个,但它每天都在持续运行,而这些小的帮助最终会累积成显著的效率提升。

大多数开发团队都会同时使用这三层工具:聊天助手负责规划工作流程,人工智能编辑器用于编写代码,而内嵌式助手则用来填补那些细节上的空白。

实际生产环境中的应用场景

在这里,所有的炒作才真正与现实相结合。如今,人工智能确实可以编写大量的代码,但那些为真实客户提供服务的开发机构并不会让人工智能单独完成所有工作。

常见的运作模式是这样一个循环:工程师将一个功能分解成多个小任务,人工智能为每个任务生成初始代码草案,工程师会仔细检查每一行代码,修正其中的问题并运行测试。之后,这些代码会像人类编写的代码一样,经过正常的拉取请求审核流程。

那些遇到问题的团队往往是因为跳过了这个审核环节。人工智能生成的代码在演示环境中看起来可能很正常,也能顺利运行,但其中隐藏着许多问题——比如薄弱的安全机制、漏洞,或者在大规模应用时会出现问题的数据库查询语句。这些缺陷在演示中是无法被发现的,只有经验丰富的工程师才能发现它们。

那些采用开源技术进行开发的团队也遵循同样的模式。PostHog这个开源产品分析平台就公开介绍了其工程师们如何在日常工作中使用人工智能工具。这些团队的经验表明:人工智能确实可以加快代码编写的速度,但最终还是需要人类来审核和合并这些代码。所有的修改仍然要经过相同的拉取请求流程,并且有指定的工程师负责监督这一过程。

这种趋势催生了一项新的工作领域:修复由人工智能生成的代码。总部位于旧金山、伦敦和基辅的开发团队Empat,将他们的这项服务称为“vibecode rescue”,专门为那些使用人工智能工具开发应用程序但遇到瓶颈的创业者提供帮助。

这些应用程序在正常运行一段时间后往往会出问题,这时就需要有人来梳理代码、添加测试用例,使程序恢复稳定状态。这种服务的兴起说明了一个事实:人工智能虽然让编程变得更加容易,但它并不能保证编写的代码质量一定很高。

这一变革背后的数据支撑

成本方面的数据解释了为什么客户会关心这个问题。过去,开发一个最小可行产品通常需要四到六个月的时间,而现在,对于相同范围的工作,开发机构给出的时间通常是六到十二周,报价也大多在3万美元左右。由于人工智能使得工作进度更加容易预测,因此固定范围、固定价格的报价方式又重新流行起来。

速度并非人工智能工具带来的唯一好处。这些工具在工程师们通常会回避的任务上表现得非常出色:编写测试用例、记录代码细节以及更新过时的依赖关系。采用这种方式构建的代码库,其测试覆盖率往往比五年前人工编写的代码库更高,因为如今编写测试的成本已经低了很多。

然而,这些优势也存在负面影响。对于那些大量使用人工智能工具的机构来说,相关费用确实不容忽视。如果一个团队整天都在使用人工智能工具,那么每位工程师每月在模型使用上可能会花费数百美元。但对于这些机构而言,与人力成本相比,这仍然是一笔划算的投资。不过,这也意味着又出现了一项新的开支项目——在2023年时,这种费用还并不存在。

如何评估一家“采用人工智能技术”的机构

如今几乎所有的机构都声称自己在使用人工智能技术。但仅仅凭这一说法,你无法了解实际情况。如果你打算聘请这样的机构,那么以下几个问题可以帮助你辨别真相。

询问谁负责审核人工智能工具生成的结果。正确的答案应该指出具体的资深工程师以及相应的代码审查流程;而如果对方只是含糊地提到“质量检查”,那就应该引起你的警惕。

进一步了解他们的测试工作。与人类编写的代码相比,人工智能生成的代码更需要自动化测试,因为它们出现故障的方式往往更加难以预测。一家优秀的机构会主动谈论自己的测试覆盖率,而不会需要被追问才这么做。

还要询问当人工智能工具出现错误时,他们会如何处理这些问题。任何经验丰富的团队都应该能给出具体的例子;而那些没有这类经验的机构,很可能意味着他们的作品质量并不高。

最后,通过传统的方式来考察这些机构的实际表现。像Clutch这样的平台会收集客户对各类机构的真实评价,包括项目预算和最终成果等信息。人工智能确实改变了代码编写的方式,但它并没有改变这样一个事实:过去的客户反馈才是预测未来结果的最好依据。

未来的发展方向

当前的技术架构正在发生变化。那些能够自动规划并执行完整任务的人工智能工具,正在逐渐取代简单的自动完成功能。有些机构甚至会让人工智能工具在整晚的时间内处理一些任务,然后第二天早上再审查结果。这样一来,工程师的工作内容也在逐渐发生变化:他们需要做的输入工作减少了,但判断和决策的任务却增加了。

最终能够取得成功的机构,并不是那些拥有最先进工具的机构。因为现在大家都可以使用同样的工具。真正决定胜负的是那些能够明智地判断何时该信任这些工具、何时该手动干预的团队。这种能力主要取决于资深工程师的经验,也正是为什么“人工智能会取代开发人员”这种说法常常与实际情况相去甚远的原因。在实际应用中,人工智能并没有取代开发人员本身,而是让那些优秀的开发人员工作得更高效,而那些粗心大意的人则变得更加危险。

对于客户来说,关键在于认清事实:新的技术架构确实存在,而且它确实能够提升工作效率。但是,这些技术的效果最终还是取决于使用它们的人。因此,你应该提出尖锐的问题,仔细查看各种评价,并确保在代码发布之前,一定有专人仔细检查每一行代码。

希望你喜欢这篇文章。你可以通过在LinkedIn上与我联系

相关文章

技术实践

Expedia利用由人工智能驱动的服务遥测分析工具来加快事故调查的速度。

Expedia集团推出了STAR这一内部开发的、由人工智能辅助构建的观测平台。该平台能够帮助工程师利用服务遥测数据以及大语言模型来调查各类生产故障。STAR基于FastAPI、Datadog、Celery、Redis和Langfuse等技术构建而成,它遵循结构化的工作流程来分析遥测数据、生成根本原因分析报告,并为事故应对工作提供支持,同时确保工程师能够及时获取相关进展信息。 作者:Leela Kumili

阅读全文
技术实践

如何使用Node.js和Google Gemini通过函数调用来构建一个人工智能代理

github.com/ziaongit/nodejs-gemini-agent 。 目录 功能调用机制的工作原理 我们正在构建什么 先决条件 项目设置 工具的定义 工具功能的实现 构建智能代理的循环机制 命令行入口点的设置 添加Express HTTP服务器 智能代理的测试 故障排除 接下来要构建什么 功能调用机制的工作原理 这里有一个让人感到惊讶的地方:Gemini并不会直接运行你的代码。它只会返回一个结构化对象,其中包含诸如“调用 get_weather 函数、将 city 设置为柏林”这样的指令。你的代码会接收到这些指令,然后执行相应的功能并将结果反馈回去。Gemini会检查这些结果是否

阅读全文
技术实践

文章:自主构建的智能体:一项基于LangChain4j进行的实验

这篇文章介绍了一项实验:在这项实验中,代码辅助工具需要根据LangChain4j的文档来设计一个智能系统。该辅助工具创建了一个能够自主编写、测试和调试代码的编程框架。实验结果表明,在调试过程中,两种架构模式——监督式架构和工作流架构——在灵活性与执行速度之间带来了不同的权衡结果。 作者:Kevin Dubois, Mario Fusco

阅读全文
技术实践

如何使用LangSmith来追踪和监控人工智能代理的行为

在本教程中,我将向您展示如何使用LangSmith来追踪和监控本地的AI代理。我们会构建一个简单的本地AI代理,然后为其启用LangSmith追踪功能,这样我们就能通过Web界面查看模型调用情况、工具使用情况以及请求处理延迟等信息。 我们将使用LangChain v1、Ollama、Qwen以及Python这些工具。除了用于实现观测功能的组件外,所有操作都在您的本地机器上完成,因此代理本身不会产生任何与模型API相关的费用。 目录 背景知识 什么是可观测性与监控? 什么是LangSmith? 开发动机与架构设计 步骤1:安装Ollama并下载模型 步骤2:安装Python相关依赖库 步骤3:启

阅读全文