你曾经用过 Vibe 编码吗?一边喝着咖啡,一边听着 AI 为你编码?我相信你肯定做过。现在,想象一下,如果像编写测试用例、升级软件包这样的任务都能自动完成,而你只需要专注于逻辑处理,会怎么样?听起来很神奇,对吧?现在,有了 Jules,这一切都成为可能。Jules 是 Google 的最新产品,它允许你在处理项目其他方面时,异步地 Vibe 编码。在本文中,我们将深入了解 Jules 的工作原理,并尝试理解它的工作原理以及它是如何改变 Vibe 编码基准的。我们还将进行一些实际任务来测试 Jules。
什么是Jules?
Jules 是一个异步 AI 代理,它在后台运行,详细规划你的任务,然后执行它们。Jules 不是实时自动完成代理。它是异步工作的,这意味着 Jules 允许你分配任务,然后让你“安心思考”。在此过程中,你的编码流程不会受到任何阻碍。 Jules 由 Gemini 2.5 Pro 提供支持,该版本在编码任务方面表现出色。它运行在安全的云虚拟机环境中。Jules 与您的 GitHub 集成,以了解您的完整代码库。
Jules是如何工作的?
Jules 在工作过程中会经历一系列事件。让我们来看看 Jules 在工作过程中执行的一系列操作:
- 触发 Jules:Jules 会与您的 GitHub 代码库协同工作;您可以向 Jules 提供 GitHub 问题或标签,甚至可以在 Jules 的 UI 中运行提示。
- 代码库克隆:在执行任何操作之前,Jules 会将提供的代码库克隆到其自己的虚拟机环境中。此外,它还会解决所有依赖关系问题以运行程序。
- 规划阶段:Jules 理解代码库和查询,制定执行任务的计划,并据此制定详细的计划。该计划包括受影响的文件列表和后续步骤。
- 代码执行:规划完成后,Jules 会将所有更改应用到代码库,运行测试用例,并捕获执行前后的差异。
- 审核并合并:Jules 审核所有更改,合并更改,并查看是否存在用户审核差异或拉取请求。
如何访问Jules?
Jules 的使用非常简单,只需按照以下步骤操作:
- 访问 jules.google.com 并点击“Try Jules”。
- 使用您的 Google 帐户进行身份验证并接受隐私声明。
- 单击“Connect to GitHub”并选择您希望 Jules 访问的存储库。
- 成功后,您将在 Jules 仪表板中看到一个代码库选择器。
使用Jules进行实践任务
让我们评估 Jule 在不同实践任务中的表现。我们有一个名为 test_git 的 GitHub 代码库,我们将在此测试 Jules。
任务 1:为现有函数生成单元测试。我们的代码库包含一个 calculator.py
文件,其中包含一些简单的计算器函数:
# calculator.py def add(a, b): return a + b def subtract(a, b): return a - b def multiply(a, b): return a * b
Jules 的任务是分析 Calculator.py,并为其中的所有函数生成相应的单元测试,然后将它们放在一个新文件中(例如, test_calculator.py
)。
提示词:“Create comprehensive unit tests for all functions in the calculator.py file. Ensure the tests cover basic and edge cases. Place the new tests in a file named test_calculator.py”
规划阶段:
批准该计划后,Jules 开始执行代码。
我们可以看到 Jules 成功创建了测试用例,并在其虚拟机环境中运行了它们。这展现了 Jules 的自执行能力。它可以创建测试用例,并独立运行它们,无需任何人工干预。
任务 2:升级依赖项并解决潜在冲突
我们的代码库中有一个 requirements.txt
文件,其中包含一个过时的请求库版本。我们还有一个问题 #1,其中指出我们将尝试使用 Jules 进行解决。
提示词: “Resolve the issue #1 Upgrade ‘requests’ library to the latest version and ensure tests pass.”
Jules 成功检测到了过时的版本,然后在自己的虚拟机中运行了 pip install request
。最终,它成功更新了依赖项版本。
点击“Publish Branch”后,所有更改都会提交到分支。
任务 3:向代码库添加 README.md 文件
GitHub 代码库最重要的任务之一是添加 README 文件,该文件解释了项目的所有内容。开发人员经常会跳过这一步,但让我们看看 Jules 如何帮助我们解决这个问题。
提示词:“Add a README file for this project, which will include all CLI options.”
Jules 计划添加 README 文件和文档,其中还包括如何处理 CLI 命令。
我们可以看到,Jules 添加了定义明确的 README 文件,并修改了 Calculator.py 文件以使用 argparse 库,该库用于在 Python 脚本中定义 CLI 命令。
现在,我们已经在 3 个需要 GitHub 的任务上测试了 Jules。它完成了所有任务,并将更改提交到了各自的分支。您可以在此处找到用于演示的 GitHub 代码库。
限制和注意事项
以下是使用 Jules 时应注意的一些限制和注意事项:
- 不适用于大型功能:Jules 更擅长处理小型任务,但它在架构调整和需要大量更改的变更方面往往举步维艰。
- 请求限制:Jules 的每日任务量有上限,超过一定请求量后将无法访问。目前,Jules 每天提供 60 个请求。
- 公开测试版:Jules 仍处于公开测试阶段,Google 正在开发最终版本,可能很快就会发布。
- 需要人工审核:我们了解 Jules 的功能,但在使用 Jules 后,我们始终会验证差异并进行额外测试,以避免任何错误。
小结
Jules 自动化了诸如依赖项碰撞、编写或运行测试用例以及更新文档等繁琐的工作。这让开发人员的工作变得轻松;他们可以将更多精力放在创造性任务上,而不是整天编写文档和测试用例。我们在这里测试了 3 个任务,但它的功能几乎是无限的。您可以尽情发挥创造力。尝试不同的提示,感受“氛围编码效果”。未来,Jules 及其后续产品将改进代理开发,重塑软件工作流程。
常见问题解答
Q1. Jules 免费吗?
A. 是的,它在公测版中免费,但有使用限制,但未来的定价尚未最终确定。
Q2. 它支持哪些语言?
A. 最适用于 JavaScript/TypeScript、Python、Go、Java 和 Rust,但其设计与语言无关。
Q3. 它能自动修复复杂的 bug 吗?
A. Jules 可以处理描述明确的 bug;模糊或架构问题仍然需要人工指导。
Q4. 环境安全性如何?
A. 所有任务都在独立的云虚拟机中运行;Jules 不会持久化您的私有代码或泄露机密信息。
Q5. Jules 会取代开发人员吗?
A. 不会!它自动化了日常工作,使开发人员可以专注于创造性和战略性的编码。人工审核仍然必不可少。
评论留言