目 录CONTENT

文章目录

使用谷歌Jules进行代理式AI编程

Administrator
2025-10-28 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://www.kdnuggets.com/agentic-ai-coding-with-google-jules

原文作者:Shittu Olumide


Agentic AI Coding with Google JulesImage by Author

 

# 引言

 
如果你在过去几个月里一直在编写代码,我敢肯定你一定注意到了一个转变。人工智能不再仅仅是建议代码片段;它已经超越了这一点,开始采取行动。开发者正从像Copilot这样的辅助工具转向能够理解目标、规划一系列步骤并独立执行这些步骤的代理系统。

Google Jules正处于这一浪潮的前沿。它不是一个驻留在你IDE中的聊天助手;它是一个完全异步的编码代理。你告诉它需要修复、更新或测试什么,它就会在远程执行工作,包括克隆你的仓库、在安全的云虚拟机中编辑代码、运行测试,并为你打开一个用于审查的拉取请求(Pull Request)。

这种差异是微妙而深刻的:Jules不会等你打字。它根据你的意图和代码库的上下文独立行动。它会阅读你的文档、运行构建、在触碰任何代码前展示其计划,甚至会在diff视图中解释每一项更改。当你专注于架构或设计时,Jules会默默处理那些占用开发者大部分时间维护性任务,例如版本升级、不稳定的测试、遗忘的文档字符串(docstrings)以及低影响的错误。

 

# Jules 有何不同?

 
大多数AI编码工具仍然存在于你的编辑器内部。它们在你的逐行监督下自动补全函数、建议补丁或重构小片段。Jules不这样做。它将整个工作流程移出你的本地环境,并在云端异步运行。

当你给Jules分配一项任务,比如“将应用升级到Next.js 15并迁移到App Directory”,它不只是预测。它会从GitHub拉取你的仓库,设置一个虚拟机,安装依赖项,编写和测试更改,并在对主分支进行任何修改之前提供一个计划和diff。

这种端到端的完整工作流程使Jules与像Copilot或Cody这样的建议型助手区分开来。它不是帮助你更快地写代码;它是在帮助你完成你根本不想做的那些工作。

该平台围绕四个核心理念构建:

  • GitHub 原生集成 — Jules像团队成员一样处理Issue、分支和Pull Request。你甚至可以通过向Issue添加jules标签来直接为其分配任务。
  • 云执行环境 — 每项任务都在一个干净的Ubuntu虚拟机中运行,预装了Node.js、Python、Go、Rust、Java和Docker。无需本地设置,没有依赖漂移问题。
  • 透明化推理 — Jules会向你展示其计划,解释每一步,并在合并前生成diff。你会确切地看到它的思考过程。
  • 异步自主性 — 一旦启动,即使你关闭浏览器,Jules也会继续工作。完成后你会收到通知。

 

# Jules 的架构

 
Jules是一个围绕大型语言模型Gemini 2.5 Pro和一个基于云的执行层包装起来的工作流系统。它结合了结构化自动化与代理推理,意味着每个步骤(计划、编辑、测试、PR)都是可观察、可追溯且可逆的。

 

The Jules Architecture
Image by Author

 

以下是它在后台的实际工作方式:

  • 任务初始化: 当你描述任务(“为auth.js中的parseQueryString添加一个测试”)时,Jules会创建一个与你的GitHub仓库和分支相关联的会话。它会从README.mdAGENTS.md等文件中获取仓库元数据和环境提示。
  • 环境设置: Jules在云中启动一个短暂的Ubuntu虚拟机。它会自动安装你的依赖项或运行你定义的设置脚本 — npm install, pytest, make build,任何你指定的内容。所有操作都在隔离环境中运行,因此你的仓库保持安全。
  • 推理与规划: 使用Gemini 2.5 Pro,Jules会分析代码库和你的提示,生成一个计划:修改哪些文件、修改哪些函数、创建哪些测试。它会在执行前展示此计划供你审查。你可以直接在界面中编辑或批准它。
  • 代码生成与测试: 批准后,Jules会在虚拟机内部执行每一步。它会编写或修改代码,运行测试套件,验证输出,并将所有结果记录在活动信息流中。你可以在此观察Jules“大声思考” — 解释它为何更改了每个文件。
  • Diff 和审查: 每一项编辑都附带一个Git diff。你可以展开它,审查补丁,并下载或复制代码片段。Jules会用自然语言解释每一项更改,并通常将其链接回导致该更改的计划步骤。
  • 提交和PR创建: 最后,Jules将更新后的分支推送到GitHub并打开一个Pull Request,你(或你的CI管道)可以进行审查和合并。你始终是仓库的所有者 — Jules仅作为助手提交。

整个系统异步运行。你可以在Jules完成构建或测试运行时关闭笔记本电脑、去喝咖啡或处理其他分支。完成后,它会发送一个浏览器通知或更新UI。

 

# Jules 入门

 
Jules的设计目标是让第一次点击就感觉毫不费力。你不需要安装或配置任何东西;它完全在云端运行,以GitHub作为入口点。典型的入职流程如下所示。

 

// 1. 登录并连接到GitHub

访问 jules.google 并使用你的Google帐户登录。接受隐私声明后,系统会提示你连接GitHub帐户。Jules只处理你明确授予访问权限的仓库,因此你可以选择连接所有项目或仅连接少数项目。

连接后,你会在选择器中看到你的仓库列表。选择一个,Jules会自动检测其分支、README和构建上下文。

 

The Jules interface
Image by Author

 

 

// 2. 编写清晰的任务提示

Jules的核心是提示框,你可以在其中描述你希望完成的工作。你可以输入简单的英文指令,例如:

在utils.js中为parseQueryString添加一个测试

 

要直接从GitHub分配任务,只需向Issue添加标签 'jules'。Jules会自动拾取它,生成计划,并开始准备虚拟机。

你甚至可以附上图片(如UI模型图或Bug截图)以提供更多上下文。Jules将这些用作视觉提示,而不是提交到你仓库中的资产。

 

// 3. 审查计划

在编写任何代码之前,Jules会向你展示其推理过程,即它打算采取的步骤的结构化分解。你可以展开每个步骤,留下评论,或直接在聊天中请求调整。一旦你批准了计划,Jules就会在一个新的虚拟机中开始执行。

 

Jules plan review interfaceImage by Author

 

 

// 4. 观察Jules工作

在活动信息流中,你会看到Jules正在进行的操作的实时日志 — 安装依赖项、修改文件、运行测试或生成diff。你可以走开;它是异步设计的。

 
完成后,你会收到一个摘要,显示:

  • 更改的文件
  • 总运行时间
  • 添加或修改的代码行数
  • 带有提交信息的创建的分支

 

The Jules interface logs
Image by Author

 

然后,你可以点击发布PR,Jules就会打开一个GitHub Pull Request,其中已经推送了他们的更改。一旦你对它满意,就可以审查和合并PR了。 

 

# Jules CLI

 
虽然Web应用程序提供了可视化的仪表板,但Jules Tools CLI将相同的功能直接带到了你的终端中。它轻量级,并能顺利地集成到你日常的开发工作流程中。你可以使用它来启动任务、检查进度或拉取结果,而无需离开编辑器或CI/CD管道。

 

// 1. 安装和登录

Jules Tools可以通过npm获得。使用以下命令全局安装:

npm install -g @google/jules

 

安装后,使用你的Google帐户登录:

jules login

 

将打开一个浏览器窗口进行身份验证,确认后,你将可以完全访问你的Jules会话。

 

// 2. 检查仓库和会话

CLI允许你查看所有已连接的GitHub仓库和活动的会话。

# 列出已连接的仓库 jules remote list --repo # 列出活动或过去的会话 jules remote list --session

 

这反映了你在Jules仪表板上看到的内容,但以终端形式呈现,非常适合自动化检查或在无头服务器上工作时使用。

 

// 3. 创建新会话

启动新的编码任务同样简单:

jules remote new --repo . --session "为utils/添加TypeScript定义"

 

此命令告诉Jules获取当前仓库,启动一个安全的云VM,并开始规划。你会收到一个会话ID作为返回值,你可以用它来监控或稍后拉取更改。

 

// 4. 将结果拉回本地

一旦Jules完成任务并创建了Pull Request,你可以将产生的结果更改带回到本地环境:

jules remote pull --session 123456

 

这对于CI系统或希望离线审查更改后再合并的团队很有用。

 

// 5. 启动TUI

如果你更喜欢可视化界面,只需输入:

jules

 

