Phase 16: Multi-Agent & Swarms

الذاكرة المشتركة والخطوط السوداء

هناك نهجين يتوافقون في 2026 أنظمة متعددة الوكلاء:message pool(كل شخص يرى رسائل الجميع، مثل في AutoGen GroupChat أو MetaGPT) و blackboard with subscription(الوكلاء يشتركون في الأحداث ذات الصلة، مثل في Context-Aware MCP أو إطار المصفوفة). كلاهما هو الجزء الوحيد الحالي من نظام متعددة الوكلاء مما يعني أن كلاهما هو حيث يعيش الأخطاء المثيرة للاهتمام. وضع فشل المرجعية هو memory poisoning: يوحش أحد العاملين "الحقيقة" ، يعامل العاملون الآخرونها على أنها مُحققة ، وتتدهور الدقة تدريجياً بطريقة أصعب بكثير من التحليل من حادث فوري. هذه الدروس تبني كلا البنية من stdlib ، وتحقق هجومًا مسمومًا ، وتظهر التخفيفات الثلاثة التي تعمل بالفعل في الإنتاج.

Type: Learn + Build

Languages: Python (stdlib, threading)

Prerequisites: Phase 16 · 04 (Primitive Model), Phase 16 · 09 (Parallel Swarm Networks)

Time: ~75 minutes

المشكلة

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

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

هذا هو تسمم الذاكرة. إنه ثاني أسرة فشل أكثر وثائقًا في تصنيف MAST (Cemri et al., arXiv:2503.13657) وهو بنية: أي تصميم ذاكرة مشتركة دون أصل ومحقق غير مكتوب سيظهر ذلك في نهاية المطاف.

المفهوم

المواقع الرئيسية

Full message pool.كل وكيل يقرأ كل رسالة. أوتوجين مجموعة تشات و MetaGPT تستخدم هذا. بسيط، شفاف، قابل للتفتيش، ولكن لا يتجاوز ~ 10 وكلاء لأن سياق كل وكيل يملأ مع عمل وكلاء آخرين.

agent-A ──write──▶ ┌────────────────┐ ◀──read── agent-D
                   │ message pool   │
agent-B ──write──▶ │                │ ◀──read── agent-E
                   │ (global log)   │
agent-C ──write──▶ └────────────────┘ ◀──read── agent-F

Blackboard with subscription.يعلن الوكلاء عن اهتمامهم بالمواضيع؛ وتتوجّه طرق الأساس فقط إلى رسائل ذات صلة. تستخدم CA-MCP (arXiv:2601.11595) والإطار اللامركزي للماتريكس (arXiv:2511.21686) هذا.

                   ┌─ topic: prices ──┐
agent-A ──pub────▶ │                  │ ──▶ agent-D (subscribed)
                   ├─ topic: orders ──┤
agent-B ──pub────▶ │                  │ ──▶ agent-E (subscribed)
                   ├─ topic: alerts ──┤
agent-C ──pub────▶ │                  │ ──▶ agent-F (subscribed)
                   └──────────────────┘

عندما يفوز كل واحد

  • Full poolفاز عندما يكون العاملون قليلون (< 10) ، متفرقون، والمحادثة قصيرة الأفق. التفكير حول من قال ما هو غير مهم عندما الجميع يرى كل شيء.
  • Blackboardينجح عندما يكون العاملون كثيرون، متجانسين في الدور ولكن عدداً في المثال (السلالة) ، والحوار طويل الأمد. توفر التوجيه تكلفة رمزية وتلوث السياق.

غالبا ما تكون أنظمة الإنتاج مختلطة: حوض صغير كامل في الأعلى (طبقة التخطيط) ، واللواح السوداء في الأسفل (طبقة العمال).

تسمم الذاكرة في سيناريو واحد

ثلاثة عملاء يعملون على مهمة بحثية العميل (أ) هو عميل استرداد العميل (ب) هو مختص

  1. يأخذ شخص ما صفحة ويكتب رسالة إلى الحالة المشتركة: "تقارير الدراسة تحسن دقة بنسبة 42٪".
  2. الصفحة التي أحضرتها في الواقع قالت "تحسن بنسبة 4.2٪". أحدهم كان يوحش بالعشرية.
  3. ب، قراءة حالة المشاركة، يكتب: "مبلغ زيادة كبيرة 42٪ من دقة (المصدر: A). "
  4. "C، قراءة حالة المشاركة، يكتب: "أوصي تبني 42% رفع هو تحويلي".
  5. التقرير النهائي يذكر 42٪ من العدد الذي لم يكن موجوداً أبداً.

