مساعد ذكاء اصطناعي واعٍ بالخريطة: كيفية بنائه

بواسطة The Kaleidr Team · نُشر في 20 أغسطس 2026 · 16 دقيقة قراءة

مساعد ذكاء اصطناعي واعٍ بالخريطة يستخدم حالة مشتركة وبيانات مواقع موثوقة وأدوات مكانية لإرجاع إجابة مؤسّسة وإجراء متزامن على الخريطة.

مساعد الذكاء الاصطناعي الواعي بالخريطة هو واجهة حوارية تستخدم سياقًا منظمًا للخريطة — نطاق العرض، والمكان المحدد، والمرشحات، والموقع المسموح — لتفسير السؤال وإرجاع إجابة مؤسّسة وإجراء على الخريطة. يمكنه وضع علامات، وضبط الإطار حول النتائج، وإبراز منطقة، وطلب مسار، والتركيز على معلم محدد. افصل أربع مسؤوليات: يدير المضيف الحالة والأذونات، وتمتلك الأنظمة الموثوقة الحقائق، وتجري الأدوات المكانية الحسابات الجغرافية، وتفسر طبقة الذكاء الاصطناعي النية وتقترح إجراءات مدعومة.

تتناول الأقسام التالية الحالة المشتركة، ومفردات الإجراءات، ومهايئات العرض، وربط Kaleidr Chat، وتأسيس الحقائق، والأخطاء الشائعة. يتوفر سياق المنتج في Kaleidr Spatial AI. ولبنية SDK راجع ما حزمة SDK لخرائط الذكاء الاصطناعي؟. ولعمليات التركيب راجع دردشة الذكاء الاصطناعي على Mapbox وGoogle Maps وMapLibre. ولبيانات الاعتماد والسجلات الخاصة راجع مصادقة API للخرائط وبيانات الموقع الخاصة لمسارات عمل خرائط الذكاء الاصطناعي.

أساسيات المساعد

  • شارك الحالة لا البكسلات: مرّر الحدود ومعرّفات التحديد والمرشحات ومعرّفات النتائج؛ لا تطلب من النموذج قراءة الخريطة كصورة.
  • نطاق العرض سياق: تؤثر الحدود المرئية في الترتيب ما لم يطلب المستخدم البحث داخل هذه المنطقة.
  • إجراءات دلالية فقط: أخرج show_places أو fit_places، ولا تخرج JavaScript خاصًا بالعارض.
  • وسم المصدر: يجب ألا تعيد تحركات المستخدم أو كاميرا المساعد تشغيل النموذج.
  • أسّس الحقائق: تأتي الساعات والهوية والهندسة ووقت السفر من أنظمة موثوقة.

مساعد ذكاء اصطناعي واعٍ بالخريطة يستخدم حالة مشتركة وبيانات مواقع موثوقة وأدوات مكانية لإرجاع إجابة مؤسّسة وإجراء متزامن على الخريطة.

ما الذي يميز مساعد الذكاء الاصطناعي الواعي بالخريطة؟

قد يعرف المساعد النصي بجوار الخريطة أن باريس في فرنسا. أما المنتج الواعي بالخريطة فيعرف أيضًا ما يفعله المستخدم: المركز والحدود المرئية والتكبير والمعلم المحدد والمرشحات والمسار الحالي والنتائج السابقة والموقع المسموح وحالة التطبيق المضيف. يظل سؤال «أي هذه الأماكن أقرب إلى الفندق؟» غامضًا بلا عقد. تشير «هذه» إلى النتائج الحالية، و«الفندق» إلى الفندق المحدد أو نقطة بداية الجلسة، و«أقرب» إلى حساب المسافة أو زمن السفر. المخرج المفيد إجابة مع مكان محدد وتركيز على الخريطة وسبب.

يبدأ البحث التقليدي بعناصر منظمة كالفئة ونصف القطر ومفتوح الآن. يفيد الحوار عندما يجمع الطلب شروطًا يصعب تمثيلها بمرشحات ثابتة: «مقاهٍ هادئة في هذه المنطقة تناسب اجتماع عميل وتظل مفتوحة بعد السابعة». تفسر طبقة الذكاء الاصطناعي الفئة والمنطقة والتفضيل والوقت والاستخدام. ويجب أن تظل هوية المكان وساعات العمل والهندسة ووقت السفر والتوجيه والأهلية بيد أنظمة حتمية. استخدم النموذج لتفسير الطلب لا كمصدر وحيد للحقائق الجغرافية.

القدرة مساعد نصي بجوار خريطة مساعد واعٍ بالخريطة
يفهم اللغة الطبيعية نعم نعم
يعرف المنطقة المرئية ليس بالضرورة نعم عند توفيرها
يعرف المكان المحدد ليس بالضرورة نعم
يستخدم المرشحات الحالية غالبًا لا يمكنه
يطبق إجراءات على الخريطة محدود عادة نعم
يشارك حالة المضيف ضعيف صريح

