認識 Salix:Comma 的 AI 代理框架

Salix 全天候​執行​你的 Comma AI 代理,只在​工作​需要​時​才​呼叫​大型​模型。

Salix 工作中

一個可以點開查看的範例。你請 Comma 盯著 #support 和你的收件匣,留意 bug 回報,它為此寫了一個 Loop。一位客戶回報了 bug,Loop 喚醒了 Comma。Comma 開始了一個任務,Worker 在雲端電腦上重現問題,並提交修復等你審查。視窗旁的編輯器展示了 Salix 核心中的兩個 Lean 證明。

Use ⌘K for search
幫我盯著 #support 和我的收件匣,有客戶回報 bug 時告訴我。

我為此寫了一個 Loop。Salix 全天執行它,每條新訊息都先問 Jev,所以只有出現 bug 回報時我才會被喚醒。

c
for (;;) {
  msg = sf_event_next(60000);
  if (needs_you(decide(msg)))
    notify(msg);
}

Dana 在 #support 裡回報:匯出大檔案時會逾時。我已開始一個任務,在雲端電腦上重現這個問題。

已修復 Dana 回報的匯出逾時問題。PR #452 等你審查。

深入 Salix

Loop 全天候值守

你的 AI 代理會寫一個小程式,也就是 Loop,用來盯著你的收件匣、儲存庫或資訊來源。它日夜執行,只在有事需要處理時才喚醒 AI 代理。

瞭解 Loop

用 Jev 快速判斷

Loop 會詢問 Jev 這類快速決策模型:一封郵件或一個事件是否需要你處理。平靜的一小時不消耗任何大型模型 token。

Loop 如何做判斷

用 Elixir 和 Lean 建構

系統某個部分出故障時,Elixir 讓你的 AI 代理繼續執行。AI 代理迴圈的核心用 Lean 編寫,並證明你的資料只會流向允許的地方。

Salix 如何工作

在你的 Mac 上工作

Salix 連線你的 Mac,讓 Comma 能在上面開啟和更新你的檔案。AI 代理也可以在 Mac 上執行 Codex 或 Claude Code。

瞭解裝置

常見問題

Loop 能​盯著​什麼?怎樣​啟動​或​停止 Loop?

Loop 可以盯著一個已連線的 App(例如 Gmail、GitHub 或 Slack)、輪詢一個 Web API,或透過它專屬的私密 webhook URL 接收事件。在對話中請 Comma 追蹤某件事,例如一個 PR 或一個討論串,它就會設定並啟動 Loop;不再需要時,請它暫停或刪除這個 Loop 即可。一個 AI 代理最多可以同時執行 20 個 Loop。

Loop 在​等待​時會​產生​什麼​費用?

等待中的 Loop 是 Salix 叢集上的一個小程式,不是雲端電腦。它不呼叫模型,本身也不計費,只有它呼叫的東西才會消耗額度:例如向 Jev 提問,即使你使用自己的模型金鑰,這也會消耗額度;又例如它喚醒 AI 代理後產生的對話輪次,和其他輪次一樣計費。在每個十分鐘的時間區間內,它最多喚醒 AI 代理六次。

Jev 負責​判斷​什麼?它​拿不準​或​判斷​錯了​怎麼辦?

Jev 回答 Loop 提出的問題,例如一封新郵件是否需要你處理;它不能傳送訊息、不能修改任何東西,也不能授予存取權限。當 Comma 替你追蹤一個 PR、議題或討論串時,只有 Jev 以 0.9 或更高的信心分數回答「靜默」,對應的 Loop 才會保持靜默;其他任何結果,包括出錯,都會交給你的 AI 代理,而 AI 代理被要求先核對來源,再傳訊息給你。如果 Jev 信心十足地答了「靜默」卻答錯了,那則更新就不會送到你這裡。

Loop 讀到​的​資料​會​被​怎樣​處理?

它始終只是資料:郵件或事件無法修改 Loop 的程式碼,也無法擴充它那份固定的能力清單。收到的事件只儲存到 Loop 確認收到為止;Loop 只保留一個檢查點,最大 16 KB。它讀到的內容只能透過 Loop 自己發起的呼叫繼續傳出,例如向 Jev 提問(Jev 由 TypeSafe AI 執行),或向你的 AI 代理傳送喚醒訊息。

Salix 的​某個​部分​出​故障​時會​怎樣?

每個 AI 代理都是 Erlang VM 上的一個獨立處理程序,所以出故障的部分會重新啟動,其他 AI 代理繼續執行。Salix 已接收的訊息在重新啟動後依然保留;一個會產生變更的操作如果被中斷,不會自動再執行一次。Loop 在重新啟動或被移到另一個節點後,會從上一個檢查點繼續;如果它自己的程式出錯,每小時最多重新啟動三次,之後就會停止並告知你的 AI 代理。

Lean 證明​能​保證​什麼,不能​保證​什麼?

AI 代理迴圈的核心以 Lean 程式碼執行,它的證明由機器檢查。這些證明表明:Salix 已接收的工作在故障和重啟後依然保留;回覆失敗不算完成;每個會產生變更的操作,都會在 Salix 啟動它之前記錄下來,並且最多只啟動一次。這些證明建立在對核心周邊程式碼的明確假設之上,不對儲存、模型的判斷或任務是否成功做出證明。

Comma 能​在​我的 Mac 上​做什麼?怎樣​收回​權限?

一開始,Comma 只能讀取已連線電腦上的檔案,你的 Mac 也不例外。要讓它修改檔案、執行命令並使用那台電腦上安裝的程式設計 AI 代理,請在「設定 > 裝置」中為那台電腦開啟「允許操作」。你隨時可以關閉:正在執行的命令會停止,Comma 也會回到唯讀狀態。

Salix 能​在​我的​電腦​上​執行​哪些​程式設計 AI 代理?

當已連線的電腦上裝有 Codex、Claude Code、Pi 或 Kimi,並且開啟了「允許操作」時,Comma 就可以把工作交給它。程式設計 AI 代理在那台電腦上完成工作,對話則由 Salix 儲存。如果電腦離線,工作會等待,或返回錯誤而失敗;Salix 不會自行把它轉移到另一台機器上。

Try Comma, Now.

開始使用