لا يوجد عميل قد سقط، لا اختبار فشل، النظام "عمل" الهلوسة عبر من سياق عميل واحد إلى كل عامل في التفكير التدريجي عبر حالة مشتركة

لماذا هذا هيكلي

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

المشكلة ليست في الدولة المشتركة نفسهاwithout provenance and without an independent verifierثلاثة تخفيفات تتناول هذا:

  1. Attribute provenance on every write.كل مدخل في سجلات الولاية المشتركة من كتبها، متى، تحت أي وقت، (إذا كان ذلك مطبقا) ما المصدر الذي استشهد به الوكيل.
  2. Version writes; treat them as append-only.تصحيح هو إدخال جديد يحل محل الإدخال القديم، وليس تحديث في مكان. يتم الحفاظ على مسار المراجعة.
  3. Keep at least one agent that cannot write to shared state.وكيل التحقق القائم فقط يختبر المواد المشاركة، ويعيد الحصول على المصادر، ويعلم عدم الاتساق. لأنه لا يستطيع الكتابة إلى السباحة، فإنه لا يمكن أن يكون مسمومة من قبل السباحة.

سابقة لوحة سوداء (هيز-روث، 1985)

نمط اللوحة السوداء يسبق عملاء ماجستير في العلوم القانونية أربع عقود. وصف هايز-روث (1985, "معماريات لوحة سوداء للسيطرة") مصادر المعرفة المتخصصة التي تلاحظ لوحة سوداء عالمية، وتساهم في حلول جزئية، وتشعل مصادر أخرى. اللوحة السوداء 2026 (CA-MCP، المصفوفة) هي نفس النمط مع وكلاء LLM كمصادر المعرفة وقطرات JSON كحلات جزئية. الأدب القديم وثّق حلول للكتابة للخلاف والسيطرة المفروضة والاتساق التي تكتشفها الأنظمة الحديثة.

التنبؤ مقابل الرؤية الكاملة

لوحة سوداء نقية توفر لكل مشترك نفس التنبؤ (محددة حسب الموضوع). تصميم أكثر عدوانية هو per-agent projection: كل وكيل يحصل على وجهة نظر مخصصة لدوره. خفضات الحالة من LangGraph هي تنفيذ 2026 القنوية يعمل عامل خفضات يضع الحالة العالمية في شريحة محددة للدور.

إنّ التنبؤ لكل عميل يتطور أكثر، لكنّه يحتاج إلى مخطّط، وبدونها، يمكنك إعادة بناء التنبؤ المُحدّث في كلّ عميل.

أنماط محتوى الكتابة

وكلاء متعددون يكتبون في وقت واحد هو مشكلة التزامن، وليس مجرد مشكلة ماجستير في العلوم.

  • Sequential writer (single producer).كل الكتابة تذهب من خلال وكيل منسق واحد الذي يسلسل. بسيط، ولكن عقدة الزجاجة.
  • Optimistic concurrency with versioning.كل إدخال له نسخة، يفشل الكتاب في عدم مطابقة الإصدارات ومحاولة أخرى. تقنية قاعدة البيانات الكلاسيكية.
  • Topic partitioning.وكلاء مختلفون يملكون مواضيع مختلفة لا توجد خلافات عبر المواضيع تتطلب حدود تقسيم مصممة

معظم الإطار 2026 افتراضي للكاتب المتسلسل لأن مكالمات LLM بطيئة بما فيه الكفاية بحيث النزاع نادرة ولا يؤذي عقدة الزجاجة.

المحقق غير القابل للكتابة

التخفيف الأكثر تحملًا هو مؤكد القراءة فقط. قواعد التنفيذ:

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

بدون هذا الانفصال، تصبح نتائج المحقق دخولات جديدة في الحوض، مما يعني أن الحوض المسموم يسمم المحقق، والذي يسمم عمليات التحقق منه.

