Topics

尝试 Google 编码代理「Jules」

  • column

「AI 写代码的话,工作不就没了吗?」这样的玩笑话逐渐成为现实。GitHub Copilot 和 CodeX 等工具已经可以为我们编写代码,但这次 Google 推出的 Jules 似乎水平不太一样呢。

搭载了 Google 最新的 AI Gemini 2.0,这次 Jules 的亮点是「自主能力」!

也许有一天,它真的能替我们把所有工作都完成呢?我们充满了期待!让我们来试试它能做什么。

Jules 的功能

Jules 是一个 能自主执行编码任务的 AI 代理。它不仅仅局限于代码生成,还能进行以下高级自动化操作。

  • 复杂任务的分解和计划制定:将给定的任务分解为更小的步骤,制定实施计划。
  • 代码生成和修复:可以跨越多个源文件生成代码,也可以修复现有代码。
  • 错误修复与调试:识别代码中的错误并进行修复。
  • 测试的创建和执行:执行现有测试或创建新测试,验证所做更改是否正常运行。
  • 获取和克隆代码库:从 GitHub 等代码库获取代码,并克隆到虚拟机中进行工作。
  • 创建拉取请求:代码更改完成后,以拉取请求的形式提交。
  • 异步工作:用户进行其他工作时,可在后台继续进行编码任务。
  • 语音摘要(CodeCast):可以生成最近代码活动的语音总结。

ChatGPT 的新功能「Codex」有何不同?

什么是 Codex

Codex 搭载了 OpenAI 开发的专用大规模语言模型「codex-1」。该模型基于最新的「o3」模型,针对软件开发进行了优化,是一个融合了资深工程师编码风格和专业知识的智能模型。

功能介绍

  • 代码补全、建议、生成(实时)
  • 从注释生成代码
  • 现有代码中的函数和方法建议
  • 在对现有代码库进行修正和扩展方面具有强大实力

Codex/Copilot 主要作为"输入辅助"工具,在编写或修改现有代码时提供实时帮助。它的定位类似于 AI 配对编程助手(编码辅助工具)。

另一方面,Jules 作为"代理开发者",能够从项目开始到结束自主执行更广泛的任务是一个重大差异。因此,Jules 可能有能力从零开始构建新项目的初期阶段,可以说更加关注"开发任务自动化"。

  • 能够创建新项目:Jules 可以根据用户指示的任务(例如:"创建一个基本的 Web 应用程序")从零开始创建必要的文件和目录结构,并生成代码
  • 与GitHub仓库的深度集成:Jules会将用户指定的GitHub仓库克隆到虚拟环境中,并在其中进行工作。这使得用户不仅可以修改单个文件,还可以进行跨整个仓库的结构性更改、添加新文件以及删除现有文件等项目级别的操作。
  • 自主工作:从项目初始化、文件创建、代码生成、测试执行到提交拉取请求,自主完成整个流程。

Jules 具有更高的自主性,能够独立承担整个开发任务,就像一个"代理程序员"一样!

真实体验!

Jules 的使用方法

Julesは主に聊天界面形式的UIを通じて指示を出します。

1.访问 Jules:可以从 jules.google.com 访问。

2.连接 GitHub 仓库:选择工作目标的 GitHub 仓库和分支。我们为本次试用准备了"jules-test"仓库。

3. 在提示词中的说明:日语也可以!这次我们将用 JavaScript 实现一个时钟。

4.实施计划的批准:Jules 首先呈现实施计划。用户对其进行审查并批准。由于为我们制定了工作流程,这样就清晰易懂了!

5.代码执行与进度确认:计划获得批准后,Jules 会自动开始编码,并报告工作进度。
花了一些时间,但 index.html、script.js、style.css 文件已生成!

6.审查和批准更改:更改完成后,Jules 会创建包含差分(diff)的拉取请求。用户可以审查并批准它,使更改反映在仓库中。

提交信息的内容不是很难想吗??我们可以帮您总结并生成!

点击右下角的 publish branch 按钮,即可将代码推送到 tokyo-clock 分支。

拉取分支后……编辑器中已生成文件!

浏览器预览就是这样的!

以往的AI功能中,如果你输入"用JavaScript实现一个时钟"这样的提示词,只能教你实现步骤或代码内容,但这个功能不同——它能从文件创建一直到Git关联的整个流程全部搞定!

不过,对于像这次这样的简单实现,全权交给 AI 似乎也没问题。但问题是,到底能把多大规模的实现工作交给 AI 去做呢?这点我还是心里有些疑虑……

那么我再追加一个请求,"让装饰变得更华丽一些"。

虽然提出了几个建议,但我还是决定信任你的方案。

他把背景改成了渐变色!

仅仅创建一个代码库就能从零开始生成文件、进行编码,甚至推送到 git,这真是太棒了!这简直就是代理程序员啊。

目前以测试版的形式提供,存在使用限制(如每天5个任务等)。

此外,创建文件和程序实现需要一定时间,输入框也存在bug,有时无法正确反映内容。

另外,当Jules遇到错误时,该时刻的工作不会被提交,所以即使想要中途的工作差分,有时也无法反映。

实际上,我请求将这次JavaScript时钟实现改用Next.js,它确实成功转换为Next.js并完成了环境构建,但由于中途出错,Next.js文件最终无法拉取到本地。虽然方便,但我发现它也确实存在不少缺点。

总结

随着Jules变得越来越聪明,我们可能能够将繁琐的例行工作交给Jules处理,从而有充裕的时间投入到学习新技术或追求兴趣爱好上!

Jules作为工程师的伙伴,也许能够彻底改变开发的常规做法呢!

图片来源:Jules官网

本文作者

我主要从事以标记语言为中心,使用JavaScript、React、Next.js进行前端开发的工作。当我参与的网站顺利发布时,我会感到很高兴!我的爱好是弹吉他。喜欢猫和烤红薯🐱🍠

Hiratch

前端工程师 / 2022年入职

查看本员工的文章

安心的团队体制和迅速的反应能力是我们的优势

Liberogic 拥有经验丰富的员工团队,积极推进项目,因此获得了客户的高度评价。
我们会妥善分配项目经理和总监,确保整个项目顺利进行。 通过避免不必要的全职投入导致的成本增加,并采用适当配置人力资源的方式,从把握业务内容到估价的制作和提交速度都赢得了良好的口碑。

* 本公司不积极开展SES驻场工作等业务,敬请谅解。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等,您可以使用几乎所有主要的项目管理工具和沟通协作工具。

请咨询我们的网站相关问题。

案例分析