找回密碼
 立即註冊
    查看: 164|回覆: 0

    讓 AI 講的是你家真實的數字:把資料正確送進 prompt 的四種做法

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-25 01:46:27 | 顯示全部樓層 |閱讀模式
    先做一個三十秒的測試。

    到 設定 → 工具 → Assist(或右上角的對話圖示),打字問你家的 AI 助理:「我昨天用了多少電?」

    它很可能會給你一個非常具體的數字,例如「大約 12.4 度」。那個數字是編的。 因為你從來沒有把用電資料送給它 —— 它手上只有你暴露給它的那幾個實體的目前狀態,沒有昨天,也沒有任何歷史。

    這篇處理的就是這件事:怎麼把你家真正的數字,真的送進去。

    送進去之後,同樣的問題會得到一個正確的答案,而且你可以驗證它是不是正確的。

    ---

    先分清楚 AI 在 Home Assistant 裡的四種用法

    先分清楚 AI 在 Home Assistant 裡的四種用法

    這張表只是讓你確認自己在哪一格,看完就可以往下:


    • 當語音助理的大腦 —— 你講話,它理解並執行。設定在「設定 → 語音助理」的對話代理那一格
    • 當自動化裡的一個動作 —— 自動化跑到一半丟一個問題給 AI,拿答案繼續做。用的是 `ai_task.generate_data`
    • 看畫面 —— 把攝影機快照送給 AI 問「這是什麼」。也是 `ai_task`,只是多帶一個附件
    • 當你的開發助手 —— 你在網頁版 AI 問怎麼寫 YAML。這一種根本不在 HA 裡面,也不花 API 的錢


    這篇服務的是第二種和第三種,因為只有那兩種「AI 拿到的資料」是你自己決定的 —— 第一種由 HA 自動組裝,第四種你是用複製貼上餵它。

    這篇做完你會有什麼


    • 一顆每天早上自己更新的「家庭簡報」感測器,內容是根據真實數據寫的
    • 四種把資料送進 prompt 的做法,知道各自什麼時候該用
    • 一個可以驗證「資料到底有沒有送進去」的方法,不靠猜


    ---

    步驟 1:確認 AI Task 真的能用

    1-1 看版本

    設定 → 系統 → 一般,最下面是版本號。本篇以 2026.9 為準。


    • 2025.8 以上 → 全部內容都能做
    • 2025.7 → `ai_task.generate_data` 有,但附件(步驟 5)要更新才有
    • 2025.7 以下 → AI Task 還不存在,先更新


    1-2 確認你有一個 AI Task 實體

    設定 → 裝置與服務,找到你的 AI 整合(OpenAI、Anthropic、Google Generative AI、Ollama 都可以)。

    ⚠ 這裡是第一個大坑:裝了整合不等於有 AI Task。同一個整合底下的「對話」與「AI 任務」是兩個要分別新增的子項目。

    在整合卡片上按新增子項目,選 AI Task。

    你會看到整合卡片上的服務數量加一,而且實體清單裡多出一個 `ai_task.` 開頭的實體。

    確認的指令:到 設定 → 工具 → 狀態(2026.8 起「開發者工具」改叫「工具」,而且從側邊欄搬進了設定底下;按 Ctrl+K 直接搜尋最快),在篩選欄打 `ai_task`。


    • 列出一個 `ai_task.xxx` → 對了
    • 什麼都沒有 → 你只建了對話子項目。回上一步新增 AI Task


    1-3 把它設成預設

    設定 → 系統 → AI 任務,把剛剛那個實體設成偏好的實體。

    設好之後,自動化裡的 `ai_task.generate_data` 就可以不用寫 `entity_id`,省掉每一個自動化都要指定的麻煩,換 AI 供應商時也只要改這一個地方。

    1-4 先手動跑一次

    設定 → 工具 → 執行動作,右上角切到 YAML 模式,貼上:
    1. action: ai_task.generate_data
    2. data:
    3.   task_name: smoke test
    4.   instructions: 請用繁體中文回答,只回三個字:測試成功
    複製代碼

    按執行動作。

    你會看到底下出現回應:
    1. data: 測試成功
    2. conversation_id: 01JB7X9K4M2N5P8Q...
    複製代碼


    • 回「沒有偏好的 AI 任務實體」 → 1-3 沒做完
    • 回一段 401 / 429 的錯誤 → API 金鑰沒錢或無效。到供應商後台儲值
    • 回的是英文 → 正常。模型沒被要求用中文時會照自己的習慣。步驟 6 的完整範例會在 instructions 裡明講


    這一步過了,後面所有東西才有意義。

    ---

    步驟 2:做法一 —— 把目前狀態直接寫進 instructions

    最簡單也最常用。`instructions` 這個欄位支援模板,所以你可以直接把感測器的值插進去。

    2-1 先找出你要用的實體 ID

    設定 → 工具 → 狀態,在篩選欄打關鍵字(例如 `temperature`)。左邊那一欄就是實體 ID。

    ⚠ 實體 ID 一律用英文。建立實體時如果名稱寫中文,HA 會把它音譯成拼音(「客廳溫度」會變成 `sensor.ke_ting_wen_du`),文章裡照抄中文會指到一個不存在的實體,而且不會報錯,只會安靜地給你空值。建好之後到實體設定裡把 ID 改成英文(2026.8 起可以直接在實體的設定頁改)。

    2-2 在「工具 → 範本」裡先把要送的字串組出來

    這一步不要跳過。設定 → 工具 → 範本,把左邊清空,貼上:

    以下還有約 80% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 00:35 , Processed in 0.137131 second(s), 25 queries .

    快速回覆 返回頂部 返回列表