#planning-reflection — الذكاء الاصطناعي الوكيلي
التخطيط والتأمّل والتصحيح الذاتي: من 60% إلى 90% نجاحًا.
ما ستُجرّبه
- مرحبًا بك في قناة #planning-reflection. المشهد فارغ بعد: لا شجرة، ومقياس الثقة عند 0%. هذه نقطة انطلاق كل عميل — لا يعرف كيف يقسّم مهمّته. العميل المتين لا يكتفي بحلقة فكرة–فعل–ملاحظة كما في #react-loop: بل يخطّط أولًا (يقسّم الهدف إلى 5–7 مهامّ فرعية)، ثم ينفّذ بالترتيب، ثم يتحقّق، ثم يتأمّل إخفاقاته لإعادة التخطيط. هذا هو نمط Plan-and-Execute (Wang et al., 2023) الموسَّع بـReflexion (Shinn et al., 2023): العملاء الذين يملكون خطة صريحة يقفزون من نحو 60% إلى 90% نجاحًا في المهامّ متعدّدة الخطوات. في الأعلى: شريط الطور ومقياس الثقة. في الأسفل: الهدف الحالي.
- حمِّل هدفًا جاهزًا:
/scenario refactor. على العميل إعادة هيكلة وحدة إلى 3 ملفات — سترى الكرة الزرقاء «الجذر» (الهدف) تظهر في الأعلى، دون خطة فرعية بعد. - قسِّم الهدف:
/plan. راقب ظهور الكرات الرمادية الخمس واحدة تلو الأخرى تحت الجذر — تحليل الوحدة، ثم تقسيم إلى 3 ملفات، ثم استخراج الأنواع، ثم تصحيح عبارات import، ثم تشغيل الاختبارات. - نفّذ العقدة الأولى:
/step. تنبض كرة تحليل الوحدة باللون الأزرق (قيد التنفيذ)، ثم تتحوّل إلى الأخضر مع علامة ✓. يرتفع مقياس الثقة من 0 إلى نحو 20%. - تابع:
/step. هذه المرّة تفشل عقدة تقسيم إلى 3 ملفات (أحمر، ✕). يتوقّف العميل في طور REFLECTION — ينخفض المقياس، وتظهر هالة بنفسجية خافتة حول العقدة الفاشلة. - أصلِح الخطة:
/reflect. تتحوّل العقدة الفاشلة إلى الذهبي (☆ أُعيد التخطيط، وتبقى القديمة مرسومة لكن باهتة ورفيعة)، وتظهر عقدة جديدة تقسيم + اختبارات وحدة بجانبها جاهزة للتنفيذ. - دع الحلقة تكتمل تلقائيًّا:
/run. تتسلسل عقدة التصحيح ثم بقية العقد حتى شريط ✓ DONE. يبلغ مقياس الثقة ذروته وتلخّص اللوحة اليمنى: 5 نجاحات و1 أُعيد التخطيط. - دورك الآن. جرّب
/scenario data، ثم/plan، ثم/budget 5 1، ثم/run— سيُبلغ سقف الخطوات قبل النهاية، وسيظهر الشريط ✕ FINAL FAILURE (درس محوري حول مشكلة إيقاف العميل). أو جرّب/scenario research، ثم/plan، ثم عدّة/step، ثم/verify nokلفرض فشل على عقدة ناجحة، ثم/goal Migrate PostgreSQL 15 to 16لإعادة تعريف الهدف، ثم/resetللبدء من جديد. التالي: #multi-agents (بريميوم) حيث يتقاسم planner وworkers وverifier العمل صراحةً — أو ارجع إلى القناة المجانية #react-loop.
أوامر القناة
/scenario <refactor|data|research>— حمِّل هدفًا جاهزًا (الجذر فقط)./plan— قسِّم الهدف إلى 5 مهامّ فرعية (شجرة الخطة)./step— نفّذ العقدة التالية المنتظرة (نجاح أو فشل حتمي)./run— كرِّر تنفيذًا + تأمّلًا حتى الاكتمال أو الفشل النهائي./reflect— على آخر عقدة فاشلة: أعِد التخطيط (هالة بنفسجية + شجرة فرعية بالذهبي)./verify <ok|nok>— افرض حكمًا على آخر عقدة مُنفَّذة (مفيد لاستكشاف الفروع)./budget <steps=3..20> <reflections=0..5>— حدّد شبكة الأمان: الحدّ الأقصى للخطوات والتأمّلات./goal <text>— أعِد تعريف الهدف وأعِد ضبط الشجرة./reset— أعِد ضبط القناة إلى حالتها الأولى (شجرة فارغة).
المسرد
- Plan-and-Execute (خطّط ثم نفّذ)
- نمط عميل يفصل بين دورَين: المخطِّط يقسّم الهدف إلى مهامّ فرعية مرتّبة، ثم المنفِّذ يشغّلها واحدة تلو الأخرى. المرجع: Plan-and-Solve Prompting (Wang et al., 2023). مقارنةً بحلقة ReAct الخالصة (#react-loop)، يصبح الأثر قابلًا للتحقّق قبل التنفيذ — فتوفّر استدعاءات LLM على مسارات خاطئة.
- Reflexion (التأمّل الذاتي)
- تقنية ينتج فيها العميل، بعد الفشل، نقدًا ذاتيًّا بلغة طبيعية يضيفه إلى سياقه ليعيد المحاولة والدرس حاضر في ذهنه. الورقة: Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn et al., 2023). تُحسّن معدّلات النجاح بشكل ملحوظ على HumanEval وHotpotQA وALFWorld.
- Tree-of-Thought (شجرة الأفكار)
- تعميم لسلاسل الأفكار (chain-of-thought): بدلًا من خطّ استدلال واحد، يستكشف العميل شجرة من الاستدلالات الممكنة، مع تقييم كل فرع. الورقة: Tree of Thoughts (Yao et al., 2023). مكلفة في الرموز لكنها فعّالة في المهامّ التي تتطلّب تراجعًا (تخطيط، كلمات متقاطعة، Game of 24).
- تقسيم المهامّ (task decomposition)
- تفكيك هدف عالي المستوى («أعد هيكلة هذه الوحدة») إلى 5-10 مهامّ فرعية ملموسة وقابلة للتنفيذ. هذه هي اللبنة الأساسية لـPlan-and-Execute: بدونها، يضيع نموذج اللغة في منتصف الطريق. قاعدة جيّدة: كل مهمّة فرعية تسع في جملة واحدة ويمكن التحقّق منها في دقيقة أو دقيقتين.
- المتحقِّق (verifier)
- مكوّن (غالبًا استدعاء LLM ثانٍ، وأحيانًا اختبار وحدة أو فحص أنواع) يتحقّق من أن المهمّة الفرعية نجحت فعلًا. بدون verifier، يأخذ العميل أفعاله على علّاتها ويكدّس أخطاءً صامتة. يُصاغ هذا بشكل رسمي في #multi-agents (بريميوم).
- التصحيح الذاتي (self-correction)
- قدرة العميل على اكتشاف أخطائه وتصحيح المسار. عمليًّا: verifier ← يكتشف الفشل ← تأمّل ← استراتيجية جديدة. يعزّز موثوقية العميل، لكنه لا يكفي وحده: بدون ground truth خارجية، قد «يصحّح» LLM نحو إجابة خاطئة بنفس القدر.
- مشكلة إيقاف العميل (agent halting problem)
- قد يدخل عميل LLM في حلقة لا نهائية (تكرار الفعل نفسه، التفكير دون فعل، الضياع في التأمّلات). لا يوجد ضمان نظري للإيقاف: لذلك يُشحن كل عميل في الإنتاج بـميزانية صارمة (سقف للخطوات، وللتأمّلات، وللتكلفة) وبمفتاح إيقاف — ليس اختياريًّا بل إلزاميًّا.
- ميزانية التكرارات (iteration budget)
- سقف صارم يتوقّف عنده العميل، حتى بلا إجابة. بُعدَان هنا:
steps(عدد العقد المنفَّذة) وreflections(عدد إعادات التخطيط). اكتب/budget 5 1مع السيناريو data لترى سقف الخطوات يُحدث فشلًا نهائيًّا (FINAL FAILURE). - إعادة التخطيط (replanning)
- إضافة (أو استبدال) فرع من الخطة الأصلية بعد فشل. هنا: تتحوّل العقدة القديمة إلى الذهبي (بعلامة ☆)، وتظهر شجرة فرعية جديدة. مختلفة عن مجرّد إعادة تشغيل: تغيّر الاستراتيجية، لا مجرّد الوسائط.
- شجرة الخطة (plan tree)
- تمثيل هرمي للهدف: الجذر = الهدف العام، الأبناء = المهامّ الفرعية، الأحفاد = المهامّ الفرعية الفرعية. مرسومة هنا ثلاثيّة الأبعاد بمستويين (جذر + أوراق) للحفاظ على الوضوح؛ يمكن للعملاء الحقيقيين النزول 3-4 مست ويات مع خطط فرعية متداخلة.
قنوات أخرى في الذكاء الاصطناعي الوكيلي
- #react-loop — حلقة ReAct لدى الوكيل: فكرة ← فعل ← ملاحظة، مباشرةً.
- #tool-calling — استدعاء الأدوات (function calling / MCP): الـJSON الذي يجعل النموذج LLM يفعل.
- #slash-commands — أوامر الشرطة المائلة، على غرار Claude Code / Cursor: قوالب، وسائط، تسلسل.
- #context-memory — نافذة السياق وذاكرة العميل: عدّ الرموز، الاقتطاع، التلخيص، الفهرسة.
- #planning-reflection — التخطيط والتأمّل والتصحيح الذاتي: من 60% إلى 90% نجاحًا.
- #multi-agents — العملاء المتعدّدون: planner وworkers وverifier. رسم بياني (DAG) يتفوّق على العميل الأحادي.