谷歌开发工具经理如何实现人工智能编码

作为谷歌开发者工具的项目经理,瑞安·萨尔瓦亲历了AI工具如何改变编程。他曾任职于GitHub和微软,如今负责Gemini CLI和Gemini Code Assist等工具的开发,推动开发者进入“智能体编程”的新时代。

他的团队于周二发布了第三方研究报告,揭示了开发者实际使用AI工具的方式——以及还有多少进步空间。我与萨尔瓦就该报告及其个人使用AI编程工具的经验进行了对话。

谷歌每年都会进行开发者趋势调研,但今年的报告特别聚焦AI工具,尤其是开发者在编程中对智能体技术的接受程度。研究中有让您惊讶的发现吗?

一个特别有趣的发现是开发者开始使用AI工具的中位时间点——2024年4月。这个时间点恰好与Claude 3和Gemini 2.5的发布相吻合。这标志着推理型或思考型模型时代的开端,同时期工具调用能力也取得了显著进步。

对于编码任务,模型需要利用外部信息来解决问题,比如执行grep搜索、编译代码。如果代码编译通过,它可能还需要运行单元测试和集成测试。我认为工具调用能力是关键突破,它使模型能够在执行过程中自我修正。

您个人如何使用AI编程工具?

目前我的编程多为业余项目,主要使用命令行工具,包括Gemini CLI,也会接触Claude Code和Codex。终端工具通常需要配合IDE使用,因此我会灵活选用Zed、VS Code、Cursor、Windsurf等多种开发环境,以观察行业演变趋势。

在专业层面,产品经理大量时间花在文档处理上。我首先会利用AI协助编写技术规范和需求文档。

我好奇具体流程。您用Gemini CLI开发Gemini CLI本身,但想必不是完全自动化运行?

开发任务通常始于一个GitHub问题反馈,可能是用户提交的缺陷报告。坦率说,这类问题往往描述不够详尽。这时我会用Gemini CLI生成更完整的Markdown格式需求文档,通常能产出约100行技术性强且结果导向的规范说明。

工程团队设有多层规则和Markdown文档供模型调用,明确工作标准:测试方法、依赖管理规范等。因此模型生成代码时会遵循这些准则。

当Gemini CLI进行故障排查时,我会让它实时更新需求文档,标注“已修复此步骤,正在处理下一环节”。每个修改都会在代码库中生成独立的提交记录和拉取请求,便于回溯调整。

大约70%到80%的工作时间,我都在终端用自然语言与Gemini CLI协作:先完善需求说明,再由它生成主要代码,我最后通过IDE进行代码审阅。现在IDE更多充当代码阅读器而非编写工具。

您认为原始代码会消失吗?未来我们会把所有工作都移入终端窗口吗?

三十年来,IDE一直是软件开发的核心。我们始终在IDE、浏览器和终端窗口三者间切换。目前格局尚未根本改变,但我预测未来我们将投入更多时间处理需求分析,在IDE中的时间会逐步减少——这个过程可能会持续较长时间。

这种演变引发了对软件开发本质的担忧。如果十年后我们不再直接阅读代码,对开发者意味着什么?这个职业还会存在吗?

我认为开发者的角色将更接近建筑师。重点在于将复杂问题分解为可执行的小任务,需要更多关注最终产出的宏观蓝图,而非实现过程的中间语言。机器代码的表达方式会演变,但创造性解决问题的能力始终是核心。

© 版权声明

相关文章

暂无评论

none
暂无评论...