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

Python 以外嘅 AI Agent 世界:Java/Go/Rust 三框架入門實戰(entries: Spring AI AgentX, HarnessClaw, Awaken)💡

Java 陣營:Spring AI AgentX——企業級 Agent 嘅 Harness Engineering

Spring AI AgentX 係一個基於 Spring AI 同 Reactor 構建嘅 Java Agent 框架,由中國開發者 bigchuidw3 開源。佢嘅核心哲學叫「Harness Engineering」——大模型係引擎,框架係底盤。呢個概念借鏡自 Claude Code 嘅架構:框架唔限制你用邊個模型,但模型以外嘅嘢——工具調度、分層記憶、執行控制、Human-in-the-Loop——全部由框架統一提供。Java 開發者只需要關注業務邏輯同模型選型。

AgentX 提供咗一個完整嘅 ReAct 執行引擎,支援同步 call 同 streaming(基於 Reactor Flux),仲有統一工具調度層,原生食到 Function Calling 同 MCP。最實用嘅係佢嘅分層記憶體系:短期記憶、用戶畫像、長期記憶(RAG)三層結構,俾你做到多粒度上下文管理。對於要寫 enterprise agent 嘅 Java 團隊來講,呢個框架最大嘅價值係佢嘅 typing system——Java 嘅強型別令到 tool definition 同 structured output 嘅開發體驗遠好過 Python 嘅 Pydantic 補丁式方案。

Go 陣營:HarnessClaw——輕量級嘅 LLM Programming Assistant Engine

HarnessClaw 係一個用 Go 寫嘅 LLM programming assistant engine,定位好清晰:做一個 lightweight、self-hosted、有 WebSocket 原生支援嘅 coding agent 引擎。我見到好多團隊想自己 host 一個 AI coding assistant,但現有方案唔係綁死 cloud 就係權限管理太粗糙,HarnessClaw 就係針對呢個 gap 而生。

佢嘅核心係一個 5-Phase Query Loop:Preprocessing(Auto-compaction)→ LLM Streaming Call → Error Recovery(Exponential Backoff)→ Tool Execution(Parallel/Serial)→ Continuation Check。呢個 loop 嘅設計反映咗一個現實——production 嘅 agent 唔係「問一句答一句」,而係要不斷自我修正、壓縮上下文、重試。另外佢嘅 6-Step Permission Pipeline 好值得留意:DenyRule → ToolCheckPerm → BypassMode → AlwaysAllowRule → ReadOnlyAutoAllow → ModeDefault,六個權限層級俾你做到 fine-grained 嘅 tool access control。對於要俾成個團隊用嘅 coding agent,呢個設計直接解決咗「點樣安全地 expose shell tool 俾非技術同事」嘅頭痛問題。

Rust 陣營:Awaken——Production-Grade 嘅 Agent Backend

如果話 Java 嘅 AgentX 係為 enterprise 而設、Go 嘅 HarnessClaw 係為輕量 coding assistant 而設,咁 Rust 嘅 Awaken 就係為真正嘅 production agent backend 而設。Awaken 由 AwakenWorks 開發,架構上分成三層:awaken-runtime-contract(合約定義)、awaken-runtime(執行引擎)、awaken-server(HTTP/SSE 閘道 + 協議配接器)。佢嘅 runtime 用一個 9-Phase Loop,每個 phase 讀取一個 immutable state snapshot,然後回傳 typed mutation batch,由 commit coordinator 原子性寫入——呢個設計保證咗唔會有 partial write 或者 race condition。

Awaken 最令我眼前一亮嘅係佢嘅 multi-protocol 設計:一個 backend 同時 serve AI SDK v6、AG-UI / CopilotKit、A2A(Agent-to-Agent)、MCP、同 ACP——全部係 adapter over 同一個 runtime event stream。即係你可以用 React useChat() 駁落去、可以同其他 agent 溝通、可以透過 MCP 駁工具——而背後行緊同一個 agent loop。另外佢啲 config 係 live tuning 嘅:operator 可以透過 Admin Console 即時改 prompt、model、permission、skill,唔使 rebuild binary。呢種 separation of concerns——Rust code 管 capability,config 管 behavior——正正係 production 級 agent 需要嘅架構彈性。

點樣揀?

Python 仍然係 prototyping 同 data science workflow 嘅首選,呢點好難撼動。但如果你嘅 agent 要行落 production,要應付高並發、低延遲、或者要嵌入現有嘅 Java/Go/Rust 基建,呢三個框架提供咗 concrete 嘅替代路徑:

  • 你嘅 infra 已經係 Spring 生態 → Spring AI AgentX,Harness Engineering 理念令 Java 團隊可以快速上手,唔使重新學一套架構。
  • 你需要 self-hosted coding assistant,要 lightweight 又要 permission control → HarnessClaw,Go binary 嘅 resource footprint 同 WebSocket 原生支援係最大賣點。
  • 你緊要 production-grade 嘅 agent backend,要 multi-protocol、live config、同 compile-time safety → Awaken,佢嘅 architecture 係三個之中最嚴謹嘅。

仲有一個 hidden benefit:用呢啲框架意味住你嘅 agent 唔會綁死在 Python 生態嘅 dependency hell 入面。當你試過一次 pip install 完之後 dependency conflict 搞到成個 environment 爛咗,你就會明 point 喺邊。