Junie:JetBrains 的 AI 編程代理退出測試階段
JetBrains 宣佈 AI 編程代理 Junie 正式上線,具備高級規劃模式、代理調試、遠程控制和深度 IDE 集成。Junie 在 SWE-Rebench 基準測試中被評為最佳編程代理。
Junie 是 JetBrains 推出的一款 AI 編程代理,近日正式退出測試階段,成為通用產品。它不是簡單的重命名或重新包裝,而是將最核心的功能穩定化、互聯化,為實際開發工作做好準備。Junie 在編碼前會進行規劃,使用真實的調試器進行調試,在審查拉取請求時會考慮項目上下文,並且可以在你專注於其他事情的同時運行長期任務。
在最新的 SWE-Rebench 獨立代理基準測試中,Junie 被評為排名第一的編程代理,解決了 61.6% 的任務,pass@5 達到 72.7%,超越其他代理,與原始前沿模型競爭。JetBrains 強調,將工作委託給代理應該是一種可以經常負擔得起的操作,而不是僅用於一次性的英雄任務。因此,Junie 支持任何模型,沒有鎖定,用户可以通過選擇合適的模型來控制成本——無論是使用最新的前沿模型還是本地運行的小模型。
高級規劃模式是 Junie 的一大亮點。在編寫代碼之前,Junie 會生成一份結構化文檔,包含產品需求、技術設計、交付階段和測試策略(如果需要)。用户可以直接在編輯器中閲讀、編輯和批准該計劃,然後 Junie 才會開始實現。這避免了代理盲目實施錯誤方案而浪費令牌的問題。規劃使用強模型,實現則使用便宜模型,從而降低成本。
代理調試功能讓 Junie 能夠像人類開發者一樣使用 IDE 的調試器。它可以啓動或加入調試會話、設置斷點、檢查運行時狀態,包括堆棧幀、線程狀態和表達式求值。這使 Junie 能夠自主調試,例如“調試並找出為什麼測試只在第二次迭代失敗”,或者與用户協作。
遠程控制功能允許用户從筆記本電腦啓動任務,然後在會議期間從手機檢查進度,最後審查結果。Junie 異步運行,會話可從任何登錄的地方訪問。
代碼審查方面,Junie 在審查時使用與編寫代碼時相同的項目上下文,包括構建、測試、慣例和過去的決策。支持從 GitHub Actions、GitLab 或 CLI 觸發審查,並提供交互式講解,突出每個有意義的變化,給出接受/拒絕控制。
深度 IDE 集成基於 Agent Communication Protocol (ACP),使同一個代理引擎驅動 AI 聊天、專用 Junie 工具窗口和 CLI。Junie 使用 IDE 的語義索引、構建配置、測試運行器和調試器,而不是自己的近似版本。此外,Junie 還可以連接到 IDE 中配置的數據庫,通過 DataGrip 等工具查詢真實數據並編寫、修復和驗證 SQL。
總的來説,這些功能共同改變了代理的用途:一個理解你的項目、讓你在實施前批准工作、在你做其他事情時運行任務、正確調試問題、以完整項目上下文審查拉取請求並查詢真實數據的代理,才是真正可以委派的代理。這就是 JetBrains 設定離開測試階段的門檻。
Junie 現已可在所有 JetBrains IDE 和終端中使用。如果已有 JetBrains AI 訂閲,可直接使用。也支持自帶密鑰,連接本地模型運行時如 LiteLLM、LMStudio、Ollama,提示和代碼不會外泄。安裝後,打開項目,測試一個實際任務,然後反饋給 JetBrains。