AI公司Superpanel获530万美元种子轮融资,自动化法律咨询接待流程
阅读全文

锤刻创思寰宇网
作为谷歌开发者工具产品管理高级总监,瑞安·萨尔瓦(Ryan Salva)身处人工智能工具变革编程方式的最前沿。这位曾任职于GitHub和微软的行业老兵,如今负责Gemini CLI和Gemini Code Assist等工具,正引导开发者步入“智能体编程”的新纪元。
他的团队于周二发布了一项新的第三方研究,揭示了开发者实际如何使用AI工具——以及还有多少进步空间。我与他坐下来探讨了这份报告以及他个人使用AI编程工具的经验。
谷歌每年都会进行开发者趋势调查——但今年的报告真正聚焦于AI工具,特别是开发者在编程方法上愿意在多大程度上拥抱“智能体化”。研究中有没有什么发现让您感到意外?
一个非常有趣的发现是开发者开始使用AI工具的中位时间点。研究显示是2024年4月,这与Claude 3和Gemini 1.5的发布时间相当吻合。这真正标志着推理或思维模型时代的黎明,也大约在同时,我们在工具调用方面取得了巨大进步。
对于编码任务,你确实需要能够利用外部信息来解决问题,因此模型可能需要执行grep
命令,可能需要编译代码。如果代码编译成功,它可能还想运行单元测试和集成测试。我认为工具调用确实是关键所在,它赋予了模型在执行过程中自我纠正的能力。
“我现在的大部分编码都是为了业余项目,我大部分时间都在使用基于命令行的工具。这包括Gemini CLI。此外也会用一点Claude Code,一点Codex。你不可能只用一个终端工具,所以我在使用的集成开发环境(IDE)上非常多样化。我用Zed。我用VS Code。我用Cursor。我用Windsurf,所有这些都用,因为我感兴趣的是观察世界如何运转,以及行业如何演变。”
“在专业层面,产品经理通常与文档打交道,所以首先是使用AI来帮助我编写规格说明和需求文档。”
“我很好奇这是如何运作的。您正在用Gemini CLI来构建Gemini CLI本身,但我想它不会自己运行自己。”
一个开发任务通常始于一个议题,可能是某人在GitHub上提交的一个带有关Bug的议题。老实说,很多时候这个议题的描述相当不完善。所以我会使用Gemini CLI来创建一个更健壮的Markdown格式的需求文档。这通常会生成大约100行技术性强、且以结果为导向的规格说明。然后,我会使用Gemini CLI,基于该规格说明和团队文档中的通用偏好来编写代码。
“在整个工程团队中,我们有几层不同的规则和Markdown文档供模型读取,这些文档阐述了我们的工作方式:这是我们做测试的方法,这是我们管理依赖的方式,等等。所以当它生成代码时,也参考了这些文档。”
“当Gemini CLI进行故障排除时,我会让它更新我的需求文档,写明“我修复了这个步骤。现在我开始下一步”,依此类推。每一个这样的更新都会在代码库中创建自己的提交和拉取请求,所以我总是可以回退或撤销。”
“我想说,我大概70%到80%的工作是在终端中使用自然语言进行的,尝试用Gemini CLI来制定需求,然后让Gemini CLI为我编写大部分代码,之后我会用我碰巧在用的任何IDE去审查和阅读这些代码。但大多数时候,我把IDE当作阅读代码的地方,而不是编写代码的地方。”
“三十年来,IDE一直是我们进行软件开发一切活动的地方。你有IDE,你有浏览器,你还有终端窗口。”
“我认为现在大体上依然如此,但我猜想,随着时间的推移,我们最终会花更多时间处理需求,而在IDE中花费的时间将逐渐减少。而且我认为这种变化实际上可能会在一个相当长的时间跨度内发生。”
“很多人对此感到焦虑,担心这对软件开发这一职业意味着什么。如果10年后,我们不再看代码了,那对开发者意味着什么?他们还会有一份工作吗?”
“我认为,开发者的工作将变得更像建筑师。它将关乎于处理庞大、复杂的问题,并将其分解成更小、可解决的任务。你需要更多地思考你试图产出的东西的宏观蓝图,而不是用于在机器代码中表达这个蓝图的中间语言。”