تقديم Chat SDK

VVercel
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00(موسيقى مبهجة)
00:00:02- مرحبًا جميعًا، اسمي مالته، وأنا المدير التقني في Vercel.
00:00:16شكرًا لانضمامكم إلينا اليوم.
00:00:18في أوائل يناير، أعطينا الجميع في شركتنا تفويضًا،
00:00:21وهو اكتشاف كيفية مضاعفة إنتاجيتكم.
00:00:24وما زلنا نندهش مما بناه الموظفون.
00:00:27لقد قام كل فريق تقريبًا ببناء وكيل ذكاء اصطناعي للتعامل مع المهام المعقدة،
00:00:30ومعظمها عبارة عن برامج Slack يمكن لأي شخص استخدامها.
00:00:34لكننا واجهنا مشكلة.
00:00:35كان الجميع يقومون بنفس العمل التكراري
00:00:38مرارًا وتكرارًا.
00:00:40يبني أحدهم وكيلاً،
00:00:41ثم يتعين عليك استيعاب تعقيدات Slack،
00:00:43وهذا أصعب مما يبدو.
00:00:45عليك فهم سلاسل الرسائل والتفاعلات،
00:00:47وكيفية مطابقة البوت للرسائل، وكيفية إدارة الحالة.
00:00:50ثم يسأل شخص ما،
00:00:51"مهلاً، هل يمكنك ربط ذلك الوكيل بـ GitHub؟"
00:00:53وتبدأ العملية من جديد تمامًا
00:00:55مع واجهات برمجة تطبيقات GitHub.
00:00:56كان المنطق هو نفسه، لكن كود المنصة مختلف.
00:00:59تعلمنا سريعًا أن واجهات برمجة تطبيقات الدردشة تلك
00:01:01تبدو متشابهة من الخارج،
00:01:03لكنها مختلفة تمامًا في الجوهر.
00:01:05يدعم Slack البث المباشر الأصلي.
00:01:06يمكنك بث الرموز (tokens) مباشرة في الرسالة
00:01:09بمجرد توليدها من نموذج اللغة الكبير.
00:01:10أما في Discord، فعليك النشر، ثم التعديل، ثم النشر، ثم التعديل.
00:01:14وفي GitHub، لا يوجد بث على الإطلاق.
00:01:16يحتوي Slack على نوافذ منبثقة (modals)، بينما لا يحتوي Discord عليها.
00:01:18ويمنحك Microsoft Teams تفاعلات للقراءة فقط.
00:01:21هذه ليست مجرد فروقات بسيطة، بل هي اختلافات جوهرية
00:01:23في طريقة عمل كل منصة.
00:01:26لذا حتى بالنسبة لوكيل واحد وبسيط،
00:01:28ينتهي بك الأمر بوجود كم هائل من المنطق البرمجي
00:01:31فقط لجعله قابلاً للاستخدام في أدوات مختلفة.
00:01:33إنه كابوس حقيقي.
00:01:34وهذه ليست مشكلة Vercel وحدها.
00:01:36سيتعين على كل شركة اكتشاف
00:01:38كيفية تقديم وكلائها عبر المنصات
00:01:40التي يتم فيها العمل بالفعل.
00:01:42وهذا يعني الدردشة، ومراجعة الكود، وتتبع المشكلات، وأكثر.
00:01:45تحل AI SDK مشكلة مماثلة لمزودي النماذج.
00:01:48تكتب الكود مرة واحدة وهي تتولى
00:01:50كل اختلافات واجهات برمجة التطبيقات،
00:01:51سواء كنت تستدعي GPT أو Claude أو Gemini.
00:01:54وتقوم Chat SDK بنفس الشيء للوكلاء التفاعليين.
00:01:58إنها واجهة برمجة تطبيقات واحدة لتفاعلات الوكلاء عبر المنصات
00:02:01مثل Slack وGitHub وLinear وDiscord وTelegram،
00:02:04وWhatsApp، وغيرها.
00:02:06أنت تبني الوكيل، وستقوم Chat SDK بإيصاله للمستخدمين
00:02:09في التطبيقات التي يستخدمونها بالفعل.
00:02:11لقد كان فرناندو يبني وكلاء V0 في الخلفية
00:02:15طوال الأسابيع القليلة الماضية،
00:02:16وسوف يخبركم لماذا كانت Chat SDK
00:02:18جزءًا حيويًا من تلك المنظومة التقنية.
00:02:21(موسيقى مبهجة)
00:02:24(تستمر الموسيقى المبهجة)
00:02:28عندما بدأت في بناء وكلاء V0 في الخلفية،
00:02:34كان هدفي هو السماح لك بالإشارة إلى V0 من Slack
00:02:36لفتح طلبات السحب (pull requests).
00:02:38أردت وكيلاً برمجيًا للأغراض العامة
00:02:40يمكنه العمل في الخلفية،
00:02:42في أي قاعدة برمجية، وبأي لغة.
00:02:45لذا بدأت في البناء،
00:02:47وأرسلت النسخة الأولى من تطبيق V0 لـ Slack
00:02:49إلى أصدقائي.
00:02:51وكان أول شيء سألوا عنه هو،
00:02:53"هل يمكنني استخدام هذا أيضًا في مشكلات Linear؟
00:02:56وهل يمكنني الإشارة إليه من تعليق على طلب سحب في GitHub؟"
00:02:58ذكرني ذلك بالمرة الأولى التي أطلقت فيها تطبيقًا للهاتف،
00:03:02عندما بدأ الناس يسألون عما إذا كان بإمكانهم استخدامه على الويب أيضًا.
00:03:05أصبح من الواضح أن V0 يجب أن يعمل في كل مكان.
00:03:09لقد تغيرت التوقعات.
00:03:11لذا كان عليّ اتخاذ قرار.
00:03:14هل نبني وكلاء V0 الخلفية منصة تلو الأخرى؟
00:03:18أم يمكننا بناؤه مرة واحدة باستخدام واجهة برمجة تطبيقات موحدة
00:03:22عبر كل المنصات؟
00:03:24مثل React Native لوكلاء الدردشة؟
00:03:27حسنًا، اتضح أنني قضيت سنوات
00:03:30في بناء تطبيقات عابرة للمنصات باستخدام React Native.
00:03:34هذه المشكلة ليست جديدة بالنسبة لي.
00:03:36وهنا جاء دور Chat SDK.
00:03:39باستخدام Chat SDK،
00:03:40يمكنني التركيز على بناء وكلاء V0 الخلفية،
00:03:43وقضاء وقت أقل
00:03:45في القلق بشأن واجهات برمجة التطبيقات الفريدة لكل منصة.
00:03:48إذًا، كيف يبدو هذا في الجوهر؟
00:03:50إليكم مات ليريكم المزيد.
00:03:53(موسيقى مبهجة)
00:03:55- مرحبًا بالجميع.
00:04:11تمامًا مثل فرناندو، لنبدأ بـ Slack.
00:04:14لقد أشرت إلى البوت الخاص بي،
00:04:16وحصلت على استجابة "hello world" بسيطة للغاية.
00:04:21أعلم أنها مذهلة.
00:04:23وإذا نظرت إلى الكود،
00:04:24يمكنك رؤية مدى سهولة إنشاء هذا البوت بالنسبة لي.
00:04:28كل ما كان عليّ فعله هو إنشاء نسخة دردشة جديدة،
00:04:32وإضافة مستمع للإشارات (on mention listener)،
00:04:35ونشر "hello world" ردًا على سلسلة الرسائل.
00:04:38هذا كل شيء.
00:04:39لكننا لا نريد مطورين يبنون بوتات نصية عادية.
00:04:43نحن نريد تجارب أصلية غنية
00:04:45تستفيد بالكامل من كل منصة.
00:04:48والمطورون يحبون JSX.
00:04:51لذا جلبنا JSX إلى Chat SDK.
00:04:55الآن يمكنك البناء باستخدام المكونات تمامًا كما اعتدت.
00:04:58لنضف زرين.
00:04:59كما ترون هنا في الأسفل،
00:05:03سأقوم بتغيير رسالة "hello world" الخاصة بنا
00:05:05إلى بطاقة "hello world" تحتوي على زر "متابعة"،
00:05:10وزر "إلغاء".
00:05:11سنضيف أيضًا مستمعًا للإجراء (action listener)
00:05:14يقول الاسم الكامل للمستخدم،
00:05:17بأن المستخدم ضغط على متابعة عندما نضغط عليه.
00:05:19وبالعودة إلى Slack، سأشير إلى البوت الخاص بي مرة أخرى.
00:05:24وكما تتوقعون، نحصل بالضبط على ما بنيناه.
00:05:29تظهر المكونات بشكل أصلي.
00:05:32أضغط على متابعة، ويتعامل البوت مع الإجراء على الفور.
00:05:36لكن هنا تصبح الأمور مثيرة للاهتمام.
00:05:41ماذا لو أردت نفس التجربة بالضبط على Discord؟
00:05:45أقوم بإضافة محول (adapter) Discord.
00:05:47هذا كل ما في الأمر.
00:05:48الآن، إذا عدت إلى قناة Discord الخاصة بي،
00:05:55يمكنني الإشارة إلى البوت الخاص بي،
00:05:57وستظهر نفس واجهة المستخدم تمامًا بشكل أصلي في Discord.
00:06:02صفر تغييرات في الكود لدعم منصة جديدة بالكامل.
00:06:07هذا رائع.
00:06:08لكن لنتحدث عن الوكلاء.
00:06:10إليكم وكيلاً بسيطًا بنيته باستخدام AI SDK.
00:06:14والوكلاء يحتاجون إلى البث المباشر (streaming).
00:06:17مع Chat SDK، أصبح البث أمرًا بديهيًا.
00:06:20أقوم بإنشاء بث ونشره في سلسلة الرسائل.
00:06:23هذا كل شيء.
00:06:24لم أضطر للبحث عن كيفية تعامل Slack مع البث
00:06:27أو كيفية تعامل Discord مع التحديثات الجزئية.
00:06:30استخدمت واجهة برمجة تطبيقات واحدة.
00:06:32وبالعودة إلى Slack، إذا أشرت إلى البوت،
00:06:35سنراه يبث رده إلينا بشكل أصلي.
00:06:40لكن لماذا نتوقف عند هذا الحد؟
00:06:42ماذا لو أردت إرسال رسائل مباشرة إلى وكيلي
00:06:45على منصات مثل WhatsApp أو Telegram؟
00:06:49مع Chat SDK، الأمر سهل.
00:06:52أضيف مستمعًا للرسائل المباشرة والمحول المطلوب.
00:06:56الآن سيحصل أي شخص يرسل رسالة مباشرة للوكيل على نفس التجربة.
00:07:02إذا فتحت WhatsApp على الويب وقلت،
00:07:06"مرحبًا، كيف حالك؟"
00:07:08سنرى الوكيل يستجيب لرسالتنا المباشرة
00:07:12باستخدام الوكيل الذي بنيناه.
00:07:14الآن بعد أن بنينا وكيلاً،
00:07:16لماذا لا نفتح طلب سحب؟
00:07:18لكن قبل أن نفعل ذلك،
00:07:20ماذا لو استطاع نفس الوكيل الذي دردشت معه على WhatsApp
00:07:24أن يراجع الكود الخاص بي؟
00:07:25كل ما يتطلبه الأمر هو محول GitHub.
00:07:28آتي إلى هنا، وأضيف محول GitHub،
00:07:32وبهذا أكون قد جلبت وكيلي إلى منصة جديدة تمامًا.
00:07:35إذا فتحت GitHub ونظرت إلى طلب السحب هذا،
00:07:39يمكنني الإشارة للوكيل في التعليقات
00:07:42وسوف يستجيب بنفس مستمع الرسائل المباشرة
00:07:45الذي بنيناه سابقًا.
00:07:46Slack، Discord، WhatsApp، Telegram، GitHub.
00:07:51توقف لثانية وفكر في مدى اختلاف واجهات برمجة التطبيقات هذه.
00:07:56لكن بملف واحد وبضعة أسطر من الكود،
00:07:59جلبنا وكيلنا إليها جميعًا.
00:08:01مع Chat SDK، تبني تجارب الوكلاء مرة واحدة
00:08:06وتنشرها في كل مكان بواجهة برمجة تطبيقات واحدة.
00:08:09توجه إلى chat-sdk.dev للاطلاع على الوثائق والنماذج.
00:08:14شكرًا لاستماعكم.
00:08:15وأنا متحمس لرؤية ما ستبنونه.
00:08:17(موسيقى مبهجة)

