三只貓
Rich Mindset Zone
richmindsetzone.com
← All posts

Docker-compose for AI agents:Model Compose 同 Strands SDK 嘅標準化之爭

我哋正處於一個 infrastructure 標準化嘅歷史性時刻。2013 年 Docker 出現之前,每個團隊都要自己寫 deployment script、自己管理 container runtime、自己解決環境不一致問題。今日嘅 AI agent 開發,正正重複緊同一條路。每個 provider 有自己嘅 SDK、自己嘅 agent 定義方式、自己嘅 tool calling 機制。開發者要同時精通 OpenAI、Anthropic、Google 三個平台,先可以砌到一個簡單嘅 multi-agent workflow。Model Compose 同 Strands SDK 就係喺呢個混亂入面冒出來嘅標準化嘗試。佢哋嘅共同目標係做 AI agent 嘅 Docker Compose——一個 declare 你嘅 agent topology、tool binding、model routing 嘅 infrastructure layer。但兩者嘅設計哲學截然不同,背後嘅 strategy 亦反映出各自母公司對 AI ecosystem 嘅判斷。

歷史循環:Infrastructure 標準化嘅三幕劇

每一個 infrastructure 層嘅標準化,都經歷三個階段。第一階段係「百花齊放」:每間公司都有自己嘅解決方案,各自為政,開發者要學大量 boilerplate 先可以做到跨平台開發。第二階段係「抽象層出現」:有人將 common pattern 抽出來,做一個薄薄嘅 wrapper,減少重複勞動。第三階段係「標準確立」:某個抽象層贏得 community 信任,成為事實標準,所有人都跟佢嘅 convention。Container 世界嘅 Docker Compose 就係第三階段嘅產物。佢冇發明任何新技術,只係將 docker run 嘅參數、network config、volume mount 寫成一個 declarative YAML file。就係咁簡單嘅概念,解決咗「點樣同 team member 分享 container 配置」呢個根本問題。

AI agent 開發今日正正處於第一階段尾聲、第二階段初期。每一個 framework——LangChain、CrewAI、AutoGen、Semantic Kernel——都有自己嘅 agent 定義方式,互不兼容。開發者要喺幾個 framework 之間跳來跳去,先做到真正跨 provider 嘅 workflow。Model Compose 同 Strands SDK 嘅出現,代表緊一個更底層嘅抽象。佢哋唔係另一個 framework,而係 infrastructure layer 嘅標準協定。呢個 timing 好關鍵:如果等到 ecosystem 已經定型先出手,就會好似 Mesos 對 Kubernetes 咁,技術再好都追唔上 momentum。

Model Compose:Google 嘅 infrastructure play

Model Compose 嘅設計哲學好明顯受 Google 內部 infrastructure 文化影響。佢將 agent workflow 定義為一個可組合嘅 DAG(Directed Acyclic Graph),每個 node 係一個 model call 或者 tool execution,edge 係 data flow。呢種設計同 Google 嘅 Borg 同 Kubernetes 一脈相承——你 declare desired state,system 幫你 reconcile。最關鍵嘅係 Model Compose 嘅 schema-first approach。佢用 protobuf 同 YAML 定義 agent 嘅 topology,而唔係用 code。呢個決定好有意思:code 係 imperative 嘅,YAML 係 declarative 嘅。Declarative 嘅好處係 platform-agnostic——你可以用任何語言嘅 client 來 parse 同執行同一個 workflow definition。呢個正正係 Docker Compose 成功嘅關鍵:一個 docker-compose.yml 可以由 Python、Go、Java 嘅 tooling 共同操作。

但 Model Compose 有一個致命弱點:佢係 Google 出品。唔係話 Google 嘅技術唔好,而係 AI 生態圈對 Google 有深層次嘅 distrust。OpenAI 嘅 developer mindshare、Anthropic 嘅 safety narrative、Meta 嘅 open source 信譽,全部都比 Google 強。Google 喺 AI 嘅 developer ecosystem 一向做得麻麻——TensorFlow 被 PyTorch 反超、Flutter 開發者體驗一直被詬病、Google Cloud 嘅 AI 產品永遠慢半拍。如果 Model Compose 淨係行到 GKE 或者 Vertex AI 上面先 full-featured,咁佢永遠做唔到 neutral orchestrator 嘅角色。技術上佢可能係最好嘅設計,但 adoption 會受到 vendor trust 嘅嚴重限制。

