النقاط الرئيسية
- هلوسة أتمتة المنزل = تشغيل جهاز خاطئ، أو حالة مقروءة بشكل خاطئ، أو الإشارة إلى كيان غير موجود — وليست حقيقة عامة مختلقة
- الحل الرئيسي: تقييد مخطط استدعاء الوظائف الخاص بالنموذج على قائمة الكيانات الفعلية والحالية لديك فقط
- تمرير حالة المستشعر/الجهاز الحالية مباشرة إلى الطلب، بدلًا من ترك النموذج يفترضها أو يتذكرها من وقت سابق في المحادثة
- قائمة الكيانات الضيقة أهم من حجم النموذج: توثيق Ollama في Home Assistant يذكر أن النماذج الأصغر أكثر عرضة للخطأ، لذا اقرن أي نموذج بقائمة كيانات محدودة النطاق واختر نموذجًا يدعم استدعاء الأدوات (انظر دليل النماذج اللغوية الصغيرة)
- اختبر الأتمتة مقابل الحالات الحدية (كيانات أُعيدت تسميتها، أجهزة غير متصلة) قبل الوثوق بها دون إشراف
كيف تبدو الهلوسة في أتمتة المنزل
أنماط الفشل الثلاثة الشائعة هي: تشغيل جهاز يحمل اسمًا مشابهًا لكنه خاطئ، والتصرف بناءً على حالة مستشعر مفترضة بدلًا من الفعلية، والإشارة إلى كيان غير موجود إطلاقًا في إعدادك.
- تشغيل الجهاز الخطأ: طلب إطفاء "المصباح" بينما لديك عدة مصابيح، فيختار النموذج واحدًا بناءً على تخمين بدلًا من طلب التوضيح أو استخدام السياق بشكل صحيح.
- الحالة المفترضة: تتصرف الأتمتة وكأن نافذة مغلقة لأن هذه هي الحالة الشائعة، بدلًا من التحقق من القراءة الفعلية والحالية للمستشعر.
- كيان غير موجود: يشير النموذج إلى اسم جهاز يبدو معقولًا (لأنه شائع في بيانات التدريب) لكنه لم يُعدّ فعليًا مطلقًا في نسخة Home Assistant لديك.
التأصيل الواقعي: التقييد بالكيانات الحقيقية
الحل الرئيسي هو مخطط استدعاء وظائف لا يكشف للنموذج إلا عن قائمة الكيانات الفعلية والحالية لديك — فلا يمكنه استدعاء وظائف إلا لأجهزة موجودة فعليًا، مما يلغي بنيويًا نمط فشل "الكيان المُختلَق".
- ولّد مخطط استدعاء الوظائف (أو قائمة الكيانات الممرّرة إلى النموذج) ديناميكيًا من سجل الكيانات الفعلي والحالي في Home Assistant، بدلًا من قائمة مكتوبة يدويًا أو قديمة يمكن أن تنحرف عن التزامن مع إضافة/إزالة الأجهزة.
- إذا كان إعدادك يحتوي على أسماء كيانات غامضة (عدة كيانات "إضاءة")، أعد تسميتها لتكون أكثر تمييزًا بدلًا من الاعتماد على النموذج لحل الغموض بشكل صحيح — هذا إصلاح على مستوى الإعداد، وليس على مستوى الطلب، وهو أكثر موثوقية.
- يتناول دليل تكامل Home Assistant-Ollama الإعداد العملي لربط Ollama بوكيل المحادثة في Home Assistant، الذي يتعامل تلقائيًا مع الكثير من عملية توليد المخطط هذه.
- في Home Assistant لا يستطيع النموذج التصرف إلا على الكيانات التي تعرضها له (الإعدادات > المساعدات الصوتية > Expose)، لذا فإن عرض عدد قليل من الكيانات المختارة عمدًا يقلص مجموعة الإجابات الخاطئة الممكنة. خيار «التحكم في Home Assistant» في تكامل Ollama موثّق على أنه تجريبي، ويتطلب نموذجًا يدعم الأدوات، ونافذة السياق الافتراضية فيه 8k وقد تحتاج المنازل الكبيرة إلى رفعها.
تمرير الحالة الحالية، لا الحالة المفترضة
يجب على الأتمتة التي تعتمد على حالة المستشعر الاستعلام عن القراءة الفعلية والحالية وقت التنفيذ، بدلًا من الاعتماد على ذاكرة النموذج لدورة محادثة سابقة أو افتراض حول الحالة النموذجية.
- بالنسبة لأي أتمتة تكون فيها "هل النافذة مفتوحة" أو "هل الإضاءة مشغّلة بالفعل" مهمة للقرار، اجلب تلك الحالة مباشرة كجزء من منطق الأتمتة، بدلًا من الوثوق بأن النموذج تتبعها بشكل صحيح عبر المحادثة.
- هذا مبدأ عام من تقليل هشاشة الطلبات (راجع الدليل المشترك بين المجموعات حول هذا الموضوع)، مطبَّق تحديدًا على حالة المنزل الذكي المدعومة بالمستشعرات.
- يمكن أن يقلل دمج قراءات متعددة من المستشعرات (دمج بيانات المستشعرات) قبل التصرف أيضًا من تأثير قراءة خاطئة من مستشعر واحد على القرار — راجع دمج بيانات المستشعرات في دليل المنزل الذكي.
الاختبار واكتشاف الأخطاء
اختبر الأتمتة مقابل الحالات الحدية — كيان أُعيدت تسميته، جهاز غير متصل مؤقتًا، أمر غامض — قبل الوثوق بها للعمل دون إشراف، بنفس الطريقة التي تختبر بها أي منطق أتمتة آخر.
- اختبر عمدًا أمرًا يشير إلى كيان أُعيدت تسميته أو أُزيل مؤخرًا للتأكد من أن الأتمتة تفشل بأمان (تطلب توضيحًا أو لا تفعل شيئًا) بدلًا من تخمين جهاز يحمل اسمًا مشابهًا.
- سجّل الإجراءات التي تُطلقها الأتمتة خلال فترة تجريبية أولية حتى تتمكن من مراجعة ما فعله النموذج فعليًا مقابل ما كنت تنويه، لاكتشاف الأخطاء الصامتة في التشغيل قبل أن تصبح روتينية.
- ابدأ الأتمتة الجديدة المدعومة بنماذج اللغة الكبيرة على أجهزة منخفضة المخاطر (الإضاءة) قبل توسيع النمط إلى أجهزة أعلى مخاطرة (الأقفال، أنظمة الأمان) حيث يكون للإجراء الخاطئ عواقب أكبر.
كيف تقلل هلوسة LLM: القائمة المختصرة
التقنيات العامة لتقليل هلوسة LLM — تأصيل النموذج في بيانات حقيقية، وتقييد مخرجاته، والتحقق قبل التنفيذ، والفشل الآمن — لكل منها صورة مباشرة في المنزل الذكي مع Home Assistant.
- التأصيل في بيانات حقيقية: نسخة المنزل الذكي من الاسترجاع هي تمرير قائمة الكيانات الحالية وحالاتها الراهنة إلى سياق النموذج بدلًا من الاعتماد على ما يتذكره من التدريب.
- تقييد المخرجات: استخدم استدعاء الأدوات (function calling) حتى لا يستطيع النموذج إلا إرجاع استدعاء لكيان وخدمة موجودين، لا نصًا حرًا يضطر سكربت إلى تفسيره.
- تقليص نطاق التعرض: اعرض فقط الكيانات التي تريد التحكم بها. يشترط Home Assistant عرض الكيانات لـ Assist قبل التحكم بها، ويوصي توثيق Ollama بعرض أقل من 25 كيانًا أثناء التجربة.
- اختيار نموذج يستطيع استدعاء الأدوات: يذكر توثيق Ollama في Home Assistant أن النماذج التي تدعم الأدوات فقط تستطيع التحكم بالمنزل، وأن النماذج الأصغر أكثر عرضة للخطأ من الأكبر.
- التحقق والفشل الآمن: افحص حالة الكيان المستهدف قبل التنفيذ، واقرأها مجددًا بعده، واطلب التوضيح أو لا تفعل شيئًا حين يكون التطابق غير مؤكد.
الأسئلة الشائعة
كيف يختلف هذا عن نصائح هلوسة الذكاء الاصطناعي العامة؟
تتناول نصائح تقليل الهلوسة العامة (راجع دليل هلوسة الذكاء الاصطناعي) الحقائق المختلقة في توليد النصوص المفتوح. هذا المقال خاص بأنماط فشل استدعاء الوظائف التي تحدث عندما يربط نموذج اللغة الكبير أمرًا بإجراء على جهاز.
هل يهلوس النموذج الأصغر أكثر أم أقل في هذا السياق؟
يعتمد ذلك على النطاق لا على الحجم وحده. يستطيع نموذج صغير مقيّد بعدد قليل من الكيانات المعروضة تنفيذ الأوامر البسيطة، لكن توثيق Ollama في Home Assistant يذكر أن النماذج الأصغر أكثر عرضة للخطأ من الأكبر، وأن النماذج التي تدعم الأدوات فقط تستطيع التحكم بالمنزل أصلًا. ضيّق قائمة الكيانات أولًا ثم اختبر النموذج بأوامرك الخاصة — انظر دليل النماذج اللغوية الصغيرة.
هل يمكنني القضاء تمامًا على تشغيل الأجهزة الخاطئة؟
ليس تمامًا، لكن تقييد مخطط استدعاء الوظائف بقائمة الكيانات الفعلية والحالية لديك، واستخدام أسماء كيانات مميزة، واختبار الحالات الحدية يقلل بشكل كبير من معدل الفشل — تعامل مع ذلك كتقليل للمخاطر، وليس ضمانًا.
هل يجب أن أدع نموذج اللغة الكبير يتحكم بالأقفال وأنظمة الأمان؟
ابدأ بالأجهزة الأقل مخاطرة (الإضاءة) لبناء الثقة في موثوقية إعدادك الخاص قبل توسيع تحكم نموذج اللغة الكبير إلى أجهزة ذات عواقب أكبر مثل الأقفال — هذا اختيار في إدارة المخاطر، وليس متطلبًا تقنيًا.
هل يتعامل تكامل Ollama في Home Assistant مع تأصيل الكيانات تلقائيًا؟
يولّد قائمة الكيانات المتاحة ديناميكيًا من إعدادك الحالي لوكيل المحادثة، وهو ما يتعامل مع معظم التأصيل الموصوف هنا — راجع دليل تكامل Home Assistant وOllama لتفاصيل الإعداد.
ماذا يجب أن تفعل الأتمتة إذا لم تستطع تحديد الكيان الصحيح بثقة؟
يجب أن تفشل بأمان — تطلب توضيحًا أو لا تتخذ أي إجراء — بدلًا من تخمين كيان يحمل اسمًا مشابهًا. هذا اختيار تصميمي في كيفية بنائك لمنطق استدعاء الوظائف في الأتمتة.
كيف أقلل هلوسة LLM في Home Assistant؟
اعرض فقط الكيانات التي تريد التحكم بها، وقيّد النموذج باستدعاءات أدوات لهذه الكيانات، ومرّر الحالة الراهنة بدلًا من الاعتماد على ذاكرته، واستخدم نموذجًا يدعم استدعاء الأدوات، واختبر الحالات الحدّية، واجعل الأتمتة تفشل بأمان عند عدم التأكد. لا توجد خطوة واحدة تزيل الخطر، لكنها معًا تقلّله.
كم كيانًا ينبغي أن أعرض على LLM في Home Assistant؟
يوصي توثيق تكامل Ollama في Home Assistant بعرض أقل من 25 كيانًا أثناء التجربة. ابدأ بالأجهزة القليلة التي تريد التحكم بها فعلًا وأضف المزيد كلما تحققت من الموثوقية. يجب عرض الكيانات صراحةً، وهذا ما يمنع أيضًا التحكم بالأقفال وأبواب المرآب بالخطأ.
