エージェントと自動化
最終更新
Home Assistantの朝のまとめ:センサー記録をローカルLLMの文で受け取る
まとめの質はモデルより、どの値を文に入れたかで決まります。
ローカルLLM1はリアルタイムのセンサー値を自分では読みません。そのため自動化がセンサーや予定の値から文を作り、conversation.processへ渡し、返ってきた答えを通知で送る形になります。どの値を入れ、失敗にどう備えるかを扱います。
モデルは今の家の状態を知らない
会話モデルは文に書かれたことだけを見ます。部屋が26度か19度か、窓が開いているかも自分では分かりません。要約を頼むときは、確認した値を文の中に書いて渡します。
Home Assistantのconversation.processはその文を指定した会話エージェントへ渡し、答えを返します。自動化ではその答えを変数で受け取り、通知の文に使えます。

文に入れる値を選ぶ
値は5つから8つで足ります。室内の温度・湿度、昨日の電力、開いているドアや窓、今日の最初の予定、空気の状態など、1日を判断するのに使う値だけを入れます。
数値には単位を付け、値のないセンサーは文から外します。空欄が残るとモデルがそこを推測し、的外れな文を作ります。
| 値 | どこから取るか | 注意 |
|---|---|---|
| 室内の温度・湿度 | 温湿度センサーのエンティティ | 単位を付けます |
| 昨日の電力使用量 | 電力センサーの累積値 | 合計か瞬間値かを区別します |
| 開いているドア・窓 | ドア・窓センサーの状態 | なければ文から外します |
| 今日の最初の予定 | カレンダーのエンティティ | 時刻と名前だけを入れます |
自動化につなぐ
トリガーは時刻です。家事が始まる7時などに合わせ、文を作る動作とconversation.processを順に入れます。答えが返ってきたら、その答えを通知で送ります。
文は短く保ちます。「次の値を見て、今日準備することを3文で教えて」のように指示と値を1段落にまとめると、形式がぶれにくくなります。

答えを短くする指示
会話エージェントの指示に文の数と形式を決めておきます。挨拶なし、3文、数値はそのまま繰り返す、箇条書きにしない、といった規則が通知に向いています。
指示が長いと最初の応答が遅れます。要約用の指示は会話用と分け、別のエージェントにしておくと管理しやすくなります。
失敗したときを決めておく
モデルサーバーが止まっている、または答えが空だと通知が届きません。条件を足し、答えがないときは「今日のまとめを作れませんでした。センサーの値を確認してください」のような既定の文を送ります。
1週間分の通知を集めると、どの値がよく欠けるか分かります。欠けるセンサーは文から外すか、代わりになるセンサーを探します。

用語の注釈
大規模言語モデル — 大量のテキストデータから言語パターンを学び、文脈に沿ったテキストを処理・生成するモデルです。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- ローカルLLMはリアルタイムのセンサー値を自分では読みません。そのため自動化がセンサーや予定の値から文を作り、conversation.processへ渡し、返ってきた答えを通知で送る形になります。どの値を入れ、失敗にどう備えるかを扱います。
