Needle 2 教學:手機也能跑本地 Agent

Needle 2 教學:手機也能跑本地 Agent

📌 本文重點

  • Needle 2:14MB、本地可跑的 Agent LLM
  • 在手機、Pi、穿戴裝置上做工具呼叫與自動化
  • 完全本地推理,低延遲且隱私友善
  • 適合智慧家居、語音助理、穿戴與教育機器人

用一句話講清楚:Needle 2 是一個只有 14MB、能在 200 美元以內設備上流暢跑的本地 Agent LLM,讓你在手機、樹莓派上直接做工具呼叫與智慧自動化,不用雲端大模型。

官網與原始介紹:
– 官方網站:https://cactuscompute.com/needle
– Hacker News 貼文:https://news.ycombinator.com/item?id=XXXX
– LocalLLaMA 討論:https://www.reddit.com/r/LocalLLaMA/comments/1vkqy66/needle_2_14mb_agentic_llm_for_phones_wearables/


核心功能:小,但有 Agent 能力

1. 超迷你體積:14MB 模型、28MB RAM 就能跑

Needle 2 是一個 約 45M 參數、2bit 量化壓縮的語言模型,整個模型打包成一個 14MB binary,推理時只吃約 28MB 記憶體。

💡 關鍵: Needle 2 只要約 28MB RAM 就能推理,讓「在 Pi 和手機上跑 Agent LLM」變成現實。

它基於 Cactus 提出的 Simple Attention Networks(簡化版注意力架構),犧牲部分模型規模,換來極低的計算量和能耗。實際效能:

  • Raspberry Pi 5:約 500 tokens/sec
  • VR 裝置(Meta Quest 3S / Apple Vision Pro):400–1500 tokens/sec
  • 約 200 美元等級手機(Samsung A 系列):300–700 tokens/sec

能做什麼行動?
– 先檢查你的設備是否有 至少 64MB RAM 可用(實務上 Pi 5 / Android 都足夠)。
– 決定要放在哪台機器當「本地腦袋」:家裡的 Raspberry Pi、舊 Android 手機、或一台廉價 mini PC。


2. Agent 能力:能理解指令、做工具呼叫

Needle 2 不是只會聊天,而是設計成 agentic LLM:

  • 能根據系統提示決定是否呼叫工具(API / 裝置控制)
  • 支援 結構化輸出(JSON 等),方便接到你的程式邏輯
  • 專門對「手機操作、智慧家居控制、機器人指令」這類任務做了優化

在工具呼叫和「手機裝置操作」基準測試上,Needle 2 的表現與 LFM2.5(230M 參數)和 Apple Foundation Model 等,接近甚至部分場景持平,但模型體積卻小了 5–70 倍。

💡 關鍵: Needle 2 在工具呼叫表現接近百兆參數等級模型,卻能以小 5–70 倍的體積在邊緣設備上運行。

能做什麼行動?
– 先想好 你要讓它控制什麼:燈光、家電、機器人、APP、自訂 API。
– 為每個動作做一個 簡單工具介面(HTTP endpoint、MQTT topic 或 Python function),預留給 Needle 2 來呼叫。


3. 完全本地:低延遲 + 隱私友善

Needle 2 最大的賣點不是「厲害」,而是夠小,才能真正放在邊緣設備:

  • 所有推理都在你自己的 Pi / 手機上跑
  • 不需要把語音、對話內容傳出去
  • 本地 TTS / ASR 加上 Needle 2,就能做 完全離線的語音助理

💡 關鍵: 結合本地 ASR/TTS 與 Needle 2,可以打造完全離線、資料不出機器的語音助理系統。

能做什麼行動?
– 對隱私敏感的場景(家裡、兒童教育、醫療輔助)優先考慮放 Needle 2,而不是雲端 API。
– 若你已用 Home Assistant 或其他 IoT 中樞,把 Needle 2 放在同一台機器上,就能做到「指令 → 本地推理 → 本地控制」。


適合誰用:4 個具體場景

1. 離線語音 / 文字助理

需求情境:露營、船上、地下室、或任何網路不穩的地方,你仍然想有 AI 助理幫忙查資料、整理備忘、操作裝置。

基本架構:
1. 麥克風 → ASR(語音轉文字)模型
2. 文字 → Needle 2 推理(決定要回話或呼叫工具)
3. 回覆文字 → TTS(文字轉語音)模型