كيف تصمم الفرق حالة الخريطة المشتركة؟

حلقة الإنتاج هي: سؤال المستخدم، ولقطة سياق المضيف، وتفسير النية، والاسترجاع المصرح، والحساب المكاني، والإجابة المؤسّسة، والإجراء المتحقق، وتحديث العارض. ابدأ بعقد حالة صريح بدل توقع استنتاج الشاشة. أدرج المطلوب فقط: معرّف المعلم المحدد، ومعرّفات النتائج الحالية، والمرشحات ذات الصلة، والحدود المرئية عند الحاجة، وسياق المسار، ونقطة البداية المسموح بها، وإصدار الحالة. حدد الأولوية: يتقدم المكان المحدد على قائمة قديمة، والوجهة التي يذكرها المستخدم على نقطة البداية الافتراضية.

لا تعامل نطاق العرض كمرشح صارم مخفي. يمكن للحدود المرئية ترتيب النتائج أو ترجيحها من دون استبعاد كل ما هو خارج الكاميرا. حافظ على معرّفات أماكن ثابتة بين الجولات حتى يبقى «المقهى الثاني» السجل نفسه بعد تحريك الخريطة. افصل الهوية عن الشرح المولد: يحفظ المضيف place_id وحقول المصدر؛ ويشرح النموذج الملاءمة لكنه لا يخترع معرّفًا.

الحالة ثنائية الاتجاه أقوى من الدردشة أحادية الاتجاه. تحدّث التحركات والتكبيرات والتحديدات والمرشحات مخزن المضيف مع وسمها كأحداث مستخدم. تمر إجراءات عرض الأماكن وضبط النتائج وفتح المكان وعرض المسار عبر التحقق والمهايئ، وتوسم كأحداث مساعد. أعد لقطة جديدة إلى النموذج فقط عندما تحتاجها الجولة التالية. ويمنع حاجز الحلقة حركة الكاميرا التي أنشأها المساعد من بدء طلب جديد تلقائيًا.

بنية حالة ثنائية الاتجاه تحدّث فيها تفاعلات المستخدم وإجراءات الذكاء الاصطناعي المتحققة مخزنًا واحدًا، وتمنع وسوم المصدر حلقات التغذية الراجعة.

كيف تبقى إجراءات الخريطة مستقلة عن العارض؟

صمّم مفردات صغيرة: عرض الأماكن، وضبط الإطار، وفتح مكان، وإبراز معلم، وعرض مسار، ومسح النتائج. تحقّق من كل إجراء بمخطط وافحص أذونات الكائن، ثم حوّل البطاقة الدلالية إلى استدعاءات Mapbox أو Google Maps أو MapLibre داخل مهايئ. لا تسمح للنموذج بإخراج JavaScript عشوائي. تشير إرشادات OWASP لعام 2025 حول حقن الموجّهات إلى أن المحتوى المسترجع أو الحواري قد يحاول تغيير سلوك الأدوات؛ وحتى النموذج المتلاعب به يجب ألا يستطيع تشغيل كود غير معتمد أو استرجاع كائنات غير مصرح بها.

افصل طبقات نتائج الذكاء الاصطناعي المؤقتة عن بيانات المضيف الدائمة، لتتمكن من مسح المحادثة من دون حذف الأماكن المحفوظة. تعامل مع عدم وجود نتائج والغموض بمجموعة فارغة صريحة وسؤال متابعة، لا بعلامة مختلقة. يجب تفسير الترتيب من حقول مصرح بها. حافظ على سيطرة المستخدم: قد يقترح المساعد تحريك الكاميرا، لكن حركة المستخدم اللاحقة تتقدم. بث الرموز لتقليل التأخير، وأخّر الكاميرا حتى تُحل الأماكن كي لا تقفز مع إجابة جزئية.

تمر إجراءات الخريطة المنظمة عبر التحقق ومهايئ العارض قبل أن تصبح عمليات Mapbox أو Google Maps أو MapLibre.

كيف يرتبط Kaleidr Chat بخريطة موجودة؟

تذكر وثائق Chat الحالية أن SDK يمكنه الارتباط بخريطة حية من Mapbox أو MapLibre أو Google Maps أو Leaflet، ورسم الأماكن المحلولة، وضبط الكاميرا مع حل المواقع في الحوار (Chat attach). يواصل المضيف عرض الخريطة؛ ويضيف Chat الطبقة المكانية الحوارية. توجد أدلة لـ Mapbox وGoogle Maps وMapLibre. يستخدم المتصفح مفتاحًا قابلًا للنشر بنطاق ai، ويستبدله بجلسة قصيرة مرتبطة بالأصل (Auth & Scopes). يحذف الوضع بلا واجهة خيار map للاختبارات أو واجهات الدردشة فقط. حمّل kaleidr.js الحالي ثم ركّب بعد وجود كائن الخريطة الحي.

