私の旅―信頼性が高く、楽しめるローカルホスト型音声アシスタントへ(2025)

2026/03/16 22:09

私の旅―信頼性が高く、楽しめるローカルホスト型音声アシスタントへ(2025)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Home Assistantは、従来のGoogle‑Home/Nest Miniセットアップを置き換える完全にローカルな音声アシスタントを、llama.cppによって駆動させることができるようになりました。テストでは、RTX 3050からRTX 3090まで、またRX 7900XTXのGPUを使用すると、1〜2 秒の音声→テキストレイテンシー(中程度のカードでは約3〜4 秒)が得られます。音声ハードウェアにはHA Voice Preview Satellite、Pixel 7a hub、およびUSB4 eGPU付きBeelink MiniPCが含まれています。ASRオプションとしてはWyoming ONNXがCPU推論で約0.3 秒を実現し、Rhasspy Faster Whisperは遅いです。テストされたTTSエンジンはKokoro(ミックス可能な音声、全テキスト)とCPU上のPiper(一般的なテキストには良好だが数字や住所では苦戦します)。

ローカルLLM統合により、「LLM Conversation」モードとツール呼び出し用「LLM Intents」が追加され、ウェブ検索・場所検索・天気予報などを可能にします。カスタムウェイクワードトレーニング(“Hey Robot”)はGPUで約30 分実行され、許容できる誤検出率が得られました。自動化では、トリガーされていないときにミュートになるよう設定できます。例として「Music Shortcut」自動化は衛星を

media_player
にマッピングし、
music_assistant.play_media
を呼び出します。

プロンプトエンジニアリングが重要です:各サービス用の専用セクションと簡潔な箇条書き指示でツール呼び出しが改善されます。絵文字の削除は精度向上に寄与します。llama.cppによるパフォーマンス最適化と慎重なGPU選択により、レイテンシーを3 秒以下に保ち、プライバシーファーストのローカル音声制御として信頼性があります。著者は、このソリューションには相当な研究・忍耐・チューニングが必要であると警告し、高度なHome Assistantユーザーやカスタマイズ性・クラウドフリーを求める開発者に最適であると述べています。

本文

私はしばらくの間、Home Assistant の「Assist」の進化を追ってきました。
以前は Nest Mini で Google Home を使っていましたが、現在は local‑first + llama.cpp(旧 Ollama)に基づく完全ローカル型アシストへ切り替えています。
この記事では、今日の状況に至るまでに行った手順、選択した決定、およびそれらが私のユースケースに最適だった理由を共有します。


追加改善へのリンク

  • セキュリティカメラのインサイト / 分析
  • YouTube 動画検索とテレビでの再生

新機能

不要な HA/LLM の振る舞い修正

  • デフォルトの
    HassGetWeather
    インテントを上書きし、天気情報を一貫した出力に
  • 曖昧なリクエスト/誤ったアクティベーションへの対応改善
  • 明らかな音声認識ミスを自動で処理
  • プロンプトを最適化して冗長性とトークン使用量を削減

パフォーマンスの最適化

  • llama.cpp のパフォーマンスチューニング

ハードウェア詳細

RTX 3050 から RTX 3090 まで、さまざまなハードウェアをテストしました。
ほとんどのモダンディスクリート GPU はローカルアシストに有効であり、性能と速度への期待次第です。

HomeAssistant ホスト

デバイススペック(重要ではない)
UnRaid NAS

音声ハードウェア

  1. HA Voice Preview Satellite
  2. Satellite1 Small Squircle Enclosures
  3. Pixel 7a をサテライト/ハブとして View Assist と併用

音声サーバー ハードウェア

  • Beelink MiniPC(USB‑4 搭載、モデルは USB‑4 があれば可)
  • USB‑4 eGPU エンクロージャ

テスト済み GPU

