DEV Community

Nokka
Nokka

Posted on AI-assisted

ใช้ Local LLM สร้าง Home Assistant Automation, งานที่เคยยาก กลายเป็นแค่ยากน้อยลง

ใช้ Local LLM สร้าง Home Assistant Automation, งานที่เคยยาก กลายเป็นแค่ยากน้อยลง

มีบทความจาก XDA Developers ที่เล่าประสบการณ์จริง [1]ของนักเล่น homelab คนหนึ่งที่ลองใช้ local LLM ผ่าน llama.cpp เพื่อสร้าง Jinja2 template และ YAML สำหรับ automation ใน Home Assistant โดยเป้าหมายคือการตรวจวัดการใช้ไฟของเครื่องปรับอากาศผ่านปลั๊กอัจฉริยะ TP-Link Tapo แล้วประกาศผลผ่าน Amazon Echo Dot

ผลลัพธ์ที่ได้ไม่ใช่ "AI ทำทุกอย่างให้เสร็จ" แต่เป็นบทเรียนที่ตรงไปตรงมาว่า local LLM ช่วยอะไรได้จริง และช่วยอะไรไม่ได้

ลองกับ Qwen, ดูดีแต่พัง

ผู้เขียนเริ่มจาก Qwen ซึ่งให้ผลลัพธ์ที่ดูเรียบร้อย แต่เมื่อนำไปใช้จริงกลับพบว่าโค้ดมี field ที่ถูกแต่งขึ้นมา (fabricated fields) และ syntax bug หลายจุด เมื่อขอให้ Qwen แก้ไข กลับไม่สามารถแก้ข้อผิดพลาดที่รายงานได้

นี่เป็นกับดักที่พบบ่อยกับ LLM ในการเขียนโค้ดเฉพาะทางอย่าง Jinja2 template ของ Home Assistant ซึ่งมี field และ syntax ที่เฉพาะเจาะจง โมเดลที่ไม่ได้เห็นตัวอย่างมากพอจะ "เดา" field ที่ไม่มีอยู่จริงขึ้นมา

เปลี่ยนเป็น Gemma4-E4B, ดีขึ้นแต่ยังต้องแก้

ผู้เขียนจึงเปลี่ยนมาใช้ Gemma4-E4B ซึ่งให้ผลดีกว่าเล็กน้อย โดยเฉพาะการอธิบายสถานการณ์ last_changed ของอุปกรณ์และกรณีขอบต่าง ๆ ได้ถูกต้อง แต่โค้ดที่สร้างในรอบแรกก็ยังมี syntax bug และ field ที่แต่งขึ้นมาเช่นกัน ต้องวนแก้หลายรอบกว่าจะได้ template ที่ทำงานได้จริง

ปัญหาที่แท้จริงไม่ใช่โค้ด แต่เป็นตรรกะ

จุดที่น่าสนใจที่สุดของบทความคือ แม้สุดท้ายจะได้ automation ที่ทำงานได้ แต่ตรรกะของมันยังมีข้อบกพร่อง เพราะมันจะปลุกผู้ใช้ตอนกลางคืน ซึ่งเป็นเรื่องที่ผู้เขียนต้องออกแบบใหม่เองเป็นสอง automation แยกกัน

นี่คือข้อสรุปสำคัญ: local LLM ไม่ได้ทำให้ automation ที่ซับซ้อนกลายเป็นเรื่องง่าย [2] แต่ทำให้การ "เริ่มลงมือทำ" เป็นไปได้ โดยทำหน้าที่เป็นตัวแปลและตัวช่วยดีบักระหว่างไอเดียกับการลงมือเขียนจริง

บทเรียนสำหรับคนไทยที่เล่น Home Assistant

สำหรับผู้ใช้ Home Assistant ในไทย บทความนี้ให้บทเรียนที่นำไปใช้ได้จริง

ประการแรกคือ local LLM เหมาะกับงาน "เริ่มต้น" มากกว่างาน "จบ" เพราะมันช่วยร่าง template แรกและอธิบาย syntax ได้ แต่ผลลัพธ์ต้องตรวจสอบและแก้เองเสมอ

ประการที่สองคือการเลือกโมเดลมีผลจริง โมเดลที่เล็กกว่า (เช่น Gemma4-E4B) อาจให้ผลดีกว่าโมเดลใหญ่ในงานเฉพาะทางบางอย่าง ขึ้นอยู่กับข้อมูลที่โมเดลเห็นตอนเทรน

ประการที่สามคือการรัน local LLM ผ่าน llama.cpp บนเครื่องตัวเอง ทำให้ข้อมูลบ้านและ automation ไม่ต้องส่งออกไปยังคลาวด์ ซึ่งเป็นข้อดีด้านความเป็นส่วนตัวสำหรับผู้ที่กังวลเรื่องข้อมูล

แหล่งอ้างอิง

[1] XDA Developers, "I used a local LLM to generate Home Assistant Jinja2 templates, and complex automations stopped feeling impossible" (2026), https://www.xda-developers.com/home-assistant-jinja2-templates-automations-stopped-feeling-impossible/

[2] daily.dev, สรุปบทความ XDA เรื่อง local LLM กับ Home Assistant (2026), https://daily.dev/posts/i-used-a-local-llm-to-generate-home-assistant-jinja2-templates-and-complex-automations-stopped-feel-ygndcbtwk

Top comments (0)