Hacker Newsが再注目した完全localなHome Assistant voice stack、llama.cppとprompt tuningで1〜2秒応答
Original: My Journey to a reliable and enjoyable locally hosted voice assistant (2025) View original →
lab demoではなく、実際に運用しているlocal-first voice stack
2026年3月16日、Hacker NewsではHome Assistant communityの詳細な構築記が310 points、92 commentsを集めた。このpostの価値は、local AIが可能だと言うだけで終わらず、どのcomponentをどう選び、実際にどの程度のlatencyが出たのかまでかなり具体的に書いている点にある。元のforum postは2025年10月27日に公開されたが、今回のHN discussionで再び広く共有された。
筆者はGoogle HomeやNest Miniから離れ、完全localなHome Assistant Assist構成へ移行した過程を説明している。voice serverはUSB4 eGPU enclosure付きのBeelink MiniPCで、GPUはRTX 3050からRTX 3090、RX 7900XTXまで試したという。掲載された表では、RTX 3090 24GBとRX 7900XTX 24GBで20B〜30B MoEまたは9B dense modelを1〜2秒のresponse timeで回せたとしており、RTX 5060Ti 16GBでも1.5〜3秒程度だった。これは単なる趣味の実験ではなく、家庭のvoice controlに使える現実的な速度だということを示している。
software stackも具体的だ。model runnerにはllama.cppを推奨し、speech-to-textではOpenVINO branchのWyoming ONNX ASRとNvidia Parakeet V2を組み合わせて約0.3秒のCPU inferenceを紹介している。text-to-speechはKokoro TTSとPiperを比較し、Home Assistant側ではLLM Conversationとllm-intentsを使う。ただし、post全体で最も重要な教訓はbase modelだけでは体験は良くならないという点だ。weather、place search、web search、music playbackのような頻出機能ごとにpromptへ専用sectionとexample outputを入れ、emojiや不要なおしゃべりを抑える追加のprompt tuningも必要だったと述べている。
さらに面白いのは、modelにすべてを任せるのではなく、必要なところではautomationを使っていることだ。music playbackは自然言語だけでは安定しなかったため、Play {music} のようなsentence triggerをMusic Assistantへ直接つないだ。wake wordも既定値ではなく Hey Robot を採用し、それ向けのmicroWakeWord modelを自前で学習している。privacyへの懸念とcloud outage回避が出発点だったが、結論はかなり実務的で、local setupのほうが主要タスクではより楽しく、よりreliableだったという。
このthreadがHNで刺さった理由は明確だ。local voice assistantはもう抽象的な理想論ではなく、commodity hardware、丁寧なprompt engineering、そして弱点をautomationで補う設計によって、再現可能なblueprintとして見え始めている。
Primary source: Home Assistant community post. Community discussion: Hacker News.
Related Articles
LocalLLaMAでこのthreadが伸びたのは、local agent 構成から別建ての音声パイプラインを一つ減らせる期待があるからだ。投稿では llama-server が Gemma-4 E2A と E4A で STT を扱えるようになったとされ、comment はすぐに Whisper や Voxtral との実用比較へ進んだ。
LocalLLaMAが反応したのは単なる音声デモではなかった。Qwen3-TTSをローカル実時間で動かし、llama.cppと単語単位アラインメントまで組み合わせた実装記録だった。
議論の焦点は「encoder-free」が実際のモデル構造で何を意味するのかに集まった。