بناءها

code/main.pyيطبق كل من المواقع في ستدليب بايثون بالإضافة إلى هجوم التسمم لعبة و التخفيف الثلاثة.

  • MessagePool تسجيل التضمينات الآمنة فقط مع قراءة كاملة.
  • Blackboard حانة/سابقة ذات مفتاح موضوع مع اشتراكات لكل وكيل
  • ProvenanceEntry كل سجلات الكتابة (الكاتب، العلامة الزمنية، prompt_hash، source_uri).
  • PoisoningScenarioيدير مهمة بحثية من ثلاثة وكلاء حيث يوحي وكيل A العشرية.
  • Verifier وكيل فقط القراءة الذي يعيد الحصول على المصادر ويشير إلى عدم الاتساق. يعمل بنفس السيناريو مع وجود المؤكد.

أركض

python3 code/main.py

الناتج المتوقع:

  • الجولة 1 (لا مؤكد): النسبة المهتومة 42% تنتشر إلى التقرير النهائي.
  • المدير 2 (مع المؤكد): المؤكد يُعَلِّم عدم الاتساق، يتم وضع علامة على المجموعة "مُعَلَّم"، ويتضمن التقرير النهائي إعلانًا.

استخدمها

outputs/skill-memory-auditor.mdهي مهارة تدقيق تصميم ذاكرة مشتركة أي نظام متعدد الوكلاء من أجل الإصدار والإصدار والفصل بين المؤكدين. تشغيله على معمارات متعددة الوكلاء الجديدة قبل الإنتاج.

أرسله

لأي تصميم ذاكرة مشتركة:

  • سجل منشأ كل كتابة: (writer, timestamp, prompt_hash, tool_calls_cited, source_uri). . .
  • اجعل السجل مرفق فقط. التعديلات هي إدخالات جديدة تشير إلى المبدل.
  • تنشر على الأقل وكيل تأكيد واحد فقط القراءة مع وصول مستقل إلى المصدر.
  • إنتاج مُحقق الطريق إلى قناة منفصلة، وليس العودة إلى الحجم المشترك.
  • سجل نسبة الكتب التي هي إعادة التأثيرات نسبة تزايد هي دليل مبكر على أنماط الهلوسة.

التمارين

  1. أركضcode/main.pyتأكد من أن الجولة الأولى تنشر الهلوسة والجولة الثانية تمسك بها
  2. أضف الهلوسة الثانية: الوكيل ب يختلق حجم مجموعة البيانات. يجب على المؤكد أن يلتقط كلا دون أن يتم ضبط أي منهما يدويا.
  3. قم بتحويل المجموعة الكاملة إلى لوحة سوداء مع قسمات الموضوع (prices،summaries،analysesما هي الحالات التي تجعل التقسيمات المفروضة صعبة على الانتهاء منها، وما هي التي لا تساعد؟
  4. اقرأ هييز- روث (1985, "عملية لوحة سوداء للسيطرة"). حدد نمطين للسيطرة من الورقة التي لم يتم مناقشتها في هذا الدروس التي ستستفيد من أنظمة 2026.
  5. قراءة CA-MCP (arXiv:2601.11595). خريطة متجر السياق المشترك إما إلى درجة MessagePool أو Blackboard في code/main.pyأيّة أسباب بدائية يضيفها (CA-MCP) إلى أعلى؟

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

TermWhat people sayWhat it actually means
Message pool"Shared chat history"Append-only log that every agent reads. Full transparency, poor scaling.
Blackboard"Shared workspace"Topic-keyed pub/sub. Agents subscribe to relevant topics. Scales farther.
Provenance"Who wrote what"Metadata on each write: writer, timestamp, prompt, sources.
Memory poisoning"Hallucinations spreading"One agent's error enters shared state, downstream agents adopt it as fact.
Append-only"No in-place updates"Corrections are new entries that supersede. Preserves audit trail.
Unwritable verifier"Independent auditor"Read-only agent that re-fetches sources and flags inconsistencies.
Projection"Scoped view"Per-agent view computed from global state. LangGraph reducers are the canonical case.
Knowledge Source"Specialist agent"Hayes-Roth's 1985 term for a blackboard participant.

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

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.