Jazzberry

Jazzberry

Jazzberry · 程式設計

Jazzberry 是一款 GitHub 機器人,每當 pull request 開啟時,就在隔離沙箱中執行你的程式碼,找出真正的錯誤,再把結果貼成留言。

Jazzberry 的介面預覽

關於 Jazzberry

About

Jazzberry 是什麼

Jazzberry 是一款接上 GitHub 的 AI 除錯機器人。當有人開啟 pull request,服務會把儲存庫複製到受保護的 microVM,將 diff 交給 AI 代理,讓代理實際執行那段程式碼。代理可以讀檔、搜尋、安裝套件、啟動直譯器、跑測試片段,然後觀察結果、逐步收斂,直到鎖定問題。它不是從程式碼樣式去猜,而是讓錯誤真的發生,再把它確認下來。

Mateo Perez 與 Marco Dewey 打造了這款工具,並在 2025 年帶它走過 Y Combinator。Perez 擁有強化學習與形式化方法博士學位,Dewey 研究的是用大型語言模型自動產生測試。團隊後來把公司改名為 Cartpole,也搬走了舊網站,所以原本的 jazzberry.ai 網址現在指向別處。

有幾項限制最好先知道。Jazzberry 不是通用的程式碼審查工具,所以不會評論風格或命名。它只看 pull request 裡的改動,程式碼能獨立執行時訊號最強,而且會把你的儲存庫送到第三方服務做測試。

如何開始

  1. 打開 GitHub 上的 Jazzberry 頁面,把應用程式安裝到你要涵蓋的帳號或組織。
  2. 挑選想讓機器人盯的儲存庫。
  3. 照平常一樣開一個 pull request,等代理複製儲存庫並跑完測試。
  4. 讀取以 pull request 留言形式出現的錯誤報告,逐項修正或略過。

產品資訊

快速了解 Jazzberry 的定價、支援平台與效能。

免費方案是
付費方案Free trial (7-day), then tiered paid plans
平台Web, GitHub
開發者Jazzberry
類別程式設計
發布日期May 2025
最近更新Sep 2025
網站訪問量2.1K
網站全球排名6.6M
API 提供狀態否

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 後端與 API 開發者:在合併前就看到執行期錯誤與安全漏洞,前提是專案能在一般、適合沙箱的環境裡跑起來。
  • 重視安全的團隊:抓出樣式比對工具會漏掉的問題,例如 SQL 注入與驗證繞過,只是抓到的結果仍需人工判斷。
  • 獨立開發者與小團隊:不必多請一位審查者就能檢查每個 pull request,前提是不介意安裝第三方的 GitHub 應用程式。
  • QA 與發布負責人:在合併前多一道會執行 PR 的檢查,而且它與既有的測試套件並存,不是取代。

任務

  • 自動測試 pull request:執行改動過的程式碼並回報哪裡壞掉,適合審查人力吃緊、步調快的儲存庫。
  • 及早抓出安全錯誤:把注入漏洞與驗證邏輯錯誤連同重現步驟一起攤開。
  • 重現難以察覺的錯誤:撰寫並執行片段來確認問題,而不是只標記一個懷疑。
  • 依嚴重度分類結果:把錯誤分成重大、高、中、低,讓團隊先處理最糟的。

情境

  • 合併一份大型的 AI 撰寫 pull request:diff 又長又有風險時,多一雙眼睛。
  • 維持精簡的審查流程:沒有審查者有空時,仍讓每個 PR 都過一道檢查。
  • 評估新的相依套件或整合:在功能上線前,先測改動在執行期的表現。
  • 接手不熟悉的程式庫:看清一項改動實際怎麼運作,而不是只看它長什麼樣。

主要功能

用真實執行的程式碼自動偵測錯誤

Jazzberry 的核心想法是:執行勝過閱讀。每個 pull request 進來時,AI 代理會在複製下來的儲存庫裡工作,撰寫並執行片段來確認問題存在。因為代理看到的是真實行為,這種自動錯誤偵測能指出靜態掃描工具會漏掉的邏輯錯誤與執行期問題。團隊把它定位成「哪裡壞了、怎麼壞」的具體證據,而不是一張疑似問題清單。

每次審查都配一台安全的 microVM

每次審查都跑在自己獨立、上鎖的 microVM 裡。儲存庫被複製進那台隔離機器,代理在裡面工作,結束後環境就銷毀。這樣一來,單一專案的執行與其他專案分開,每件工作能碰到的範圍也受限。代價是你的程式碼在檢查期間會離開自家基礎設施。

自動接上 pull request

沒有另一個儀表板要盯。GitHub 應用程式裝好後,Jazzberry 會監聽 pull request 並自行啟動。結果以留言形式出現在 pull request 上,正好在審查者閱讀的地方。這對整天待在 GitHub、不想再多開分頁的團隊很順。

附嚴重度與重現步驟的 Markdown 報告

輸出是一張貼在 pull request 上的 Markdown 表格。每一列寫出錯誤名稱、標上從重大到低的嚴重度、附上範例測試案例,並說明哪裡出錯。這樣的結構讓審查者掃過表格就能決定要處理哪些,不必翻遍日誌。早期使用者提過抓到 SQL 注入漏洞與 API 金鑰驗證錯誤之類的問題。

不綁語言的測試

Jazzberry 不綁死在單一技術堆疊。代理會在沙箱裡安裝套件、啟動直譯器,因此能對應 Python、JavaScript、TypeScript、Go、Java、Ruby 等主流語言。程式庫混用多種語言的團隊不必每種語言各找一套工具,只有極特殊的建置方式才可能需要額外設定。

優缺點

優點

  • 靠執行確認錯誤,找到的結果帶證據,不是猜測。
  • 直接把結果貼進 pull request,沒有額外儀表板要查看。
  • 隔離的 microVM 執行讓每次審查自成一套,用完即丟。
  • 支援常見語言,多語言混用的儲存庫只需要一套工具。
  • 嚴重度標籤幫團隊先處理最嚴重的錯誤。

缺點

  • 儲存庫會被送到第三方服務做測試,有些團隊無法接受。
  • 只看 pull request 裡的改動,所以不是完整的程式庫稽核。
  • 複雜或高度整合的系統難以在隔離環境中執行,結果會打折扣。
  • 找出的結果仍需人工判斷,因為動態測試可能漏掉脈絡。

常見問題

它是 GitHub 上的 AI 除錯機器人。pull request 一開啟,Jazzberry 就把儲存庫複製到隔離沙箱,用 AI 代理執行改動過的程式碼,再把錯誤報告貼成 pull request 留言。