GPUモデルクラスプロンプトキャッシュ後の応答時間備考
RTX 3090 24GB20B–30B MoE, 9B Dense1–2 s最適モデルを効率的に高速実行
RX 7900XTX 24GB20B–30B MoE, 9B Dense1–2 s上記と同様
RTX 5060Ti 16GB20B MoE, 9B Dense1.5–3 s< 3 s の応答に十分
RX 9060XT 16GB20B MoE, 9B Dense1.5–4 s< 4 s の応答に十分
RTX 3050 8GB4B Dense3 s小規模モデル向け、基本機能で十分

テスト済みモデル

以下の全てのモデルは基本的なツール呼び出しに適しています。
高度な機能は、期待する挙動を安定して再現できるモデル品質とともに示します。

  1. 「ファンをオンにしてライトをオフに」などのコマンドを処理
  2. 特定エリア内にいる場合、「どのライト?」と尋ねず、複数ある場合のみ正しく質問
  3. 「pan をオンに」と誤認された指示も正確に実行
  4. 意図したコマンドであっても不要入力を無視し、ミス音声で影響されない

音声サーバー ソフトウェア

モデルランナー: llama.cpp が最適パフォーマンスを提供します。

スピーチ・トゥ・テキスト(Voice In)

ソフトウェアモデル備考
Wyoming ONNX ASRNvidia Parakeet V2OpenVINO ブランチで実行し、CPU 推論時間を約0.3 s に最適化
Rhasspy Faster WhisperNvidia Parakeet V2ONNX CPU 直接走らせるため遅く、OpenVINO より劣る

テキスト・トゥ・スピーチ(Voice Out)

ソフトウェア備考
Kokoro TTS複数の声やトーンを混ぜ合わせられ、すべてのテキストに対応
Piper (CPU)多様な音声が利用可能だが、通貨・電話番号・住所などで苦戦

Home Assistant LLM 統合

  • LLM Conversation – Assist のデフォルト体験を向上させる会話拡張
  • LLM Intents – Assist に追加ツール(Web Search、Place Search、Weather Forecast)を提供

旅路

この記事を書いた目的は、自分のセットアップを「正しい方法」と主張することではありません。プロセスで多くを学び、その知見が他者に期待と落とし穴を予測させる手助けになるかもしれないと考えたからです。

問題点

過去1〜2年で、Nest Mini 上の Google Assistant が徐々に機能低下していることに気付きました。新機能はほぼなく、よく「すみません、その件には対応できません」や「知りませんが、XYZ ソースによるとこうです」と答えるようになりました。また、オンラインマイクロフォンのプライバシー懸念や AWS 停止時に外部サービスに頼らざるを得ない点も大きな不満でした。

始め方

最初は Ollama の組み込みモデルで実験しました。数週間ごとに Ollama を HA に接続し、Assist を起動して試したのですが、結果はほぼ期待外れ。基本的なツール呼び出しも機能しませんでした。デフォルトの :4b モデルは低量子化(Q4_K)で問題を引き起こすことが判明。HuggingFace の高量子化 GGUF モデルに切り替えると、ツール呼び出しが大幅に改善しました。

音声テスト

基盤が機能するようになったら、HA Voice Preview Edition を注文してエンドツーエンドのパフォーマンスを確認。初期の Wi‑Fi 受信問題で音声が途切れたり単語途中で停止したりしました。Piper をストリーミングモードに切り替え、専用 IoT ネットワークを構築するとこれらの問題は解消されました。

Assist を有効活用

Assist に求める機能は次のとおりです:

  • 日時別・週間天気予報
  • 特定店舗の営業時間照会
  • 任意質問への一般知識検索
  • 音声のみで音楽を検索再生

llm-intents 統合がこれらサービスを多く提供します。設定後、初期結果は平均的でしたので LLM プロンプトを洗練させました。

LLM プロンプトの重要性

良いプロンプトは不可欠です。デフォルト HA プロンプトは十分な指示が不足しています。ChatGPT に現在のプロンプトと期待する挙動を入力し、反復的に改善しました。結果、一貫した応答が得られました。

