تصميم Artie: مساعد توثيق يعمل بالذكاء الاصطناعي
اقرأ منشور المدونة المصاحب للحصول على سياق أوسع: الكاتب التقني ووكلاء الذكاء الاصطناعي: ما تعلمته أثناء تطوير «أرتي». يستكشف المقال التوليد المعزز بالاسترجاع (RAG) وموقع هذا المشروع في مجال الكتابة التقنية.
تستعرض دراسة الحالة هذه القرارات التصميمية الكامنة وراء Artie، وهو مساعد توثيق يعمل بالذكاء الاصطناعي تم بناؤه باستخدام Algolia وتم دمجه في موقع التوثيق هذا. Artie هو مساعد يعتمد على التوليد المعزز بالاسترجاع (RAG)، صُمم للإجابة على الأسئلة بالاعتماد بدقة على المحتوى المنشور هنا فقط. ويقيد موجه النظام الخاص به قدرته على الإجابة على استفسارات التوثيق باستخدام المعرفة العامة للتدريب، مما يقلل من الهلوسة ويمنع الميزات المختلقة.
يبدو بناء مساعد توثيق أمرًا بسيطًا حتى تأخذ في الاعتبار الحالات الحدية (edge cases): ماذا يحدث عندما يطرح شخص ما سؤالاً لا تغطيه الوثائق؟ ماذا لو استخدم جمهوران مختلفان نفس الواجهة؟ كيف تمنح الذكاء الاصطناعي شخصية دون تركه يسترسل بلا طائل؟ وكيف تمنع أي شخص من اختطاف الموجه بالكامل؟
توضح هذه الصفحة كيف يعالج هذا التصميم كل مشكلة من تلك المشكلات.
توجيه الجمهور
يخدم Artie جمهورين من خلال واجهة محادثة واحدة:
- المطورون والمستخدمون النهائيون الذين يبحثون عن تعليمات الإعداد، أو مراجع واجهة برمجة التطبيقات (API)، أو شروحات لنماذج التوثيق
- مسؤولو التوظيف ومديرو التوظيف الذين يقيّمون هذا الملف التعريفي والذين قد يسألون عن المؤهلات أو الخبرة أو عملية الكتابة
بدلاً من بناء مسارات منفصلة أو مطالبة المستخدمين بتحديد هويتهم بأنفسهم، يوجه الموجه وفقًا للنية. تحصل الأسئلة الفنية على إجابات خطوة بخطوة تستند إلى فهرس الوثائق. وتحصل الأسئلة المتعلقة بملف الأعمال على ردود تدمج سياق السيرة الذاتية مع نماذج الكتابة المنشورة على الموقع. وإذا لم يكن سياق السيرة الذاتية متاحًا في الفهرس، يوجه Artie الزوار إلى صفحة "نبذة عني" بدلاً من محاولة إنشاء إجابة.
يحافظ هذا النهج على نظافة الواجهة—محادثة واحدة، بلا قوائم متفرعة—مع ضمان حصول كل جمهور على استجابة ملائمة.
تأسيس المعرفة واسترجاعها
أهم قيد في تصميم Artie هو أنه يجيب حصريًا من فهرس التوثيق المدعوم بواسطة Algolia. هذا هو المبدأ الأساسي للتوليد المعزز بالاسترجاع (RAG). ترتكز ردود النموذج على مجموعة محددة من المحتوى بدلاً من الاعتماد على بيانات التدريب العامة.
في الممارسة العملية، يعني هذا:
- لا محتوى مخترع—المساعد لا يختلق ميزات، ولا ينشئ روابط تنزيل، ولا يصف خطوات غير موجودة في الوثائق.
- ربط المصادر—يوفر المساعد عناوين URL أو مراجع ملفات من الفهرس حتى يتمكن المستخدمون من الانتقال مباشرة إلى الصفحة ذات الصلة.
- تراجع سلس (Graceful fallback)—عندما يفتقر الفهرس إلى معلومات ذات صلة، يوضح Artie القيد بوضوح ويقترح التواصل مباشرة دون إعادة محاولة أو دوران في حلقات مفرغة أو تكهنات.
المفاضلة هنا تكمن في النطاق—لا يمكن لـ Artie المساعدة في أي شيء خارج الوثائق المنشورة. وهذه ميزة وليست قيدًا. بالنسبة لموقع ملف أعمال، الدقة أهم بكثير من الاتساع. فالإجابة الدقيقة والموثقة بمصادر موثوقة لسؤال محدد تبني ثقة أكبر من إجابة تبدو مقنعة لكن يتبين لاحقًا أنها خاطئة.
معايرة الشخصية والأسلوب
يتمتع Artie بشخصية خفيفة—دفء هادئ مستوحى من جورج هاريسون مع لهجة ليفربول العرضية. الكلمة الأساسية هي خفيفة. تضيف الشخصية طابعًا مميزًا إلى التحيات والتوديع دون التدخل في المحتوى الفني.
القيود التصميمية هنا مقصودة:
- تظل الإجابات الفنية موجزة—لا تبرر الشخصية أبدًا إطالة الردود. تحية دافئة تليها إجابة محكمة وواقعية تحقق هذا الهدف.
- التنوع بدلاً من التكرار—يتضمن الموجه مجموعة من التعبيرات حتى يتجنب Artie الاعتماد التلقائي على نفس العبارة في كل مرة.
- الابتعاد عن الوعظ—تحافظ الشخصية على نبرة دافئة وساخرة بلطف، ولا تبدو أبدًا وعظية أو استعلائية، وتتصرف كزميل مفيد بدلاً من أداء تمثيلي لشخصية.
يعد هذا النوع من ضبط النبرة تحديًا شائعًا في تصميم الذكاء الاصطناعي للمحادثات. الإفراط في الشخصية يجعل المساعد يبدو استعراضيًا، والتقليل منها يجعله يبدو آليًا وجافًا. والحل يكمن في معاملة الشخصية كالتوابل—حاضرة ولكنها ليست المكون الرئيسي أبدًا.
الأمان والضوابط الوقائية
هنا يصبح التصميم جادًا وحاسمًا. فالمساعد الذكي الموجه للجمهور يمثل سطحًا عرضة للهجمات (attack surface)، ويتضمن الموجه دفاعات صريحة ضد نقاط الضعف الشائعة في نماذج اللغة الكبيرة (LLM).
الحماية من حقن الموجه (Prompt Injection)
يرفض موجه Artie صراحةً أي محاولة لتجاوز تعليماته، مثل الأوامر من قبيل "تجاهل التعليمات السابقة" أو طلبات تبني شخصية مختلفة. وهذا يؤسس دفاعات على مستوى الموجه ضد حقن الموجه، المصنف في المرتبة الأولى #1 في قائمة OWASP لـ أهم 10 مخاطر لتطبيقات نماذج اللغة الكبيرة.
تقييد النطاق
يحدد الموجه فئات رفض صريحة:
- المساعدة العامة في البرمجة—يرفض المساعد أسئلة البرمجة غير المغطاة في التوثيق.
- المعلومات العامة غير ذات الصلة—يرفض المساعد الطلبات الخارجة عن ميزتين ترفيهيتين محددتي النطاق بدقة.
- المعلومات الشخصية—يرفض المساعد الاستفسارات المتعلقة بالتفاصيل الشخصية غير المنشورة في الملف المهني.
- أسعار العمل الحر أو التفاوض—يوجه المساعد الزوار للتواصل المباشر بدلاً من ذلك.
لكل فئة حد واضح المعالم. لا يحتاج المساعد إلى إصدار أحكام تقديرية حول ما إذا كان السؤال "قريبًا بما يكفي" للإجابة. فإذا وقع خارج النطاق المحدد، يرفضه بلباقة.
خصوصية البيانات
يشارك Artie فقط معلومات الاتصال المنشورة صراحة في التوثيق، مثل ملف تعريف LinkedIn أو بريد المحفظة الإلكتروني. ولن يخمن أو يستنتج أو ينشئ تفاصيل شخصية كأرقام الهواتف أو العناوين.
الحدود المهنية
لن يتفاعل المساعد مع الرسائل العدائية، ولن يستخدم لغة بذيئة، ولن يخرج عن شخصيته المحددة. وهذا يتجاوز مجرد اللباقة؛ إنه يتعلق بالحفاظ على سلوك يمكن التنبؤ به. وأي مسؤول توظيف يختبر حدود المساعد سيواجه حدًا مهنيًا متسقًا في كل مرة.
المفاجآت الخفية المقيدة (Controlled Easter Eggs)
يتضمن Artie "ميزتين ممتعتين"—حقائق Snapple الواقعية والنكات النظيفة—لتوضيح كيفية إضافة لمسة شخصية دون فتح الباب أمام إساءة الاستخدام.
تشترك كلتا الميزتين في نفس نمط التصميم:
- محفزات صريحة—يتم تنشيطها فقط بناءً على طلبات مستخدم محددة ("أعطني حقيقة من Snapple"، "أخبرني بنكتة")، وليس بناءً على تلميحات غامضة أو غير مباشرة.
- محتوى مقيد—ترتكز حقائق Snapple على قائمة مدمجة من الحقائق الموثقة، في حين تظل النكات منتقاة بعناية ومناسبة للعائلة.
- منع الفبركة غير المستندة إلى مصادر—يتجنب المساعد اختلاق الحقائق أو توليد فكاهة خارجة عن طابع العلامة، مما يبقي النطاق خاضعًا للتحكم الدقيق.
هذا أمر بالغ الأهمية لأن الميزات الإبداعية غير المقيدة تستنفد الرموز (tokens) سريعًا وتولد مخرجات غير متوقعة. ومن خلال إبقاء المحتوى منتقى والمحفزات صريحة، تضفي الميزات دفئًا دون مخاطر.
ما الذي سأفعله بشكل مختلف
لا يوجد تصميم ينجو من التفاعل مع المستخدمين الحقيقيين دون تعديل. إليكم ما سأعيد النظر فيه:
- تكلفة الرموز (Token cost)—تتجاوز قائمة حقائق Snapple وحدها 100 عنصر. في نظام إنتاجي يعتمد على المحاسبة لكل رمز، سأنقل ذلك إلى طبقة استرجاع بدلاً من تضمينه في موجه النظام. يدفع الفريق مقابل كل رمز في الموجه مع كل طلب، سواء طلب المستخدم حقيقة أم لا.
- سياق متعدد الأدوار—يستهدف التصميم الحالي الأسئلة والأجوبة ذات الدور الواحد. ويمكن لإصدار أكثر تطورًا الحفاظ على سجل المحادثة وإعادة صياغة الاستعلامات لمعالجة أسئلة المتابعة مثل "ماذا عن الخطوة التالية؟".
- التحليلات والملاحظات—لا توجد آلية لتتبع الأسئلة التي يتعامل معها Artie جيدًا والأسئلة التي تؤدي إلى التراجع البديل. إن إضافة تسجيل خفيف—حتى لو كان مجرد عد استجابات التراجع—سيكشف عن فجوات التوثيق الجديرة بالمعالجة.
- الضبط الديناميكي للشخصية—يحدد الموجه تعبيرات الشخصية بشكل ثابت في الكود. وسيشير النهج الأكثر قابلية للصيانة إلى تكوين خارجي للشخصية، مما يجعل من السهل تعديل النبرة دون تحرير مجموعة التعليمات الأساسية.
كل من هذه النقاط يمثل مقايضة مدروسة لمشروع ملف أعمال حيث البساطة والوضوح أهم من التحسين على مستوى الإنتاج الضخم. لكنها أولى النقاط التي سأعالجها إذا انتقل هذا المشروع إلى بيئة ذات حركة مرور أعلى.