TTS 可以參考 NVIDIA 在 Hugging Face 上開源的 Magpie TTS 系列:
– 介紹:https://huggingface.co/blog/nvidia/magpie-tts-multilingual-voice-agents
– 多語言、延遲低,適合作為本地語音回覆模組

能做什麼行動?
– 選一個輕量 ASR(可用 Whisper 小模型或其它 Tiny ASR),加上 Magpie TTS + Needle 2,在 Pi 5 上做一個「離線語音盒子」。
– 第一步先只做 文字模式:在 Pi 上跑 Needle 2 和簡單 web chat,再再加語音。


2. 智慧家居自動化中樞(搭配 Home Assistant)

需求情境:你希望可以自然說「我要看電影模式」,系統自己:關燈、開投影、拉窗簾,而不是自己寫一堆硬規則。

基本 workflow:
1. Home Assistant 收到語音或文字指令
2. 將指令丟給 Needle 2,並提供「目前設備狀態」的上下文
3. Needle 2 輸出一個 JSON:要執行哪些自動化(開燈、調亮度、設溫度)
4. Home Assistant 解析 JSON,執行對應動作

能做什麼行動?
– 在 Home Assistant 所在的機器(常見就是 Pi)上安裝 Needle 2,做一個 簡單 HTTP 服務,接收文字、回傳 JSON。
– 設計一個固定格式的 prompt,例如:「你只能輸出 JSON,包含 actions: [],每個 action 有 device_id 和 command」;這樣 Home Assistant 比較好接。


3. 穿戴式小助理(手錶、VR 裝置)

需求情境:在 VR / AR 裝置裡,要一個能即時協助你操作菜單、記錄備忘、提示下一步的輕量 AI。

Needle 2 在 Meta Quest 3S、Apple Vision Pro 上有 400–1500 tokens/sec 的速度,足夠做即時互動:

基本 workflow:
1. 系統在背景持續送「使用者現在在看什麼畫面、有哪些按鈕」給 Needle 2
2. 使用者說「幫我開上次的檔案」,Needle 2 根據 UI 狀態決定操作步驟
3. Needle 2 輸出一系列「點擊/選擇」指令,交給裝置 API 執行

能做什麼行動?
– 若你在做 VR 應用,先嘗試在裝置上跑 Needle 2 的 on-device 推理(官方有 binary 版本)。
– 先用「純文字模擬」:把 UI 狀態描述成文字給 Needle 2,看它能否產出正確的操作序列。


4. 教育 / DIY 機器人

需求情境:學生或 Maker 想做一台會說話、能理解「去拿紅色積木」這種指令的簡易機器人,但硬體預算有限。

基本設計:
1. 使用者下指令(語音或文字)
2. Needle 2 把自然語言轉成「機器人行為計畫」:走幾步、轉幾度、夾取哪個物體
3. 下游控制程式把計畫翻成馬達指令

能做什麼行動?
– 把 Needle 2 放在機器人主控板(Pi / Jetson / 廉價 SBC),透過 UART / I2C 控制下層微控制器。
– 先做「模擬模式」:給 Needle 2 一個簡化的世界(只有桌面、幾個物品),驗證它能否產出合理計畫,再接上真實硬體。


怎麼開始:從下載到跑出第一個回應


1. 下載模型:GitHub / Hugging Face

Needle 2 主入口:
– 官方頁面:https://cactuscompute.com/needle

通常會提供:
– 單一 binary 檔(約 14MB):內含模型權重與推理引擎
– 示例程式碼(Python / C / Android)

能做什麼行動?
– 在你的開發機(桌機或筆電)先下載並跑一次,確認能輸出文字,再移到 Raspberry Pi / Android。


2. 在 Raspberry Pi 上安裝與推理範例

以 Raspberry Pi 5 + Raspberry Pi OS 為例:

# 更新系統
sudo apt update && sudo apt upgrade -y

# 安裝基本工具
sudo apt install -y git python3 python3-pip

# 下載 Needle 2 binary(以官方提供連結為準)
wget https://cactuscompute.com/needle/needle2_pi5.bin -O needle2
chmod +x needle2

最簡單文字對話範例(假設 binary 支援 CLI 模式):

# 啟動互動模式
./needle2 --prompt "你是一個住在家裡的本地助理,回答使用者問題。"

若有 Python 綁定,可以像這樣:

from needle2 import Needle

agent = Needle(model_path="./needle2")

