你曾經用過 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. 不會!它自動化了日常工作,使開發人員可以專注於創造性和戰略性的編碼。人工稽覈仍然必不可少。
評論留言