Strands SDK:Developer experience 嘅勝利

Strands SDK(前身係 Vercel AI SDK)行嘅係完全相反嘅路線。佢唔係 schema-first,而係 code-first。你用 TypeScript 直接 define agent、tool、workflow,IDE 有 autocomplete,type checking 喺 compile time 做晒。呢種 developer experience 對前端同全棧開發者嚟講極之自然。Strands 嘅 core insight 係:AI agent 嘅複雜唔係嚟自 topology,而係嚟自 type safety。當你嘅 tool 有 20 個參數、output 係一個複雜嘅 JSON schema,你最大嘅痛點係確保 model call 嘅 input/output 同你嘅 code 一致。Strands 用 TypeScript generics 做呢個 type bridge,讓開發者可以喺 agent 同 code 之間安全傳遞數據,唔使 runtime 先發現型別錯誤。

更重要嘅係 Strands 嘅 ecosystem strategy。Vercel 好清楚自己嘅定位:佢哋唔係 AI 公司,而係 developer tool 公司。所以 Strands 對每個 provider 都一視同仁——OpenAI、Anthropic、Google、Mistral、Groq 全部有 first-class support。呢種 neutrality 喺 AI 嘅 platform war 入面係好值錢嘅資產。當每個 foundation model company 都想 lock-in developer,有一個 neutral orchestrator 就變成了剛需。Strands 嘅另一個優勢係佢嘅 adoption path:佢唔係一個 monolithic framework,而係一個個可以獨立使用嘅 library component。你可以先用佢嘅 streaming text completion,慢慢先加入 tool calling、agent、multi-agent workflow。呢種 incremental adoption 對 production system 嚟講係極之重要嘅。Model Compose 要你一開始就 commit 晒成個 DAG 語義,而 Strands 可以同你現有嘅 codebase 共存。喺 infrastructure adoption 嘅 game 入面,low friction 往往比 technical superiority 更重要。

香港開發者嘅行動點

對於香港嘅創業者同獨立開發者,呢場標準化之爭帶嚟三個具體機會。第一:唔好急揀邊個 framework,而係等 infrastructure layer 穩定。我哋重複緊 2014 年嘅 container 週期——當時揀咗 Docker Compose 嘅人贏晒,揀咗 Docker Swarm 或者 Mesos 嘅人最終要 migration。Model Compose 同 Strands 目前都太早期,strategic bet 嘅風險好高。建議你用一個薄薄嘅 abstraction layer 將 agent code 同 provider SDK 解耦,保留日後 migrate 嘅彈性。最簡單嘅做法係定義自己嘅 Tool interface 同 Agent interface,然後用 adapter pattern 分別 implement Model Compose 同 Strands 嘅版本。

第二:善用 Strands 做 rapid prototyping。TypeScript 加 Strands 嘅組合可以極快 iterate agent workflow,對早期 product validation 嚟講係最有效率嘅工具。等到 workflow 穩定咗,先考慮用 schema-first 嘅方式重新定義 topology,方便跨語言重用。香港好多 startup 做嘅係 cross-border 或者 multi-language 嘅 product,呢種「先 prototyping 後 standardize」嘅 workflow 特別適合我哋。第三:留意 Model Compose 嘅發展,尤其係 Google 會唔會將佢整合入 Vertex AI 或者 GKE。如果 Google 願意俾資源推,Model Compose 有潛力成為 enterprise 嘅 default choice——特別係喺 regulated industry 需要完整 audit trail 嘅場景。

最後一個 advice:唔好俾 framework 決定你嘅 architecture。無論 Model Compose 定 Strands,佢哋最終都係 tool。真正嘅價值係你嘅 agent workflow 設計——你點樣 decompose 問題、你點樣 design tool interface、你點樣 handle error 同 edge case。Standardisation 係好事,但標準化嘅係 syntax,唔係思維。喺呢個 infrastructure layer 未塵埃落定之前,保持彈性、保持學習、保持獨立判斷,呢個先係香港開發者最大嘅競爭優勢。