Phase 14: Agent Engineering

التفكير: تعزيز اللفظي

تحتاج إلى آلاف التجارب و مجموعة من المواد المعالجة البشرية لإصلاح وضع الفشل التفكير (شين وزملاء، نيوريبس 2023) يفعل ذلك باللغة الطبيعية: بعد كل محاولة فشلت، وكيل يكتب التفكير، ويخزنه في الذاكرة الحلقة، وتشريط المحاولة التالية على تلك الذاكرة. هذا هو النمط وراء حساب وقت النوم ليتا، تعلمات كلود كود CLAUDE.md، وقاعدة التعلم الموالية لتدفق العمل.

Type: Build

Languages: Python (stdlib)

Prerequisites: Phase 14 · 01 (Agent Loop), Phase 14 · 02 (ReWOO)

Time: ~60 minutes

أهداف التعلم

  • أسمائ ثلاثة مكونات التفكير (التمثيل، المقيّم، المرآة الذاتية) ودور الذاكرة الحلقة.
  • تنفيذ حلقة التفكير stdlib مع تقييم ثنائي، حافظ التفكير، ومحاولات جديدة.
  • اختر بين مصادر ردود الفعل المتعددة، والهوريسية، والقيام بتقييم ذاتي لمهام معينة.
  • شرح لماذا التكثيف اللفظي يلتقط الأخطاء التي تحتاج الآلاف من التجارب لتصحيحها على أساس التدفقات.

المشكلة

وكيل يفشل في مهمة. في RL القياسية كنت ستقوم بمزيد من الآلاف من التجارب، وتحساب تراجع، وتحديث الأوزان. مكلفة، بطيئة، ومعظم وكلاء الإنتاج ليس لديهم ميزانية تدريبية لكل فشل.

التفكير (شين وزملاءه) يسأل سؤالًا مختلفًا: ماذا لو فكّر الوكيل فقط في سبب فشله و حاول مرة أخرى مع تلك الفكرة في طلبها؟ لا تحديثات للوزن. لا تراجع. مجرد لغة طبيعية مخزنة بين التجارب.

النتيجة: على ALFWorld يضرب ReAct وغيرها من خطوط الأساس غير المجهزة. على HotpotQA يتحسن على ReAct. على إنتاج الرمز (HumanEval / MBPP) يضع حالة الفن في ذلك الوقت. كل ذلك دون خطوة تراجعية واحدة.

المفهوم

المكونات الثلاثة

Actor         : generates a trajectory (ReAct-style loop)
Evaluator     : scores the trajectory — binary, heuristic, or self-eval
Self-Reflector: writes a natural-language reflection on the failure

بالإضافة إلى هيكل بيانات واحد:

Episodic memory: list of prior reflections, prepended to the next trial's prompt

يدير أحد المحاكمات الممثل. يقوم المقيّم بتسجيله. إذا كانت النتيجة منخفضة، ينتج Self-Reflector انعكاسًا ("لقد اخترت الأداة الخطأ لأنني أخطأت في قراءة السؤال على أنه يسأل عن X عندما كان يسأل عن Y"). يذهب التأثير إلى الذاكرة الحلقة. تبدأ المحاكمة التالية جديدة ولكنها ترى التأثير.

ثلاثة أنواع من المقيّمين

  1. Scalarإشارة ثنائية خارجية. إشارة ALFWorld تنجح أو تفشل. اختبارات HumanEval تمر أو تفشل. أبسط وأعلى إشارة.
  2. Heuristic توقيعات فشل محددة مسبقاً. "إذا كان الوكيل قد أدى إلى نفس العمل مرتين على التوالي، اشير إلى أنه عالق". "إذا تجاوز المسار 50 خطوة، اشير إلى أنه غير فعال".
  3. Self-evaluated يدرج ماجستير في العلوم الدراسية مسارها الخاص. مطلوب عندما لا توجد حقيقة أساسية متاحة. إشارة ضعيفة؛ يزداد ارتباطاً جيداً مع التحقق القائم على الأدوات (الدرس 05 CRITIC).

إن الوضع الافتراضي لعام 2026 هو مزيج: متسع عند المتاحة، متسع عند عدم المتاحة، ومتسع كحافلات سلامة.

لماذا هذا يُعظم

التفكير ليس خوارزمية جديدة بل نمطًا مسمى تقريباً كل عامل إنتاج "تعافي الذات" يستخدم نوعًا ما:

  • حساب وقت النوم ليتا (درس 08): وكيل منفصل يتعكس على المحادثات السابقة ويكتب على كتب الذاكرة.
  • كود كودCLAUDE.mdنمط "إنقاذ الذاكرة": التفكيرات التي تم التقاطها كالتعلمات، والتي تم تعديلها على جلسات مستقبلية.
  • التدفقات العملية/learn-ruleالقيادة: تصحيحات تم التقاطها كقواعد صريحة.
  • عقدات التفكير لـ LangGraph: عقدة تسجل الناتج والطرق لتصميمها إذا لزم الأمر.

كلّها تنبع من نفس البصيرة: اللغة الطبيعية هي وسيلة غنية بما فيه الكفاية لنقل "ما تعلمته من الفشل" بين الجولات.