主な手法:

  • 各サービスごとに専用セクションを設け、箇条書きで詳細・指示を列挙
  • 余計なコメントを排除するための明確なフォーマット指示(例:「いい天気の日です!」など)
  • 特定質問タイプには必ず正しいツールを呼び出すよう指示
  • 不要な絵文字を抑制するセクション

手動で解決した問題

LLM は自然に検索や音楽再生ができますが、直接 LLM にアクセスできない場合は自動化が有効です。例として次の YAML を示します。

alias: Music Shortcut
description: ""
triggers:
  - trigger: conversation
    command:
      - Play {music}
    id: play
  - trigger: conversation
    command: Stop playing
    id: stop
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - play
        sequence:
          - action: music_assistant.play_media
            metadata: {}
            data:
              media_id: "{{ trigger.slots.music }}"
            target:
              entity_id: "{{ target_player }}"
          - set_conversation_response: Playing {{ trigger.slots.music }}
      - conditions:
          - condition: trigger
            id:
              - stop
        sequence:
          - action: media_player.media_stop
            metadata: {}
            data: {}
            target:
              entity_id: "{{ target_player }}"
          - set_conversation_response: Stopped playing music.
variables:
  satellite_player_map: |
    {{
      {
        "assist_satellite.home_assistant_voice_xyz123": "media_player.my_desired_speaker",
      }
    }}
  target_player: |
    {{
      satellite_player_map.get(trigger.satellite_id, "media_player.default_speaker")
    }}
mode: single

カスタムウェイクワードの学習

既定のウェイクワードは不十分でした。私は「Hey Robot」を選択し、Microwake リポジトリを使ってカスタムマイクロウェイクワードを学習させました。GPU で約30分で完了。結果は良好で、Google Home と同程度の誤検知率です。


最終成果

このセットアップは一般的な Home Assistant ユーザー向けではありません。忍耐力・調査・トラブルシューティングが必要ですが、ローカル音声アシスタントとしてプライバシーリスクゼロで信頼できるコアタスクを提供します。ご質問があれば遠慮なくどうぞ!

同じ日のほかのニュース

一覧に戻る →

2026/03/17 5:59

MistralがLeanstralをリリース --- (※「Leanstral」はそのまま固有名詞として扱います。)

## Japanese Translation: --- ## Summary Leanstral は **Lean 4 専用に設計された最初のオープンソースコードエージェント** であり、Apache 2.0 ライセンスの下でリリースされ、重みファイルをダウンロードできるほか、一時的な無料 API エンドポイント(`labs-leanstral-2603`)と公開された技術レポートがあります。 このモデルは **証明工学タスクに最適化された非常にスパースな 6 B‑パラメータアーキテクチャ** を採用し、Lean を完璧な検証器として活用した並列推論を実現しています。モデルは **lean‑lsp‑mcp データセット** 上で訓練されており、Mistral Vibe 経由で任意の Model‑Composed Pipelines(MCP)をサポートします。 **FLTEval** で評価すると—FLT プロジェクトにおける形式的証明の完了と新概念の定義をベンチマークし、単独の数学問題ではなく実際のタスクを測定する—Leanstral‑120B‑A6B は **pass@2 スコア 26.3 と pass@4 スコア 29.3** を達成し、GLM5‑744B‑A40B(≈16–20)や Kimi‑K2.5‑1T‑32B よりも優れた性能を示しています。Claude 系列モデルと比較すると、Leanstral は **$36 で pass@2 スコア 26.3** を達成し、Sonnet の $549(スコア 23.7)に対して同等の性能です。また **pass@16 スコア 31.9 が $531** で得られ、Sonnet の $8,031.9 と比較しても大幅に低価格です。Claude Opus 4.6 モデルは依然として最高品質ですが、$1,650 という価格は Leanstral の同等スコア時の費用の約 90 倍以上になります。 実際のケーススタディでは、その実用性が示されています: * Lean 4.29.0‑rc6 の破壊的変更を診断し、`def` と `abbrev` 間の定義等価性問題を特定して正しい修正案を提示し、ユーザーに説明しました。 * Princeton の CS 441 コースから Rocq 定義を Lean に変換し、カスタム記法を扱い、証明が提供されていないプロパティも自動で証明しました。 Leanstral は **Mistral Vibe** に統合されており、ユーザーは `/leanstall` エンドポイントを呼び出してゼロセットアップのコーディングと証明を行えます。一時的な API エンドポイント(`labs-leanstral-2603`)はフィードバックと観測データ収集のために利用可能です。ユーザーはモデル重みをダウンロードし、Leanstral をローカルで実行したり、Mistral Vibe にサインアップして完全なドキュメントへアクセスすることもできます。 この軽量かつコスト効果の高いツールは、開発者や研究者が形式的検証ワークフローを加速させるために活用でき、コミュニティへの貢献と学術界および産業界での広範な採用を促進します。