// myMap must already be a live supported map instance
const chatHandle = Kaleidr.mount("#map-chat", {
  product: "chat",
  publishableKey: "kld_pk_live_REPLACE_ME",
  map: myMap,
  enabled: true
});

تبقى بيانات الأعمال الخاصة خلف تفويض المضيف والاسترجاع الأدنى (Endpoints). يجب أن يكون موقع المستخدم اختياريًا. لا ترسل إحداثيات دقيقة أو سجلات محادثة غير ضرورية إلى المتصفح أو التحليلات. خزّن الحقائق العامة الثابتة، لا قرارات الأذونات. قِس إكمال مهام الموقع — اختيار مكان، وفتح الاتجاهات، وإضافة عقار إلى القائمة — بدل عد جولات المحادثة. اختبر تنافس الحالة والغموض الجغرافي وحمولات الإجراءات المعادية قبل الإطلاق.

حدود المسؤولية بين التطبيق المضيف وبيانات الأماكن الموثوقة والمحرك المكاني ومساعد الذكاء الاصطناعي لإنتاج نتيجة خريطة مؤسّسة.

ما الأخطاء التي ينبغي للفرق تجنبها؟

الخطأ الخطر النهج الأفضل
وضع مساعد نصي بجوار خريطة لا تدرك حالتها غموض «هذا» و«هنا» مشاركة حالة منظمة
استخدام نطاق العرض كمرشح صامت فقدان نتائج قريبة صالحة اعتبار الحدود سياقًا ما لم يُطلب غير ذلك
السماح للنموذج بإخراج JavaScript الحقن والارتباط بمورّد إجراءات دلالية + مهايئ
إعادة تشغيل النموذج مع كل حركة حلقات وتكلفة وسوم المصدر + حاجز الحلقة
اختراع معرّفات أماكن في النص سجلات مكررة أو زائفة معرّفات ثابتة من بيانات موثوقة
تحريك الكاميرا مع أول رمز خريطة مضطربة انتظار حل الأماكن
مزج طبقات AI ببيانات المستخدم حذف عرضي فصل طبقات النتائج المؤقتة
إرسال مفتاح خادم إلى المتصفح سرقة بيانات اعتماد مفتاح قابل للنشر + نطاق ai
تجاوز حالة عدم النتائج علامات مختلقة مجموعة فارغة + متابعة
قياس حجم الدردشة فقط مؤشرات شكلية إكمال المهمة على الخريطة

الخلاصة النهائية

يعمل المساعد الواعي بالخريطة عندما تتشارك المحادثة والخريطة الحية عقدًا صريحًا للحالة والإجراءات. يدير المضيف الأذونات واستدعاءات العرض، وتمتلك الأنظمة الموثوقة الهوية والحقائق التشغيلية، وتمتلك المحركات المكانية المسافة والتوجيه والهندسة. يفسر النموذج النية وينسق الترتيب ويشرح النتائج داخل هذه الحدود. يربط Kaleidr Chat حاليًا هذه الطبقة بخريطة يعرضها المضيف، باستخدام مفتاح متصفح قابل للنشر وأدلة Mapbox وGoogle Maps وMapLibre. صمّم عقد الحالة أولًا؛ لوحة الدردشة هي الواجهة الأخيرة وليست البنية.

أضف دردشة AI إلى خريطتك الحالية

اربط Kaleidr Chat بخريطة حية من Mapbox أو Google Maps أو MapLibre أو Leaflet، وأبقِ المضيف عارض السجل. اقرأ وثائق Kaleidr Chat لخيارات التركيب والاختبارات بلا واجهة ونطاقات المفاتيح الحالية.

الأسئلة الشائعة

ما مساعد الذكاء الاصطناعي الواعي بالخريطة؟

واجهة حوارية تتلقى سياقًا منظمًا من خريطة — أماكن محددة أو منطقة مرئية أو مرشحات أو نقطة بداية — وتعيد نتائج مؤسّسة وإجراءات مدعومة.

كيف يختلف عن المساعد النصي؟

يتبادل المساعد النصي النثر أساسًا، بينما يشارك المساعد الواعي الحالة وينسق الاسترجاع والحسابات والعلامات والكاميرا والمسارات والتحديدات.

هل ينبغي للذكاء الاصطناعي قراءة الخريطة كصورة؟

ليس عادة لحالة التطبيق. قدم الحدود ومعرّفات المعالم والمرشحات والنتائج. قد يفيد الفهم البصري في مسارات أخرى، لكن الحالة يجب أن تبقى صريحة.

هل ينبغي أن يقيّد نطاق العرض النتائج دائمًا؟

