2026/9/17
AI工具
AI Agent
Codex
我以為 Modal 每月免費 30 美金,可以養一個 Kimi K3;結果一句話都還沒問,就先燒了 34 美金
前幾天看到 Modal 的 Starter 方案,我注意到一件很有意思的事:
每個月都有 US$30 的免費 Compute 額度。
不是註冊時送一次,而是每個月都有。Modal 目前的官方定價頁也把 Starter 的 Included compute 列為 US$30/月,同時把 Included token usage 列為 0。
我第一個想到的不是拿來生圖,也不是跑 Whisper。
而是:
能不能把這 30 美金,變成 Codex 裡面的另一顆大腦?
我最近剛好想測 Kimi K3。
依我這次看到的 Kimi K3 Model Library 與部署設定,Kimi K3 是 Moonshot AI 推出的 MoE 模型,總參數規模 2.8T,每次推論約啟動 104B 參數,支援 1M context,Coding、Reasoning、Knowledge Work 與長時間 Agent 任務都是它主打的方向。
所以我原本想做的架構很簡單:
Codex → MCP → Modal → Kimi K3
平常我還是在 Codex 裡工作。
遇到複雜的架構問題,我就跟 Codex 說:
這個問題再叫 Kimi K3 看一次。
需要第二模型 Code Review:
把這次修改交給 Kimi K3 Review。
需要長上下文分析:
請 Kimi K3 從另一個角度分析。
這樣 Codex 是主腦,Kimi K3 是外部顧問,而 MCP 就負責在兩個模型之間傳遞任務。
聽起來很漂亮。
於是我真的下去做了。
結果第一個坑馬上就來了。
這篇不是 Modal 的官方計費說明,而是我在 2026 年 9 月 17 日這次帳號與部署紀錄上的實測。方案名稱、價格、模型版本、硬體配置與計費規則都可能更新;真正部署前,仍然要以當下的官方文件與帳務頁面為準。
我原本搞錯了 Modal 的「免費 30 美金」是什麼Modal Starter 每月提供的 US$30,正確來說是:
Compute Credits。
它可以拿來支付 GPU、CPU、Memory、Container、Function,以及 Dedicated Endpoint 這類實際運算資源。
但 Modal 還有另一種產品叫:
Shared Endpoint。
Shared Endpoint 是 Modal 已經把模型架好了,你直接按 token 使用。Modal 的官方 Shared Endpoints 文件明確寫著:Shared Endpoint 由 Modal 管理硬體與自動擴縮,使用量按 token 計費,而且方案內的 credits 不能用來抵扣 Shared Endpoint 使用量。
這代表 Modal 的計費要拆成兩個錢包:
類型
計費方式
Starter 每月 US$30 Compute 可抵嗎?
Dedicated Endpoint、Functions、Containers
GPU、CPU、Memory 等運算資源
可以,依適用規則計算
Shared Endpoint
Prompt、Cached Prompt、Completion tokens
不可以,另按 token 計費
所以我一開始腦中的想像:
「每月送我 30 美金,然後慢慢拿來問 Kimi K3。」
其實不成立。
這 30 美金不是 Modal 帳戶裡可以任意使用的通用餘額,而是一張限定用途的雲端運算抵用券。
那我就自己架 Kimi K3 好了?既然 Shared Endpoint 不能吃免費額度,那我就走另一條:
Dedicated Endpoint。
這樣 GPU Compute 理論上可以扣每月 US$30。
Modal 也真的支援 moonshotai/Kimi-K3,所以我想:
有工作才開機,跑完 scale down。
這不正是 Serverless GPU 最適合的場景嗎?
於是我建立 Kimi K3 Dedicated Endpoint,然後開始 provisioning。
一分鐘。
五分鐘。
十分鐘。
二十分鐘。
最後:
29 分 22 秒,Endpoint Failed。
原因不是模型掛掉,也不是第一個 Prompt 回答錯誤。
而是:
我的 US$30 額度不夠了。
更精確一點,畫面一度顯示 workspace 已經使用 107%,用量是 US$31.97;後來把 Billing Report 拆開,最後看到的數字是:
帳務項目
金額
Metered Cost
US$34.16
Credits
-US$30.00
Billed Cost
US$4.16
最精彩的是:
我連第一個 Prompt 都還沒送。
Kimi K3 一句話都還沒回答我,US$34.16 的 Metered Cost 已經產生了。😂
錢到底燒去哪裡?這次 Billing Report 裡的主要成本是:
資源
主要成本
B300 GPU
約 US$27.61
Memory
約 US$3.98
CPU
約 US$0.37
這是主要項目,不是完整帳務明細;但已經足夠看出問題:我以為自己是在問一個模型,實際上是在付一整套大模型推論環境的啟動與運行成本。
看到 B300,我一開始也懷疑:
「是不是 Modal 幫我選太貴的 GPU?如果換便宜一點的不就好了?」
但繼續挖 Log 後,答案比「換卡」複雜很多。
Kimi K3 真的用了 8 張 B300Log 裡可以看到:
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
SGLang 的啟動參數也直接寫著:
–tp 8
Tensor Parallel 等於 8。
更進一步的 Log 還寫著:
Kimi-K3 … on B300/GB300world_size=8
所以不是我猜測它用了 8 張 B300。
這次部署真的就是一套 8 × B300 的 Kimi K3 推論環境。
更誇張的是,這 8 張 GPU 有很長一段時間都還在載入模型。
從開始 Load weight 到完成,大約是:
1352 秒,也就是 22 分 32 秒。
而且每張 GPU 載入模型後,記憶體使用量大約都在 190GB 左右。
這也回答了我原本另一個想法:
「那換便宜一點的 GPU 不就好了?」
不能只看每張 GPU 的單價,還要看模型權重怎麼切、每個 Tensor Parallel Rank 需要多少記憶體,以及總 GPU 數量會不會因此增加。
GPU 單價比較便宜,不代表整個模型推論比較便宜。
Modal 預設把 K3 火力全開我繼續看啟動參數,才發現 Modal 幫我架的不是什麼「個人測試版 Kimi K3」。
這套部署直接準備了:
1M context
context-length 1048576
FP8 KV Cache
DFLASH speculative decoding
Multimodal
CUDA Graph
最高 48 個 running requests
各種 FlashInfer、TensorRT 與 Blackwell 最佳化
另外載入 Kimi-K3-DFlash Draft Model
換句話說,它幫我準備的是一套可以提供大量 API 流量的高效能 Kimi K3 Server。
而我真正需要的是:
「偶爾叫 Kimi K3 幫 Codex 看一下程式碼。」
這是完全不同的需求。
我想要的是低頻率、可控成本的外部顧問;Dedicated Endpoint 給我的卻是需要先付出高額啟動成本、再等待模型載入的大型服務環境。
Spend limit = 0,也不該被當成唯一硬控因為我一開始就怕爆預算,所以很認真地把 Modal 設定成:
Usage limit:US$30
Spend limit:US$0
我原本的理解是:
「免費額度 US$30 用完,就停止;一毛錢都不付。」
但實際結果是,這次最後仍然出現 US$4.16 的 Billed Cost。
這裡要把兩件事分開看。
Modal 目前的預算文件把 Workspace budget 定義成整個 Workspace 的用量上限,把 spend limit 定義成套用 credits 後的自付費用上限。官方也說,達到 spend limit 後,會停止還會產生額外自付費用的工作負載。
但這種平台層級的 Budget,不等於 MCP 在送出任務前的即時交易鎖。
如果 GPU workload 已經啟動,帳務資料、超額偵測與停止工作之間存在時間差;而 Kimi K3 是 8 張 B300 同時燒,幾分鐘的延遲就可能不是幾分錢。
所以我現在的結論不是「Spend limit 完全沒用」,而是:
不能只把平台上的 Spend limit 當成唯一防線。
平台 Budget 負責最後一層;MCP Budget Guard 要在任務送出前先攔一次。
我還踩到一個認證坑:Shared Endpoint 需要 Proxy Token在測試 Endpoint 時,Modal 曾經直接顯示:
Create a proxy token to require authentication for this Endpoint, or create the Endpoint with unauthenticated access.
這不是單純的錯誤訊息,而是提醒我:Endpoint 的「可以呼叫」和「應該公開」是兩件事。
依照 Modal 的Endpoints 文件,Shared Endpoint 一律需要 Proxy Token,Dedicated Endpoint 預設也需要 Proxy Token;只有在建立 Dedicated Endpoint 時,才可以選擇 unauthenticated。
如果之後要把它接進 Codex 或 MCP,正確的方向應該是:
建立權限範圍清楚的 Proxy Token。
Token 只放在 MCP Server 的環境變數或 Secret 管理裡。
不把完整 Token 貼進 Codex 對話、文章、Log 或 Git。
MCP 只把模型結果回傳給 Codex,不把平台憑證暴露給工具使用者。
若是 Shared Endpoint,還要處理並行限制、逾時、重試與 429 回應。
Modal 官方也提供給 Codex 的 Endpoint 整合方式,會以 OpenAI-compatible API 與 Proxy Token 呼叫 Endpoint。這表示真正要做的不是把 Token 寫死在某個腳本裡,而是把認證、成本與資料邊界一起放進 MCP 的設計。
Shared Endpoint 反而才是我原本需求的正確模式Dedicated Endpoint 走不通,不代表 Kimi K3 不適合接進 Codex。
答案其實就在 Modal 自己的另一個選項:
Shared Endpoint。
Modal 已經幫大家養好那套昂貴的 GPU infrastructure,我只需要按 token 付費,不用自己啟動 8 張 B300。
這次 Kimi K3 Shared Endpoint 在我的帳號畫面上看到的價格是:
用量
價格
Prompt
US$3/1M tokens
Cached Prompt
US$0.30/1M tokens
Completion
US$15/1M tokens
這些價格和模型可用性可能調整,實際使用前應以Kimi K3 Model Library與 Endpoint 的 Usage view 為準。
假設一次 Codex Code Review:
輸入:50,000 tokens
輸出:5,000 tokens
輸入成本:
50K × US$3/1M = US$0.15
輸出成本:
5K × US$15/1M = US$0.075
合計約:
US$0.225。
這個經濟模型反而很合理。
不用付模型開機費,不用等 22 分鐘 Load weight,也不用為了問一個問題,先花 US$30 把模型叫醒。
但要注意:Shared Endpoint 不能用 Starter 的 US$30 Compute Credits 抵扣,所以它需要另一個「Token Budget」,不能和免費 Compute 共用同一個錢包。
三種模式,現在要分清楚
模式
主要計費
能用 Modal 每月 US$30 Compute 嗎?
適合情境
Kimi K3 Dedicated
GPU、CPU、Memory 運算資源
可以依適用規則抵扣
大量流量、隔離容量、可控 autoscaling
Kimi K3 Shared
Prompt、Cached Prompt、Completion tokens
不可以
偶爾從 Codex 呼叫 K3
小型/中型模型 Dedicated
GPU、CPU、Memory 運算資源
可以依適用規則抵扣
把 Starter Compute 額度真正用在低頻實驗
所以我會把 Modal 每月 US$30 的用途重新定義成:
Codex ↓MCP ↓Modal ↓Qwen、GLM 或其他小型/中型開源模型
這種才有機會真的把免費 GPU 額度玩出價值。
至於 Kimi K3,則走另一條:
Codex ↓AI Consultant MCP ↓Kimi K3 Shared Endpoint ↓按 token 計費 ↓結果回 Codex
MCP Budget Guard 要改成兩個錢包我原本只設計 Compute Budget Guard,因為我以為所有成本都會從每月 US$30 裡扣。
現在看來,MCP 至少要分成兩個預算池:
預算池
控制內容
範例
Compute Budget
Dedicated Endpoint、Function、Container 的 GPU/CPU/Memory 成本
US$27 警告、US$29 停止
Token Budget
Shared Endpoint 的 Prompt、Cached Prompt、Completion 成本
另設每月 token 預算與單次上限
Compute Budget 的設定可以先維持:
項目
設定
用意
每月預算上限
US$29
不把免費 Compute 用到最後一美元
安全警告線
US$27
接近上限時提醒
Modal 免費 Compute
US$30
目前方案假設,依官方頁面更新
每次 Codex 要呼叫外部模型前,MCP 可以先做:
判斷這次要走 Shared 還是 Dedicated。
讀取對應預算池的本月已使用量。
讀取尚未完成任務的預估成本。
加上這一次請求的預估成本。
先做原子化的預算預約,再送出任務。
接近警告線時提醒;達到上限時拒絕新的請求。
任務完成後,用實際 token 或 Compute 成本結算預約。
如果目前帳面只用了 US$26.80,還沒超過 US$27,此時 Codex 同時送出三個任務,而 Modal 的帳務資料還沒反映這三個任務,三個請求可能都會得到「可以執行」。
所以 Budget Guard 不能只讀已完成帳務,還要把已送出但尚未結算的工作加入暫時預約:
目前已入帳用量 +進行中任務的預估用量 +這次請求的預估用量 =預計本月用量
此外,預約動作本身也要有鎖定或原子更新,避免多個並行請求同時讀到同一個舊數字。
Budget Guard 不是精準預言帳單的工具,而是一個讓「不小心超支」變得比較難發生的防線。
這次之後,我想做的已經不只是 Kimi K3 MCP繞了一大圈之後,我反而更確定原本的方向沒有錯。
只是 Backend 選錯了。
我想做的其實不是:
「在 Modal 免費跑 Kimi K3。」
而是:
「讓 Codex 能在需要的時候,呼叫另一個 AI。」
第一版 MCP 可以先放:
MCP 工具
用途
第一版限制
ask_kimi_k3
詢問 Kimi K3 一般問題
只回傳分析結果,不直接修改專案
review_code
請模型 Review 程式碼或 diff
只傳必要內容,先遮罩 secrets
analyze_architecture
分析架構、取捨與潛在風險
輸出建議,不自動採用決策
get_modal_usage
查詢本月 Compute 或 Token 用量
清楚標示資料時間與帳務延遲
check_budget
檢查對應預算池與進行中預約
在其他模型工具前先呼叫
但 MCP 不一定只接 Kimi K3。
未來更有趣的架構可能是:
Codex │ └─ AI Consultant MCP │ ├─ Kimi K3:高難度、長上下文 ├─ Qwen:Coding 與一般分析 ├─ GLM:Agent 與工具使用 └─ DeepSeek Flash:便宜任務 │ └─ Modal Shared Endpoints
不同問題叫不同模型,便宜的工作交給便宜模型,真正困難的工作才叫 Kimi K3。
然後 MCP 統一處理:
Token 統計
成本計算
月預算
模型 Routing
Proxy Token
Code Review
結果回傳
逾時與重試
這比只做一個 Kimi K3 MCP 有趣很多。
這次真正讓我有感的,不是 Kimi K3而是我開始越來越確定一件事。
以前我們都在想:
ChatGPT、Claude、Kimi、Gemini,我到底要選哪一個?
但 Agent、MCP、API 越成熟後,這個問題可能會慢慢變成:
我的主 Agent,需要哪些外部能力?
Codex 可以是主要工作的 Agent。
Kimi K3 不一定要取代它。Kimi 甚至不用是一個我每天打開的聊天網站。
它只需要是:
Codex 工具箱裡的一個 Tool。
需要它時才叫它,不需要就完全不用。
這才是我覺得 MCP 真正開始有意思的地方。
它不只是讓 AI 可以操作更多工具,而是你開始可以自己組裝一個 AI 的能力邊界。
搜尋是一個 Tool。
資料庫是一個 Tool。
瀏覽器是一個 Tool。
你的公司系統是一個 Tool。
甚至:
另一個更強的 AI,也可以只是一個 Tool。
至於 Modal 每個月那 US$30?
Kimi K3 我是不敢再拿它養了。😂
下個月我準備換一個小一點的模型,把這 30 美金真的榨乾。
我接下來會怎麼做?這次實驗讓我的順序重新排過:
先確認模型的 serving mode,是 Shared 還是 Dedicated。
先看清楚 Compute Credits 與 Token Usage 是否使用同一套額度。
先設定平台層級的 Workspace budget 與 spend limit。
在 MCP 裡再加一層預算池、單次上限與進行中任務預約。
先用小型/中型模型驗證 Modal 免費 Compute 的實際用途。
Kimi K3 改用 Shared Endpoint,先做低成本的單次請求測試。
最後才把它接進 Codex,觀察什麼時候真的值得叫第二個模型。
真正好的多模型工作流,不是把所有模型都開起來,而是知道什麼任務該叫誰、要花多少錢、哪些資料可以送出去,以及什麼時候應該停止。
常見問答 (FAQ)Q1:Modal Starter 每月 US$30 免費 Compute,可以拿來使用 Kimi K3 Shared Endpoint 嗎?不可以直接這樣理解。Modal 官方文件明確區分 Shared Endpoint 的 token 計費與方案內的 Compute Credits;Included Compute 不能拿來抵 Shared Endpoint 使用量。Shared Endpoint 應該另外設定 Token Budget,並以當下 Endpoint Usage 顯示的價格為準。
Q2:為什麼我沒有送出 Prompt,還是產生了 US$34.16?因為這次走的是 Dedicated Endpoint。8 張 B300 在 provisioning、載入模型、初始化推論環境的期間,就可能產生 GPU、Memory、CPU 與其他運算成本;模型還沒回答第一個 Prompt,不代表完全沒有使用計費資源。
Q3:Spend limit 設成 US$0,為什麼還可能看到自付費用?平台層級的 spend limit 是重要防線,但不是送出任務前的 MCP 交易鎖。正在執行的工作、帳務資料更新與停止動作可能存在時間差,因此還是要在 MCP 送出請求前做預算檢查、預約與拒絕新任務的控制。
Q4:Shared Endpoint 一定要建立 Proxy Token 嗎?Modal 目前的官方 Endpoints 文件說,Shared Endpoint 一律需要 Proxy Token,Dedicated Endpoint 預設也需要。Proxy Token 應留在 MCP Server 的 Secret 或環境變數中,不要放進文章、Git、Codex 對話或公開前端。
Q5:偶爾從 Codex 呼叫 Kimi K3,應該選 Shared 還是 Dedicated?以這次需求來看,Shared Endpoint 比較合理,因為 Modal 管理硬體與自動擴縮,你按 token 使用;Dedicated Endpoint 比較適合需要隔離容量、可控 autoscaling 或大量流量的服務。最後仍要以實際價格、延遲、並行限制與資料政策決定。
Q6:那 Modal 每月 US$30 Compute 最適合拿來做什麼?比較適合小型/中型 LLM、Whisper、Embedding、Reranker、OCR/Vision、TTS、FLUX/SDXL、Agent Sandbox、Batch GPU 工作,以及其他有工作才啟動的 GPU Function。重點是先估算模型載入與執行時間,不要只看「免費」兩個字。
參考資料
Modal Pricing
Kimi K3 Model Library
Modal Shared Endpoints 官方文件
Modal Endpoints 與 Proxy Token 文件
Modal Budgets 文件
如果想先釐清 MCP、Skill 與 CLI 的分工,可以參考AI 工具名詞全解析:一次搞懂 MCP、Skill 與 CLI 的差異與應用場景。如果想看另一種 ChatGPT、MCP 與 Codex 的分工方式,也可以延伸閱讀我把 ChatGPT 接上自己的開發台 MCP,AI Coding 開始變成一條「軟體開發流水線」。