2026/03/17 3:12

Meta、jemallocへの再挑戦を強化

## Japanese Translation: ``` ## Summary Meta は、Linux カーネルや Meta のインフラストラクチャ内のコンパイラなど重要なコンポーネントを動かす高性能メモリアロケータである jemalloc に注力することを決定しました。この移行は長期的なメリットに基づいており、保守コストの削減、コードベースの近代化、および進捗を遅らせていた技術的負債の排除が目的です。今回の取り組みの一環として、オリジナルのオープンソース jemalloc リポジトリはアーカイブから外されました。 主な改善領域は以下の通りです: - **技術的負債削減** – 効率と信頼性を向上させるためにクリーンアップとリファクタリングを実施。 - **Huge‑Page Allocator (HPA)** – CPU の効率化を図るためにトランスペアレントヒュージページ(THP)の使用を改善。 - **メモリ効率** – パッキング、キャッシュ、およびパージング機構の最適化。 - **AArch64 最適化** – ARM64 プラットフォームでのアウト・オブ・ザ・ボックス性能を確保。 Meta はオープンソースコミュニティに貢献を呼びかけ、jemalloc の将来ロードマップを共に形作ることによって、Meta 自身のソフトウェアユーザーとこのアロケータに依存する広範なエコシステム双方に利益をもたらすよう促しています。 ```

2026/03/17 2:17

小さなWebは、あなたが考えているよりもずっと大きいものです。

## 日本語訳: **概要** 本文は、**「小さなウェブ」― 通常のブラウザとサーバーでアクセスできる非営利・個人向けサイトが依然として膨大かつ活発だが、1 ページだけでまとめるにはあまりにも大きい」という事実を説明しています。** - **背景**:Gemini プロトコルは世界中に約 6,000 のカプセル(capsule)という独自のエコシステムを持ち、そのフォーラムには主に IT 専門家で構成される約 100 名が参加し、商業的利用は推奨していません。 - **手法**:著者は Kagi が公開する更新フィードを配信しているサイトのリストを使用しました。このリストは昨年の約 6,000 件から今日では約 32,000 件に増加し、多くはプライベートブログや企業がホストするサイト(例:Blogger)です。 - **フィルタリングプロセス** 1. 各フィードをダウンロードし、タイムスタンプと有効な XML があることを確認した結果、約 25,000 サイトに絞られました。 2. 月間更新が 1 回未満のサイトを除外すると、約 9,000 のアクティブサイトが残ります。 - **結果**:3 月 15 日時点でこれら 9,000 サイトは 1,251 件の更新(主に新しいコンテンツ追加)を生成し、過去の日付とほぼ同程度です。毎日の更新量を見ると、単一ページの集約は非実用的であり、小さなウェブはその規模と活発さからそのような表示には不向きです。 - **結論**:サイズが大きいにも関わらず、小さなウェブは成長を続け、主流プラットフォームに対する広告なしの代替手段として機能します。 - **行動喚起**:著者は読者に対し、このページへの参照 URL を含む Webmention を送信してもらい、継続的な関与を促しています。