Pstack Is Agent Overkill. Use It Anyway!
620 segments
إليكم لورين تان،
المهندسة الماهرة. لقد
عملت في شركة نتفليكس.
هي عضو في فريق "رياكت"
الأساسي، ربما سمعتم
عن "رياكت"، وتشغل منصب
مهندس رئيسي في "سبيس
إكس" وكذلك "كيرسور".
إذا كنت تبني وكلاء
برمجة أو تستخدم أي
نوع من مصانع
البرمجيات، فعليك
الاطلاع على مجموعة
مهاراتها. إنها ببساطة
عبارة عن عقل مهندس
خبير مستخلص في حزمة
واحدة. حتى صديقنا "ثيو
" قام بتحليل عميق لمدى
روعة مهاراتها. لذا،
حتى لو لم ينتهِ بك
الأمر باستخدام "P Stack"،
فإن مجرد قراءتها
سيمنحك تفصيلاً
لكيفية عمل ممارس جاد
للوكلاء على نطاق واسع
. لذا، وفي ظهيرة واحدة
فقط، أنشأت مدير
المهارات هذا المسمى "
مولتن بيس" لإدارة كل
مهاراتي عبر وكلائي
المختلفين. سأصحبكم
خلال بعض تفاصيل تلك
العملية واستعراض لكل
المهارات الجديرة
بالملاحظة. هذه بضع
دقائق ستساعدك حقاً في
تحسين عملك مع الوكلاء
. تنقسم "P Stack" إلى جميع
مبادئها وقواعدها
الهندسية، ثم لدينا
كتيبات التشغيل، التي
يمكنك اعتبارها
إجراءات تشغيلية،
ليعرف الوكيل ما يجب
فعله تالياً، ثم كل
المهارات الفردية
وأوامر الشرطة
المائلة التي تقوم بكل
العمل. حتى بعد
استخدام الوكلاء لمدة
عامين وبناء مجموعتي
الخاصة من المهارات،
هناك القليل منها هنا
سيتم إضافته بالتأكيد
إلى قائمتي
الافتراضية. إذاً،
يمكنك تشغيل "P Stack" في
أي مكان تريده، سواء "
Cursor" أو "Cloud" أو "Code" أو "
Codex". يمكنك العثور على
المستودع الرسمي من "
Cursor" ولورين في إضافات
"Pstack" على "Cursor". سأترك
الرابط في الوصف
بالأسفل. والأمر بسيط
مثل كتابة {slash} add plugin
Pstack عندما تكون في "Cursor
". إذا كنت تريد تشغيل
هذا على "Cloud" أو "Code" أو
"Codex" أو "Open Code"، فقد
وجدت هذا المستودع غير
الرسمي بواسطة مايكل
دينير. لقد قام بنقلها
إلى كل واحد من هؤلاء
الوكلاء. لذا، يمكنك
في الواقع تشغيل ذلك
عن طريق تثبيته من
أسواق الإضافات. قلب "
Pstack" هو وضع "البطاطس"(
potato mode). إنه في الأساس
موجه يساعدك في تحديد
أي واحدة من المهارات
التي تزيد عن 20 مهارة
يجب عليك استخدامها
أولاً. لذا، ما لدينا
هنا في شجرة المهارات
هو أساساً 22 كتيب
تشغيل. إنه يقدم
مجموعة لطيفة من
الأمثلة هنا لحالات
استخدام مختلفة مع كل
واحدة من المطالبات.
أحب دائماً الفرص
لبناء برمجيات جديدة.
لم أجد مدير مهارات
جيداً يعجبني
استخدامه، لذا دعونا
نبني واحداً خاصاً بنا
. لقد أعطيت وضع "
البطاطس" مطالبة هنا،
ودعونا نرى أي مهارة
من مهاراته سيستخدمها
للبدء في ذلك. إذن، أول
شيء نراه هنا هو أن وضع
"بوتيتو" يعتمد فعلياً
على منهجية "اكتشف
الحل بنفسك". إذا كنت
تتوقع شيئاً مثل قدرات
"بي ماد" الخارقة أو
مواصفات مفتوحة، فهذا
ليس مصمماً بالضرورة
للمواصفات والتخطيط.
هذا مخصص للعمل على
قاعدة برمجية قائمة
بالفعل. وجهة نظر
لورانس الشخصية في هذا
الأمر هي: أنا لا أؤمن
بالتخطيط، أفضل
مواصفة هي الكود نفسه.
لذا، لا توجد مهارة
تخطيط مدرجة عمداً في "
بي ستاك". الآن، يمكنك
رؤية مهارة "أرينا" وهي
قيد التنفيذ بالفعل.
لدينا فكرة تصميم
موزعة بين كلود، جي بي
تي، غروك، وكلود أوبوس
5. هنا تتبخر ميزانية
الرموز (Tokens). إذا كان
لديك ميزة حاسمة
لتطويرها والرموز
ليست مشكلة، يمكنك
تشغيل "أرينا". إنها
تضع ثلاثة أو أربعة
وكلاء مختلفين في
مواجهة نفس المشكلة،
وتأخذ أفضل أجزاء كل
منهم وتدمجها في
التزام نهائي. وهو شيء
كان "كيرسر" قد أدرجه
قبل 6 أشهر ثم قام
بإزالته لاحقاً.
ببساطة، جعلهم
يتنافسون للوصول إلى
أفضل تصميم ثم اختيار
أفضل أجزاء كل تصميم.
بناءً على ما تعلمه كل
وكيل فرعي أثناء العمل
على المشكلة، تقرر "
أرينا" إما الدمج أو
الرفض. الآن، بشكل
مشابه لذلك، لدينا
فكرة "السرب"(Swarm). هي
فكرة أنك مجدداً تمتلك
عاملين متوازيين،
لكنك تمنحهم أجزاءً
مختلفة من المشكلة. ثم
تقوم بجمع كل ذلك مرة
أخرى في تقرير واحد
مجمّع. صُمم "بي ستاك"
لتتمكن من العمل
بالتوازي بلا خوف. إذا
كنت تعمل عبر فروع
الميزات، وأشجار
العمل، وما إلى ذلك،
حتى لو كنت تستخدم "
أرينا" أو "السرب"،
فإنه يجمع كل عملك
معاً، مع التأكد من
عدم وجود تداخلات.
حسناً، هذه هي الفكرة
من حيث المبدأ. إنه
ادعاء كبير. لم
أستخدمه بما يكفي
لأقول إن هذا هو الحال
فعلياً، لكن يمكنك
رؤية كيف تم دمج
المبادئ للسماح بذلك.
باستخدام مهارة
التطوير القائم على
الاختبار (TDD)، قام
بإنشاء مجموعة من
اختبارات الوحدة
أولاً وتأكد من نجاحها
قبل المتابعة. هذه
المهارة تعجبني بشكل
خاص. لماذا؟ مهارة "
لماذا" رائعة حقاً.
بدلاً من مجرد فحص نص
المشروع، فإنه يقوم
بمسح جميع بروتوكولات
MCP وواجهات CLI المختلفة
التي لديك والتي تتعلق
بالمشروع. قد يتحقق من
معلومات المنتج في "
بوست تارجيت". قد يذهب
إلى سلسلة محادثات في "
سلاك" لمعرفة سبب
تنفيذ ميزة معينة. قد
يسحب سجلات من "سنتري"
للحصول على صورة كاملة
لسجلات القرار (ADRs) حول
سبب القيام بشيء ما.
بالتأكيد سأقتبس هذه
الفكرة. تماماً كما
يعمل وضع Pydantic كموجه
لكل المهارات في حزمة
البرمجيات، يعمل Open
Router كموجه لكل النماذج
التي قد ترغب في
استخدامها. بشكل أساسي
، مفتاح API واحد
وفاتورة واحدة تمنحك
كل نماذج النصوص
والفيديو والصوت
والصور التي قد
تحتاجها تحت نقطة
اتصال واحدة. هناك
أسباب كثيرة تجعل هذا
أمراً رائعاً، لكن
لليوم، سأكتفي بذكر
سبب واحد. لقد سئمت من
تسجيل الدخول إلى
لوحات تحكم مختلفة،
ومعرفة مفاتيح API التي
أملكها، والتبديل بين
مزودي خدمات الفيديو
والصور. ناهيك عن أن
الوكيل الذكي الخاص بي
يضطر لإدارة الكثير من
واجهات API المختلفة.
لذا، قمت ببناء واجهة
سطر أوامر (CLI) تتفاعل
مع واجهة برمجة
تطبيقات OpenRouter. أريد
أن أكون قادراً على
توليد الصور
والفيديوهات والأصوات
باستخدام أي مزود عبر
Cloud Code أو Cursor أو Codex.
إنشاء مهارة موحدة
يمكنها استدعاء واجهة
سطر الأوامر هذه.
أساساً، جعلت الوكيل
الخاص بي يبني واجهة
سطر أوامر تتصل بـ
OpenRouter مع مجموعة من
المهارات لأتمكن من
توليد الصور والفيديو
والنصوص وحتى الصوت.
أحتاج فقط إلى الحصول
على مفتاح API واحد. بعد
ذلك، يمكنني استخدام
مهاراتي الجديدة
وواجهة سطر الأوامر
عبر API الخاص بـ OpenRouter
للقيام بأمور مثل
توليد فيديو لبطاطس
تدور حول رأسي
باستخدام C Dream. وهكذا،
أصبح لدينا رأس مليء
بالبطاطس. يمكن
لمشاهدي Rob Shox تجربة
OpenRouter عبر الرابط
الموجود في الوصف
بالأسفل. التالي من
حيث الفائدة، لدينا
أداة Recall. تعد Recall
رائعة عندما تريد
العودة للعمل على
مشروع توقفت عنه لتوك.
ربما مر أسبوع أو نحو
ذلك، وتحاول تذكر ما
وصلت إليه. ستقوم
الأداة بمسح جميع
النصوص المفرغة. بل
ستستخدم مهارة Hawaii
للتحقق من ملفات MCP
الخاصة بك مثل Notion أو
Linear أو Posthog لمعرفة
موقعنا وما نحتاج
لفعله تالياً. بصراحة،
مجرد قراءة المهارات
نفسها تقدم تعلماً
رائعاً للمطورين. هناك
أنماط مذهلة تستحق
المعرفة حقاً. لذا،
بمجرد تطوير الكود،
ننتقل إلى مرحلة
التحقق. لدينا أداة
Interrogate. مع Interrogate، أنت
تحصل بشكل أساسي على
نموذجين أو ثلاثة
لمراجعة أو تدقيق
الكود وفقاً لمعاييره.
تقوم نماذج متعددة
مختلفة بمراجعة نفس
الكود وتعود بآرائها
حوله. حسناً، ستستهلك
الكثير من الرموز (tokens)
مع بعض هذه المهارات،
ولكن إذا كنت تبحث عن
أعلى وأدق جودة للكود،
فمن المحتمل ألا يهمك
عدد الرموز المستهلكة
هنا. هذه الأداة أحبها
بشدة. إنها مهارة
إنشاء التحقق. لذا،
فقد أنشأت في الأساس
طريقتها البرمجية
الخاصة لإثبات سلوك
التطبيق. علينا التعمق
في الجذر، والعديد من
المشاريع المختلفة،
والإعدادات. يجب علينا
المسح باستمرار
للتأكد من تحديث كل
شيء. هناك مساحة كبيرة
لهذا التطبيق ليبدو
وكأنه يعمل، ولكنه في
الواقع معطل جوهرياً
أو يعطينا بيانات
خاطئة. لذا، فقد ذهبت
وأنشأت مجموعة من نصوص
التحقق وعمليات الفحص
المتبادل. عندما
تتعامل مع وكلاء غير
حتميين، فإن هذا النوع
من خطوات التحقق يكون
قيماً للغاية. لدينا
أيضاً مهارة الحفاظ
على التحقق. غالباً ما
ينحرف النص أو أداة
التحقق التي أعددتها
عن مسار التطوير مع
تطور التطبيق. لذا،
فإن تشغيل هذه المهارة
سيعود في الواقع
للتأكد من تحديثها.
مهارة الهجوم (Onslaught)
هي هدية مطلقة إذا كنت
تستخدم وكلاءك للقيام
بأي شكل من أشكال
الكتابة. بهدف القضاء
على كل تلك العبارات
المزعجة مثل "لحظة
محورية"، "حاسم"، "تعمق"
، "دائم"، والعبارة
المثيرة للجدل،
والتخلص من الشرطات
الطويلة تماماً. أنا
في الواقع أحب الشرطات
الطويلة. استخدمتها
منذ فترة طويلة قبل
ظهور الذكاء
الاصطناعي. من المحزن
رؤيتها تختفي، لكن
يبدو أنه من المحتم
أنها علامة كبيرة
للناس على استخدام
الذكاء الاصطناعي
عندما ترى ذلك الخط
الصغير. لنفترض أنني
كنت أشغل الكثير من
الوكلاء بالتوازي
طوال الصباح وعقلي
يتوقف عن العمل. هذا
كثير جداً بالنسبة لي
لأتحمله. يمكنني
بالفعل تشغيل مهارة "
الأخ"(bro)، والتي تعيد
صياغة الرسالة
الأخيرة بلغة بشرية
بسيطة بدون مصطلحات
فنية. لذا، دعونا
نجربها. مهارة "الأخ"
هذه هي هدية مطلقة
للوضوح، خاصة عندما
يكون عقلك مرهقاً من
العمل على 10 وكلاء
مختلفين. لذا، يمكننا
تعلم الكثير عن حزمة P
وكيفية عملها من مهارة
"أرني عملك". لذا، قمت
بتشغيل هذا في
الاستدعاء الأول لتلك
المطالبة الواحدة.
تذكر، هذا الأمر برمته
كان بضربة واحدة من
تلك المطالبة الواحدة
التي بدأنا بها. لذا،
مثل أي مهندس جيد، بدأ
الأمر ببعض الاستكشاف.
لذا، يمكن أن يكون
الاستكشاف اختباراً
سريعاً لمعرفة ما إذا
كان ما نحاول تحقيقه
ممكناً أصلاً. نحن لن
نبني تطبيقاً كاملاً،
سنكتب فقط نصاً
برمجياً صغيراً
ونستكشف لنرى ما إذا
كان ذلك ممكناً حقاً.
لذا، الإطار الأولي هو
فهم متطلبات وقيود
الطلب. في هذه الحالة،
نحن نقول إننا نريدها
أن تعمل على نظام ماك،
ولكن في النهاية على
أنظمة أخرى أيضاً.
إذًا، هو قادر على
إنشاء إطار لما يحتاج
إلى بنائه. بعد ذلك،
قمنا ببعض الهياكل
الأساسية للتطبيق قبل
الانتقال إلى مرحلة
الساحة، حيث عملت
أربعة وكلاء بالتوازي
على المشكلة. هذا
الجزء مثير للاهتمام
بشكل خاص. تغييرات
التصميم التي يفرضها
الواقع. قد تكون هذه
أحيانًا مشكلة
التخطيط المفرط في
البداية. عندما يضع
الوكيل خطة مفصلة
للغاية، فإنه لم
يتعامل بعد مع الواقع
فعليًا. فقط أثناء
البناء والتطوير
تتحطم افتراضاتنا،
فنضطر لإعادة صياغة
المشكلة ووضع خطة
جديدة أثناء العمل. في
المرحلة "هـ" هنا، نقوم
بجميع اختبارات
التحقق ثم ننهي الأمر
بالمراجعة. وهذا هو
السبب في أن التحقق
مهم جدًا. أدرك الوكيل
أنه قد هلوس ببعض
التفاصيل. لقد رصد
ثلاث ادعاءات خاطئة
تمكن من تصحيحها. لذا،
دعونا نلقي نظرة على
المبادئ الأساسية.
أولًا، بروتوكول
الكسل. أحب هذا المبدأ
كثيرًا. عند إعادة
هيكلة الكود، لنبحث عن
إمكانية حذفه وجعله
أبسط بكثير بدلًا من
إضافة المزيد من الكود
. ولنستهدف أصغر تغيير
لإنجاز المهمة، لأن
ذلك يؤدي حتمًا إلى
كود يسهل صيانته
لاحقًا. إذًا، إعادة
التصميم من المبادئ
الأولى. مع نمو مشروعك
وإضافة المزيد من
الميزات، قد يقرر
الوكيل إضافة الميزة
أو الوظيفة التالية
بشكل جانبي. ما تفعله
إعادة التصميم من
المبادئ الأولى هو
ببساطة تخيل أننا نضيف
هذه الميزة منذ اليوم
الأول. كيف ستنظر إلى
هيكلية الكود؟ كيف كنت
ستصمم الهيكل الأساسي
وقاعدة البيانات
والهياكل لضمان أن
تكون هذه الميزة جزءًا
أصيلًا؟ قد يتضمن ذلك
في الواقع إزالة بعض
الهياكل والأكواد
للوصول إلى النتيجة
المرجوة. مرة أخرى،
الهدف ليس المزيد من
الكود، بل أقصى تأثير
بأقل قدر من الكود.
تقليل العبء على
القارئ. لقد سئمنا
جميعًا من طلبات السحب
(PRs) الضخمة التي
يكتبها الوكلاء بكود
غير مترابط عبر العديد
من التجريدات
والوحدات. الفكرة هنا
هي تقليل العبء على
القارئ. نحن نبقي
الأمور بسيطة للغاية
مع أقل قدر ممكن من
التجريدات. استنفاد
مساحة التصميم. هنا
يأتي دور ساحة الوكلاء
بشكل كبير. يمكننا
الاستعانة بنماذج
ووكلاء مختلفين
يعملون على نفس
المشكلة، لنخرج بأفضل
النتائج، ثم ندمج أفضل
الأجزاء في التزامنا
النهائي (commit). في
دورتي التدريبية،
أُدرّس ما يسمى بوضع
التصميم، حيث نقوم
فعلياً بتنفيذ نماذج
أولية لعدة تباينات
لما قد تبدو عليه
الواجهة دون وجود
قاعدة بيانات أو كود
في الخلفية، حتى نتمكن
من التوصل إلى أفضل
خيار للتصميم قبل
المضي قدماً. المبدأ
التالي هو "اصنع رافعة"
. لذا، إذا كنت ستفعل
شيئاً ما باستخدام
وكيلك يدوياً عدة مرات
، فلماذا لا تبني أداة
لذلك؟ قد يكون ذلك
واجهة سطر أوامر (CLI).
قد يكون نصاً برمجياً
يقوم بنفس عملية
التحقق مراراً
وتكراراً، وهو ما نراه
عبر مقياس التحقق. لقد
رسخت "Learn" أيضاً بعض
المبادئ الرائعة هنا.
بصراحة، تأمل أن يبدأ
نموذج مثل "Fable" أو "Astra"
في التفكير في هذه
الأمور وتضمينها بشكل
طبيعي، ولكن عندما
يتعلق الأمر بخطوات
التحقق، فلا ضرر من
تطبيق هذه المبادئ
لاحقاً. أحد أكبر
المبادئ التي تسري في
كامل حزمة العمل هو
التحقق. أن يكتمل
الكود وتنجح
الاختبارات ليس مثل
الاختبار الفعلي
وإثبات عمله كمنتج
حقيقي من خلال تحقق
أعمق، سواء كان ذلك
عبر استخدام الحاسوب
أو اختبارات الطرف إلى
الطرف. احمِ نافذة
السياق ولا تعطل
العنصر البشري أبداً.
يمكنك رؤية هذا في
جميع المهارات
وكتيبات التشغيل.
نافذة السياق
المركزية هي المفتاح.
إنها مهمة. كيف نقوم
بتفويض أجزاء من
المهمة إلى وكلاء
فرعيين؟ لديهم نوافذ
سياق خاصة بهم للقيام
بعملهم ثم يقدمون
تقاريرهم إلى المسار
المركزي. لقد أدت
المهارات والمنهجية
المدمجة، رغم تكلفتها
العالية من حيث الوقت
والرموز، إلى تطبيق
أكثر قوة ومتانة.
باستخدام "Fable 5.1" بدون
وضع التخطيط وبدون أي
مهارات مرفقة، استغرق
إنجاز المشروع حوالي 30
دقيقة. باستخدام حزمة "
P stack"، استغرق الأمر
ساعة واحدة. إذاً، ضعف
مقدار الوقت. ومع ذلك،
فإن الفرق بين
المشروعين جوهري. الآن
، لنكن واضحين جداً.
حزمة "P stack" هي مجموعة
من الآليات والمهارات
في مستودعك وستكلفك
أموالاً أكثر بكثير.
كل عمليات التحقق
والمصادقة والأسراب
هذه تعني استهلاكاً
كبيراً للرموز. قد لا
تحتاج إلى استخدام هذه
التقنية في كل مشروع
لديك، ولكن على الأقل
أصبحت لديك فكرة عما
تجيده وأين يمكن
استخدامها. إذا كنت
تجري تغييرات تصميمية
صغيرة أو تعمل على
واجهة المستخدم
الأمامية، فربما لا
تحتاج لاستخدام هذا.
لذا، إذا كنت مشتركاً
في القناة، وآمل أن
تكون كذلك، فأنا أعمل
على سلسلة من
الفيديوهات حول
المهارات ودورة حياة
تطوير البرمجيات (SDLC)
للمطور الحديث الذي
يستخدم الوكلاء. لدي
دورة تدريبية حول هذا
الموضوع قريبًا، لذا
إذا أردت الانضمام إلى
قائمة الانتظار
للدفعة الأولى، يمكنك
تسجيل اهتمامك عبر
الموقع switchdimension.com.
Ask follow-up questions or revisit key timestamps.
Loading summary...
Videos recently processed by our community