عندما يعمل و عندما لا يعمل

التفكير يعمل عندما:

  • هناك إشارة فشل واضحة (فشل اختبار، خطأ أداة، إجابة خاطئة).
  • فئة المهام قابلة للتكرار (يمكن طرح نفس نوع السؤال مرة أخرى).
  • هناك مجال للتحسين على المسار (ميزانية العمل الكافية).

التفكير لا يساعد عندما:

  • العميل ينجح بالفعل في المحاولة الأولى.
  • الفشل خارجي (الشبكة أسقطت، أداة مكسورة) التفكير على "الشبكة كانت أسقطت" لا تساعد على تشغيل مستقبلي.
  • تتحول التفكير إلى خرافة تخزين رواية عن رحلة واحدة.

2026 حفرة: تلف ذاكرة. تتراكم الترددات؛ بعضها قديم أو خاطئ؛ وتصبح إعادة التشغيل بطيئة مع نمو المضاد الحصري. التخفيف: ضغط دوري (المدرسة 06) ، TTL على الترددات ، أو وكيل تنظيف منفصل في وقت النوم (Letta).

بناءها

code/main.pyيطبق التفكير على اللعبة اللعبة: إنتاج قائمة 3 عناصر التي تضم إلى هدف. يقوم الممثل بإصدار قوائم المرشحين؛ يقوم المقيّم بتحقق من المبلغ؛ ويكتب المرشح الذاتي سطر حول ما حدث خطأ. يذهب التفكير إلى الذاكرة الحلقة للمحاكمة التالية.

المكونات:

  • Actorسياسة مكتوبة تحسن عندما ترى انعكاسات.
  • Evaluator.binary() إنجاز/فشل على المبلغ المستهدف.
  • SelfReflectorيخلق تشخيص واحد للفشل.
  • EpisodicMemory قائمة محدودة مع تعبيرات TTL.

إشغله

python3 code/main.py

يظهر البصمة ثلاثة تجارب. تجارب 1 تفشل، يتم تخزين انعكاس، تجارب 2 ترى انعكاس وتحسن ولكن لا يزال يفشل، تجارب 3 ناجحة. مقارنة مع خط الأساس (لا انعكاس) فإنه يبقى عالقا في إجابة تجارب 1.

استخدمها

(لانغغراف) يرسل التردد كنمط عقدة/memoryالتدريبات والعمل المفضل/learn-ruleتطبيق الـ "Letta" في وقت النوم يقوم بتشغيل "Self-Reflector" في وقت التوقف حتى يبقى الوكيل الأساسي مقيدًا على التأخير. لا يتم شحن OpenAI Agents SDK لـ "Reflexion" مباشرةً. يمكنك بناؤه باستخدام Guardrail المخصص الذي يرفض المسارات حسب النتيجة والذاكرةSessionالتي تنجو عبر السباقات

أرسله

outputs/skill-reflexion-buffer.mdيخلق ويحافظ على حافظة حلقة مع التقاط العكس ، TTL ، والتنسيق. بالنظر إلى فئة المهمة والفشل ، فإنه ينبعث من عكس يساعد في الواقع التجربة التالية (ليس عامة "كن أكثر حذراً").

التمارين

  1. الانتقال من ثنائي إلى مقيّم مقياس يعيد مقياس المسافة (كم يبعد من الهدف). هل يتقارب أسرع؟
  2. إضافة 10 تجربات TTL للتفكير. هل التفكير القديم يؤلم أو يساعد بعد ذلك النقطة؟
  3. تنفيذ تقييم هيرستي: قم بتسجيل التجربة كمتعلق إذا كررت نفس الإجراء. كيف يتفاعل هذا مع Self-Reflector؟
  4. أخرج (ريفليكسيون) مع ممثل معادٍ يتجاهل الترددات ما هو الحد الأدنى من التدريب على التردد الذي يضطر الممثل إلى ملاحظته؟
  5. اقرأ القسم 4 من ورقة التفكير على AlfWorld. استعاد تحسن نسبة نجاح 130% من الناحية الفكرية: ما هو المفتاح بين دلتا مقابل فانيلا ReAct؟

الشروط الرئيسية

TermWhat people sayWhat it actually means
Reflexion"Self-correction"Shinn et al. 2023 — Actor, Evaluator, Self-Reflector plus episodic memory
Verbal reinforcement"Learning without gradients"Natural-language reflection prepended to the next trial's prompt
Episodic memory"Per-task reflections"Bounded buffer of prior reflections for one task class
Scalar evaluator"Binary success signal"Pass/fail or numeric score from ground truth
Heuristic evaluator"Pattern-based detector"Predefined failure signatures (e.g. stuck-loop, too-many-steps)
Self-evaluator"LLM-as-judge on own trace"Lower-signal fallback when no ground truth — pair with tool-grounded verification
Memory rot"Stale reflections"Episodic buffer fills with obsolete entries; fix with compaction/TTL
Sleep-time reflection"Async self-reflection"Run Self-Reflector off the hot path so primary agent stays fast

المزيد من القراءة

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.