Key Takeaway

تعد Chat SDK واجهة برمجة تطبيقات موحدة تتيح للمطورين بناء وكلاء ذكاء اصطناعي تفاعليين مرة واحدة ونشرهم بسلاسة عبر منصات العمل والدردشة المتنوعة مع الحفاظ على تجربة مستخدم أصلية وغنية.

Highlights

تقديم Vercel لـ Chat SDK كحل موحد لبناء وكلاء الذكاء الاصطناعي التفاعليين عبر منصات متعددة.

معالجة مشكلة التكرار والتعقيد الناتجة عن اختلاف واجهات برمجة التطبيقات (APIs) بين منصات مثل Slack وDiscord وGitHub.

دعم استخدام JSX لبناء واجهات مستخدم غنية وأصلية داخل تطبيقات الدردشة باستخدام مكونات مألوفة للمطورين.

القدرة على إضافة منصات جديدة مثل WhatsApp وTelegram وLinear بمجرد إضافة محول (adapter) بسيط دون تغيير منطق العمل.

توفير تجربة بث مباشر (streaming) موحدة ومتسقة للوكلاء بغض النظر عن دعم المنصة الأصلي لهذه الميزة.

تمكين المطورين من التركيز على منطق الوكيل وذكائه بدلاً من الانشغال بتفاصيل البنية التحتية لكل قناة اتصال.