response = agent.generate(
    "幫我規劃一個今天晚上的家務待辦清單,用 JSON 格式輸出。"
)
print(response)

能做什麼行動?
– 先在 Pi 上跑出第一個文字回覆,再加入 HTTP server(Flask / FastAPI),讓其他設備可以丟請求給 Needle 2。


3. 在 Android 上運行 Needle 2

官方通常會提供 Android demo app 或 AAR 庫:

大致步驟:
1. 在 Android Studio 建立新專案
2. 引入 Needle 2 的 AAR 或 JNI 庫
3. 在 MainActivity 裡初始化模型

示意程式碼(概念):

class MainActivity : AppCompatActivity() {
    lateinit var needle: NeedleAgent

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        needle = NeedleAgent(this, modelPath = "needle2_android.bin")

        findViewById<Button>(R.id.sendBtn).setOnClickListener {
            val input = findViewById<EditText>(R.id.inputText).text.toString()
            val output = needle.generate(input)
            findViewById<TextView>(R.id.outputText).text = output
        }
    }
}

能做什麼行動?
– 先做一個「純文字聊天 app」,確認速度在你的 Android 上是能接受的,再加麥克風、TTS。對高階機種,可以往即時語音助理發展;對低價機種,先鎖定文字用途即可。


4. 與 IoT / Home Assistant / TTS / ASR 的整合路線

把 Needle 2 變成真正的「中樞」,你可以用以下路線:

  1. Needle 2 HTTP 服務(在 Pi / mini PC 上)
  2. 提供 /chat(純文字)
  3. 提供 /plan(輸出 JSON,給自動化用)

  4. Home Assistant / IoT 平台

  5. 建立自訂整合,將使用者指令送到 /plan
  6. 解析 JSON,執行對應燈光、插座、場景

  7. 語音層

  8. ASR:Whisper 小模型或其他輕量 ASR
  9. TTS:NVIDIA Magpie TTS(多語言、低延遲),或其他本地 TTS

能做什麼行動?
– 先完成「文字 → Needle 2 → JSON → Home Assistant」的閉環,自動化一個簡單場景(開燈 / 關燈)。
– 確認穩定後,再加語音層,最後再優化 prompt、加入安全限制(例如不允許某些危險指令)。


Needle 2 vs 其他輕量模型:怎麼選?

若你在考慮其它本地 LLM,下面表格可以幫你快速定位(僅示意,聚焦用途):

名稱 核心功能 免費方案 適合誰
Needle 2 14MB agent LLM,工具呼叫、IoT 開源權重 手機、Pi、穿戴、機器人
Ling-3.0-tiny 8B MoE,高效推理、多任務 開源權重 有 GPU / M 系列筆電的開發者
雲端 ChatGPT / Claude 大模型、通用對話與程式輔助 API / 訂閱 不在意隱私、重視效果的使用者

Ling-3.0-tiny 參考:https://www.reddit.com/r/LocalLLaMA/comments/1vkqwso/inclusionailing30tiny_8b_a13b_moe_hugging_face/

簡單判斷:
– 只有 Pi / 低價手機 → 用 Needle 2 當主力
– 有不錯 GPU / MacBook M 系列 → 可以用 Ling-3.0-tiny 做桌面助理,Needle 2 留給 IoT


收尾:下一步行動清單

如果你想現在就動手,建議照這個順序來:

  1. 去 https://cactuscompute.com/needle 下載 Needle 2,在桌機跑一次簡單對話
  2. 在 Raspberry Pi 5 上部署 Needle 2,做出一個最簡單的 HTTP /chat API
  3. 把家裡一個設備(例如客廳燈)接到 Home Assistant,用 Needle 2 產生 JSON 操作指令
  4. 若你有時間,再加上 ASR + Magpie TTS,讓整套系統能用語音控制

做到第 3 步,你就已經擁有一個「完全集中在家裡跑、本地決策的智慧家居 Agent」。之後要擴充,只是慢慢多接幾個工具而已。


🚀 你現在可以做的事

  • 立刻前往 Needle 官方頁面 下載 binary,先在桌機跑一個簡單對話測試
  • 在 Raspberry Pi 上部署 Needle 2,包一層簡單 HTTP /chat 或 /plan API 讓家中設備可呼叫
  • 選一個場景(客廳燈或一台機器人),實作「文字指令 → Needle 2 → JSON 計畫 → 實際動作」的完整閉環

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *