CopilotKit 推出 AIMock,為 AI Agent 堆疊提供全方位的 Mock 伺服器解決方案
CopilotKit 推出 AIMock,為 AI Agent 堆疊提供全方位的 Mock 伺服器解決方案。
CopilotKit 團隊指出,現代 AI 應用程式的請求路徑極為複雜,單一請求可能涉及 LLM、MCP 工具、向量資料庫、搜尋 API、重排序 (reranking) 及內容審核等多個服務。過去僅針對 LLM 進行 Mock 的做法,導致測試環境中仍有大量真實網路呼叫,不僅造成測試不穩定(flaky CI),更導致不必要的 token 消耗。
開發背景與痛點:CopilotKit 團隊開發 AIMock 的初衷,是為了填補現有測試工具的缺口。他們觀察到,一個典型的 2026 年 Agent 請求會依序觸發多個服務,若僅 Mock 其中一環,其餘服務的真實網路呼叫將導致測試結果不可預測。為了實現快速、免費且可靠的測試,AIMock 整合了整個 Agent 堆疊的模擬需求,解決了以往需拼湊多個函式庫且配置格式不一的問題。
核心功能與架構:AIMock 旨在提供單一封裝、單一連接埠的解決方案,並具備以下關鍵特性:
- 漂移檢測 (Drift Detection):每日對比真實 API 回應,在使用者發現前捕捉回應格式的變更。
- 錄製與重播 (Record & Replay):代理真實 API 呼叫並儲存為 fixture,實現確定性的測試重播,無需再觸發真實 API。
- 混沌測試 (Chaos Testing):可配置機率注入 500 錯誤、格式錯誤的 JSON 或串流中斷,驗證應用程式的容錯能力。
- 全面覆蓋:支援 LLM (10 種供應商)、MCP (JSON-RPC 2.0)、A2A (Agent-to-Agent)、向量資料庫 (Pinecone, Qdrant, ChromaDB) 及各種服務介面。
技術支援與整合:AIMock 透過真實的 HTTP 伺服器運作,而非僅在處理程序內進行修補,確保任何支援 HTTP 的應用程式皆可存取。
- LLMock:支援 10 種主流供應商(如 OpenAI, Claude, Gemini, Bedrock 等),並完整支援串流與推理模型。
- MCPMock:提供具備完整會話管理、工具與資源的本地 MCP 伺服器。
- A2AMock:提供 Agent 卡片發現、訊息路由與 SSE 串流的本地 A2A 伺服器。
- VectorMock:支援向量資料庫的集合管理、寫入與查詢操作。
遷移與實際應用:AIMock 旨在無縫取代舊有的測試工具。對於從 llmock 遷移的使用者,僅需移除舊套件、安裝 @copilotkit/aimock 並更新匯入路徑即可,既有的測試程式碼與 fixture 格式皆保持相容。目前 AG-UI 等專案已將其應用於 End to End (端到端) 測試套件中,以驗證跨供應商的 Agent 行為。
✨ Introducing AIMock - one mock server for your entire agentic stack!
— CopilotKit🪁 (@CopilotKit) April 8, 2026
Your AI app calls LLMs, MCP tools, A2A agents, vector DBs, search, reranking, and moderation. If any of those are live in your tests, you've got flaky CI and burned tokens.
No tool mocked all of it. So we… pic.twitter.com/4k3fYPtQr5
- Docs: https://t.co/ouMYmexebF
— CopilotKit🪁 (@CopilotKit) April 8, 2026
- GitHub: https://t.co/D9wHZhhGfO
- Blog: https://t.co/sdGU1zkpM5
LLMock to AIMock Migration Steps 👇
Migration steps from `llmock` to `aimock` 👇
— CopilotKit🪁 (@CopilotKit) April 8, 2026
👉 `pnpm remove @copilotkit/llmock`
👉 `pnpm add @copilotkit/aimock`
👉 Find and replace @copilotkit/llmock → @copilotkit/aimock in your imports
The LLMock class, all fixture formats, and the programmatic API are unchanged. Your…
