OpenClawがSignalKと共にRaspberry Pi 5上で動作するようになりました。これにより、ボートのオーナーはTelegram経由で自船にテキストを送り、数秒でライブテレメトリ(遠隔測定データ)を受け取ることができます。この組み合わせはすぐに使い始められますが、いくつかの設定上の癖によってデーモンが停止したり、トークンクレジットを浪費したりすることがあります。
セーラーにとってPiベースのLLMが重要な理由
小型艇は、クラウドベースのAIサービスを利用するための帯域幅や予算が不足していることがよくあります。Raspberry Pi 5は、オープンソースのLLM駆動アシスタントであるOpenClawをホストするのに十分な計算能力を提供し、SignalKは海洋データ用の標準化されたAPIを提供します。これらを組み合わせることで、船を離れることなく「現在の速度は?」「水深はどのくらい?」といった質問に答えられる、低コストな船内チャットインターフェースを実現できます。
システムを機能させる要素
- OpenClawはローカルのモデルスタックを使用し、PiのOS上で直接動作します。
- SignalKはDockerコンテナ内で動作し、センサーの読み取り値をJSON形式で公開するREST (HTTP) APIを提供します。
- これら2つのプログラムは分離された状態を保ちます。OpenClawはSignalKのエンドポイントを呼び出しますが、SignalKがLLMの内部プロセスを見ることはありません。
通信は純粋なHTTPであるため、特別なネットワークのテクニックは必要ありません。単一のEthernetまたはWi-Fi接続があれば、ループを維持するのに十分です。
初めて構築する人が陥りやすい罠
gateway.modeを定義したままにする必要がある – OpenClawの設定には、デーモンにAPIをどのように公開するかを指示する
gateway.modeキーが含まれています。これを取り除くと、エラーも出さずにサービスが起動しなくなります。安全な修正方法は以下の通りです:openclaw config set gateway.mode local単位変換は自動ではない – SignalKは国際単位系(SI)に従います。速度はメートル毎秒(m/s)、水深はメートル(m)として届きます。LLMに対して「ノット」や「フィート」で尋ねると、生の数値をそのまま返してしまい、誤解を招く回答につながります。エージェントのプロンプトに変換ロジックを追加するか、ユーザーに返す前にJSONを後処理してください。
履歴データは別のプラグインである – デフォルトでは、OpenClawは最新のスナップショットしか見ることができません。「過去1時間で風は強まったか?」といった傾向について尋ねるには、SignalKのInfluxDB履歴プラグインが必要です。これをインストールして有効にし、履歴エンドポイントをエージェントに公開してください。
Raspberry Pi OSには
jqが含まれていない – 多くのチュートリアルでは、コマンドラインJSONプロセッサのjqが存在することを前提としています。Piのイメージには含まれていません。追加のパッケージをインストールするのではなく、OpenClaw自身に生のJSONを解析させてください。現代のLLMは、ほとんどのテレメトリクエリに対して、ネストされた構造を十分に処理できます。Ollamaプラグインを無効にしないこと – Ollamaはローカル言語モデルのランタイムを提供します。これをオフにするとモデルのバックエンドが遮断され、エージェントが回答を生成できなくなります。追加のツールを使用しない場合でも、プラグインは有効にしたままにしてください。
有用性を損なわずにトークン費用を削減する
言語モデルをローカルで実行していても、モデルがリクエストを処理するたびにトークンコストが発生します。私の使用量を約4分の1に削減した、2つの実用的な調整方法を紹介します。
ツールセットを絞り込む – OpenClawには、開発者向けツール一式(コード実行、ファイルブラウジングなど)が同梱されています。ボート関連のアシスタントには、実行時アクセスとファイルシステムへのアクセス以上のものはほとんど必要ありません。最小限のプロファイルに切り替えることで、不要なトークンの消費を抑えられます。
キャッシュ保持期間を延長する – 設定により、システムプロンプトと最近のコンテキストをメモリ内に長く保持できます。キャッシュが長ければ、Telegramのメッセージごとに同じ指示を再エンコードする必要がなくなり、各往復のトークンを節約できます。
静かなモニタリングを好むオーナー向けには、組み込みのcron機能を使用して、重要なセンサー(バッテリー電圧、水深アラーム)をスケジュールに従ってポーリングできます。エージェントは閾値を超えたときにのみTelegramアラートを送信するため、チャットチャンネルをクリーンに保てます。
メリットを受ける者、注意すべき者
- ボートのオーナーは、安価な船内対話型インターフェースを手に入れられます。サブスクリプション料金も、セルラーデータへの依存もありません。
- オープンソースのメンテナーは、制約のある環境下でOpenClawとSignalKの両方に負荷をかける実世界での展開を目にすることになり、そうでなければ隠れたままだったバグを露出させることができます。
- クラウドLLMプロバイダーは、ニッチな市場セグメントを失いますが、Piでは処理できない重量級の推論やマルチモーダル入力においては、依然として優位性を保持しています。
主なリスクは信頼性です。電源の瞬断やDockerのクラッシュにより、アシスタントが沈黙してしまう可能性があります。冗長化(2台目のPi、UPSバックアップ)によって問題は軽減されますが、コストが増加します。また、ユーザーはTelegramボットのトークンを保護する必要があります。トークンが漏洩すると、誰でも船のセンサーにクエリを投げられるようになってしまいます。
次に注目すべきこと
- モデルのアップデート – より新しく、より効率的な量子化モデルが登場するにつれ、それらはPiのARMコア上でより高速に動作し、レイテンシをさらに低減させます。
- SignalKの拡張機能 – AIS、レーダー、または気象予報用のコミュニティ構築プラグインをLLMに公開することで、対話の範囲を広げることが可能です。
- セキュリティの強化 – すでにSignalK-OpenClaw APIのエンドツーエンド暗号化を試行しているプロジェクトもあり、これは公海を航行するあらゆる船舶にとって賢明なステップです。
まとめ
SignalKを備えたRaspberry Pi 5にOpenClawをデプロイすることで、ささやかなボートをチャット対応プラットフォームへと変貌させることができます。ただし、その成功は、ゲートウェイモードの維持、単位変換の処理、履歴保存の有効化、そしてOllamaプラグインを稼働させ続けることができるかどうかにかかっています。トークン使用量を低く抑えるためにツールセットを絞り込み、キャッシュ保持期間を延長し、重要な事象が発生するまで沈黙を保つためにcronアラームを活用してください。その結果、完全に船内で動作する低コストでリアルタイムなテレメトリアシスタントが実現し、クラウドサービスのコストを負担することなく、セーラーにチャットボットの利便性を提供できるようになります。