Timeline

المقدمة وتحديات التكرار في بناء الوكلاء

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

ماهية Chat SDK وحل مشكلة تعدد المنصات

يشرح مالته كيف أن AI SDK حلت مشكلة مزودي النماذج، وأن Chat SDK تقوم بنفس الشيء للوكلاء التفاعليين عبر توفير واجهة موحدة لمنصات مثل Telegram وWhatsApp وDiscord. ينضم فرناندو لمشاركة تجربته في بناء وكلاء V0 في الخلفية، حيث واجه طلباً فورياً من المستخدمين لتوفير الوكيل على منصات مختلفة مثل Linear وGitHub. يقارن فرناندو هذا الوضع بظهور React Native الذي سمح ببناء تطبيقات الجوال عابرة للمنصات بكود واحد. يوضح أن Chat SDK سمحت له بالتركيز على ذكاء الوكيل بدلاً من القلق بشأن الاختلافات التقنية الفريدة لكل منصة. هذا الجزء يبرز القيمة الاستراتيجية للأداة في تسريع وتيرة التطوير وتقليل التكاليف التشغيلية.

التطبيق العملي واستخدام JSX في واجهات الدردشة

يستعرض مات مثالاً عملياً لبناء بوت بسيط يبدأ برسالة "hello world" في منصة Slack باستخدام كود يسير جداً. يوضح مات كيف قامت Vercel بجلب قوة JSX إلى Chat SDK لتمكين المطورين من بناء مكونات تفاعلية غنية مثل الأزرار والبطاقات بشكل مألوف. يظهر العرض التوضيحي إضافة أزرار "متابعة" و"إلغاء" وكيفية معالجة التفاعلات بشكل أصلي تماماً داخل واجهة Slack. النقطة الأكثر إثارة هي إمكانية نقل هذه التجربة بالكامل إلى Discord بمجرد إضافة محول واحد فقط ودون أي تغيير في الكود البرمجي. يثبت هذا القسم قدرة الأداة على توحيد تجربة المستخدم والمطور على حد سواء رغم اختلاف المنصات.

البث المباشر والتوسع نحو WhatsApp وGitHub

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

Community Posts

View all posts