这将启动终端用户界面(TUI),一个极简的仪表板,可以在终端内实时显示会话、任务及其进度。它是自动化和可见性的完美结合。

 

# 选择适合你工作流程的Jules计划

 
Jules旨在与你的编码工作流程一起扩展,从单人调试到企业级敏捷开发。它提供三个级别,每个级别都针对不同的工作负载进行了优化,但都由相同的Gemini 2.5 Pro模型提供支持。 

付费计划通过Google AI Plans管理,目前仅对个人@gmail.com帐户可用。谷歌已确认Workspace和企业套餐即将推出。

 

计划 最适合 每日任务量 并发任务量 模型访问 备注
Jules 试用真实世界的代码自动化 每天15个任务 每次3个 Gemini 2.5 Pro 免费起步,适合业余或测试项目
Jules in Pro 需要日常交付的开发者,追求持续工作流 每天100个任务 每次15个 对最新Gemini模型的更高访问权限 包含在Google AI Pro计划中
Jules in Ultra 高级用户或大规模代理工作流程 每天300个任务 每次60个 优先访问最新的Gemini版本 包含在Google AI Ultra计划中

 

一旦你用完了每日配额(在滚动24小时内计算),你仍然可以查看和管理现有会话;但是,你将无法启动新的会话,直到限制重置。当这种情况发生时,Jules会显示一个工具提示或“升级”提示。

每个计划都强制执行自己的并发限制,这决定了最多可以同时运行的虚拟机数量。超出限制只会使任务排队,确保安全并行执行而不会发生冲突。

每个Jules会话都会启动一个具有真实计算成本的安全虚拟机。限制确保了稳定性、隔离了工作负载,并保护了仓库数据免受过度使用或滥用。它们也有助于谷歌为即将到来的多代理升级基准测试性能。

 

# 隐私、安全和数据处理

 
当一个AI系统运行你的代码时,信任不是可选的;它是决定一切的关键。Jules从一开始就考虑到了开发者的隐私。每个仓库、任务和环境都以隔离方式处理,并且你的任何私有数据都不会用于模型训练。

在实践中,这意味着:

  1. 短暂的、隔离的虚拟机: Jules运行的每个任务都发生在一个临时的云VM中。一旦任务完成,无论成功还是失败,环境都会被销毁。没有持久化的容器,没有共享卷,也没有长期运行的进程。这种沙盒模型保护你的仓库免受泄漏或不同运行之间的交叉污染。每个新任务都从干净的状态开始。
  2. 明确的仓库访问权限: Jules只能访问你通过GitHub授权的仓库。要停止某个仓库的工作,只需通过GitHub应用程序设置撤销其访问权限即可。
  3. 不使用私有代码进行训练: 与一些静默收集上下文的助手不同,Jules不会对私有仓库进行训练。你的提示、diff和提交仅用于该会话的执行,绝不会用于改进模型。这一点是谷歌对代理系统方法的核心:模型可能通过聚合学习得到改进,但绝不会通过你的个人或公司代码。
  4. 安全执行和依赖项处理: 所有构建都在一个完全沙盒化的环境中进行。你可以通过活动信息流或日志检查运行的每个命令。如果发现某些操作有风险,你可以随时暂停或删除任务。
  5. 透明的日志和完全的可审计性: Jules执行的每一个操作,例如计划创建、diff生成、测试、提交或PR,都会被记录下来。你可以稍后下载或审查这些日志以供合规或审计使用。

 

# 总结

 
软件开发正在进入一个代理阶段,人工智能不再仅仅是协助,而是参与其中。Google Jules是这一转变最明确的例子之一。

它直接与GitHub集成,安全地在自己的VM中运行任务,通过测试验证其输出,并在合并任何内容之前展示其推理过程和diff。无论你是修复错误、重构功能还是清理依赖项,Jules都为你提供了一种在不走捷径的情况下加快速度的方法。

对于探索自动化或厌倦了维护开销的团队来说,这正是下一代AI工具的起点。请在 jules.google 上亲自探索,体验一下与真正与你协作的代理一起编程的感觉。
 
 

Shittu Olumide 是一名软件工程师和技术作家,热衷于利用尖端技术来构建引人入胜的叙述,对细节有着敏锐的洞察力,并擅长简化复杂的概念。你也可以在Twitter上找到Shittu。




🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。

0

评论区