لا. يمكن أن يكون سياقًا من دون أن يصبح مرشحًا صارمًا. اعتبره حدًا فقط عند طلب «البحث في هذه المنطقة» صراحة.

ما حالة الخريطة التي ينبغي للمساعد معرفتها؟

فقط ما يلزم للمهمة: المعلم المحدد، ومعرّفات النتائج، والمرشحات، والحدود عند الحاجة، وسياق المسار، ونقطة البداية المسموح بها.

كيف يتحكم الذكاء الاصطناعي في الخريطة؟

استخدم مفردات منظمة مثل show_places وfit_places وopen_place وshow_route، ثم تحقّق منها وحوّلها في المضيف.

هل يخرج النموذج JavaScript لـ Mapbox أو Google Maps؟

ليس كآلية تحكم رئيسية. الإجراءات الدلالية أكثر أمانًا واستقلالًا عن العارض.

هل يمكنه استخدام بيانات أعمال خاصة؟

نعم، عندما يصادق المضيف على المستخدم ويفرض أذونات المستأجر والكائن والحقل ويسترجع السجلات المصرح بها اللازمة فقط.

هل يرتبط Kaleidr Chat بخريطة موجودة؟

نعم، بخريطة حية من Mapbox أو MapLibre أو Google Maps أو Leaflet، مع رسم الأماكن وضبط الكاميرا.

هل يستبدل Kaleidr Chat عارض الخريطة؟

لا. يواصل المضيف العرض، ويضيف Chat الطبقة المكانية الحوارية.

ما المفتاح المستخدم في المتصفح؟

مفتاح قابل للنشر بنطاق ai، يُستبدل بجلسة قصيرة مرتبطة بالأصل.

هل يعمل من دون خريطة؟

تعمل الطبقة الحوارية. يحذف الوضع بلا واجهة map، وهو مفيد للاختبارات أو واجهات الدردشة فقط.

كيف ينبغي قياسه؟

قِس إكمال مهام مفيدة: اختيار مكان أو حفظه، وفتح الاتجاهات، وإضافة عقار إلى القائمة، واختيار متجر، وإكمال حجز أو نتيجة خاصة بالتطبيق.

المراجع

@misc{kaleidr_chat_attach_2026,
  title  = {Chat -- Attach AI to Your Map},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/sdk/chat-attach}
}

@misc{kaleidr_spatial_ai_2026,
  title  = {AI Maps You Can Talk To -- Spatial AI},
  author = {{Kaleidr}},
  note   = {Accessed 20 August 2026},
  url    = {https://kaleidr.com/ai}
}

@misc{kaleidr_auth_scopes_2026,
  title  = {Auth and Scopes},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/platform-api/auth-and-scopes}
}

@misc{kaleidr_attach_mapbox_2026,
  title  = {Attach Kaleidr AI to a Mapbox Map},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/guides/attach-ai-to-mapbox}
}

@misc{kaleidr_attach_google_2026,
  title  = {Attach Kaleidr AI to a Google Map},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/guides/attach-ai-to-google-maps}
}

@misc{kaleidr_attach_maplibre_2026,
  title  = {Attach Kaleidr AI to a MapLibre Map},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/guides/attach-ai-to-maplibre}
}

@misc{kaleidr_endpoints_2026,
  title  = {Endpoints},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/platform-api/endpoints}
}

@misc{kaleidr_js_loader_2026,
  title  = {kaleidr.js -- the Loader},
  author = {{Kaleidr}},
  note   = {Kaleidr Developer Docs; accessed 20 August 2026},
  url    = {https://docs.kaleidr.com/sdk/kaleidr-js}
}

@misc{google_maps_js_loader_2026,
  title  = {Load the Maps JavaScript API},
  author = {{Google}},
  note   = {Google Maps Platform documentation; accessed 20 August 2026},
  url    = {https://developers.google.com/maps/documentation/javascript/load-maps-js-api}
}

@misc{mapbox_cdn_guide_2026,
  title  = {Get started with Mapbox GL JS using a CDN},
  author = {{Mapbox}},
  note   = {Mapbox GL JS documentation; accessed 20 August 2026},
  url    = {https://docs.mapbox.com/mapbox-gl-js/guides/get-started/use-with-cdn/}
}

@misc{maplibre_display_map_2026,
  title  = {Display a map},
  author = {{MapLibre}},
  note   = {MapLibre GL JS documentation; accessed 20 August 2026},
  url    = {https://maplibre.org/maplibre-gl-js/docs/examples/display-a-map/}
}

@misc{owasp_llm01_prompt_injection_2025,
  title  = {LLM01:2025 Prompt Injection},
  author = {{OWASP Gen AI Security Project}},
  note   = {Accessed 20 August 2026},
  url    = {https://genai.owasp.org/llmrisk/llm01-prompt-injection/}
}