Mozaik
Jigjoy · 程式設計
Mozaik 是一套以 TypeScript 撰寫的開放原始碼代理執行環境。它能建立同時執行、彼此不會互相阻塞的 AI 代理。你不必拼湊單一聊天機器人迴圈,而是得到一個共用執行環境,讓代理、人類與其他參與者交換事件,並在情境吻合時做出反應。它鎖定想要多代理協作、而非一次性的助理的開發者。套件以 `@mozaik-ai/core` 之名在 npm 上發布。

關於 Mozaik
什麼是 Mozaik
Mozaik 是執行環境,不是聊天應用程式。它是由 Jigjoy 在開放原始碼的 Mozaik 儲存庫中打造與維護的 TypeScript 代理框架。它以 npm 套件 @mozaik-ai/core 的形式安裝。你在 TypeScript 專案中使用它,定義自己的執行環境,然後註冊你想要的代理與處理器。
它解決的問題是協調。大多數代理框架只給你一個迴圈,呼叫模型並回傳答案。一旦兩個代理必須處理同一項任務,這種做法就顯得笨拙。那麼當第二個代理想採取行動時會怎樣?Mozaik 把執行環境視為共用空間,參與者在此發布事件,情境處理器決定該做什麼。代理可以平行工作、讀取共用狀態,並在情境改變時調整。需要並行 AI 代理的團隊,在此得到的是平行處理,而不是單一序列迴圈。
最大的限制在於,它是給開發者用的函式庫,不是完成品。沒有代管的儀表板,也沒有視覺化建構工具。你需要 Node.js 18+、一組供應商 API 金鑰,以及足夠的 TypeScript 底子,能自在地運用類別與泛型。如果你想要的是免寫程式的代理建構工具,那它不是。
開始使用
- 用
npm install @mozaik-ai/core安裝核心套件,若你用其他工具鏈,也可使用yarn add或pnpm add。 - 在專案根目錄新增
.env檔,放入你打算使用的供應商 API 金鑰,例如OPENAI_API_KEY、ANTHROPIC_API_KEY或GEMINI_API_KEY。 - 呼叫
defineRuntime建立你的工作階段 API,接著在任何人加入之前,先用一個狀態物件執行一次initializeRuntime。 - 用
createAgent與createHuman建立參與者,附加它們所需的情境處理器,再用join讓它們加入執行環境。 - 用
sendMessage發布事件,或用runLoop啟動一輪代理運作,接下來就由相符的處理器接手。
產品資訊
快速了解 Mozaik 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- TypeScript 開發者:Mozaik 適合已在撰寫 Node.js 與 TypeScript 的團隊,因為整個 API 都是類別與泛型。你得先熟悉這種風格,它才會發揮價值。
- 後端與平台工程師:任何得讓多個代理同時回應的人,從執行環境得到的收穫會比只提供單一迴圈的聊天機器人函式庫更多。
- AI 研究者與愛好者:範例資料夾涵蓋多代理辯論、人在迴圈中的付款,以及 MCP 工具探索,讓你輕鬆快速測試想法。
任務
- 在一項任務上執行並行代理:你可以讓多個代理加入同一個執行環境,讓它們平行工作,而不是排隊等一個迴圈。
- 人在迴圈中的核准:處理器可以攔截有風險的計畫或大筆付款,並等待真人核准或拒絕。
- 攔截並修正代理輸出:由於處理器是以事件比對,你可以在壞計畫執行前攔下它,並請代理提出更安全的方案。
- 工具與 MCP 整合:代理可以從本機 MCP 伺服器探索工具,並呼叫它們來回答問題。
情境
- 多代理模擬:歷史模擬範例讓凱撒、龐培與加圖在共用執行環境中運作,同時由觀察者記錄對話。
- 共用狀態的客戶端助理:一個在固定次數後停止的共用 freemium 帳號,展示代理如何執行共同限制。
- 將回應串流到主控台或介面:代理可以逐權杖串流一則建議,而不是回傳單一區塊。
- 在上線前製作代理架構原型:由於推論可以換成模擬執行器,你可以在不花錢請模型供應商的情況下測試迴圈。
主要功能
彼此不會阻塞的並行代理
核心概念是代理獨立工作,而非輪流上場。沒有人排隊等候。當一個代理卡在推論上,另一個仍能在執行環境中處理事件。對執行多代理工作流程的團隊來說,吞吐量來自平行處理,而不是單一序列迴圈。
共用的、事件驅動的執行環境
參與者在同一個執行環境中相遇,事件在此發布,代理對其做出反應。你用 defineRuntime 定義執行環境,再用自己的狀態類別初始化一次。其他一切,從人到代理,都加入同一個空間,因此大家都看到相同的活動。
情境處理器
你不必把代理何時該行動寫死,而是描述它在意什麼情境。SituationSpecification 會檢查每個事件,相符的處理器則執行你的處理邏輯。就是這麼簡單。快速入門的 WhenOthersSendAMessage 範例,只在代理以外的人送出訊息時反應,讓邏輯保持乾淨好讀。
共用環境的感知
代理能理解其他參與者以及周遭的執行環境狀態。這種感知讓它們能調整,而不是盲目運作。一個共用狀態範例展示代理從一個有固定限制的共用帳號回答,因此限制存在於環境中,而不是每個代理的提示詞裡。一個帳號,一個限制,多個代理。
具備攔截能力的代理迴圈
runLoop 啟動一輪代理運作:它更新脈絡、執行推論、呼叫工具並產出答案。攔截功能讓你掛進那個迴圈,因此當規劃器提出有風險的內容時,可以在串流中途停下,並改導向更安全的選項。
多供應商模型支援
Mozaik 依你傳入的模型名稱挑選供應商。替換 OpenAI、Anthropic 或 Gemini 模型時,無須更動周邊程式碼。DeepSeek 模型透過相容於 OpenAI 的端點運作,因此使用 OpenAI 風格的金鑰與基礎網址,指向 DeepSeek。
工具與 MCP 探索
代理可以攜帶工具,並在一輪運作中呼叫它們,而 MCP 範例展示代理從本機 MCP 伺服器探索工具,以回答股價問題。對已投入 MCP 的開發者而言,這意味著既有的工具伺服器能接上同一個代理迴圈。
串流與結構化輸出
代理可以逐權杖串流結果,供即時介面使用。當使用者在螢幕前等待時,這很重要。或者,在你需要機器可讀的結果時,回傳符合嚴格 JSON 結構描述的輸出。結構化輸出範例回傳一份依固定結構描述打造的投資簡報,當下游程式碼必須解析答案時相當實用。
優缺點
優點
- 開放原始碼且可免費安裝,沒有授權費,也沒有付費層級。
- 為並行而打造,因此多個代理可以同時運作,而不是排在一個迴圈後面。
- 情境處理器讓觸發邏輯明確且容易閱讀。
- 內含一組自成一體的範例,涵蓋串流、工具、MCP 與人在迴圈中的核准。
- 可搭配 OpenAI、Anthropic、Gemini 以及像 DeepSeek 這類相容於 OpenAI 的供應商。
缺點
- 它是開發者函式庫。對不寫程式的人來說,沒有視覺化建構工具或代管儀表板。
- 你需要 Node.js 18+、供應商 API 金鑰,以及扎實的 TypeScript 能力,才能執行任何東西。沒有安裝程式,也沒有捷徑。
- 文件仍偏重 GitHub 儲存庫,這代表在正式環境中鎖定版本得靠你自己。
- API 介面提及像 `gpt-5.5` 這樣的模型名稱,因此功能取決於你選擇的供應商實際提供什麼。
常見問題
Mozaik 是用來以 TypeScript 打造 AI 代理的執行環境,尤其是需要平行運作並彼此反應的代理團隊。你在 Node.js 專案中使用它,來定義參與者、發布事件,並在情境出現時加以處理。
相關內容
探索與 Mozaik 相關的工具、技能與文章。
Mozaik 替代方案
Forefront
Forefront · 程式設計Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。
Startkit
StartKit.AI · 程式設計Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。
Testim
Tricentis · 程式設計Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。
