العودة إلى المدونة

نُشر في 22 أغسطس 2026

الدماغ ثلاثي الأبعاد الحي: عرض أسطول الوكلاء كتشريح

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

لذلك بنيت ما أردت أن أراه: دماغ ثلاثي الأبعاد قابل للدوران حيث يكون كل وكيل منطقة، وتنبض المناطق ببيانات القياس عن بُعد الحيّة. هذا هو سجل الهندسة لكيفية عمله.


الربط

تسعة وكلاء، تسع مناطق. ليس استعارةً ممتدةً حتى تنفجر — بل هي مراسلة هيكلية فضفاضة تكون مفيدة بدقة لأنها خاطئة بالطرق الصحيحة. الوكيل الرئيسي يتعامل مع التخطيط والإرسال على المستوى الأعلى، لذا يقع في القشرة الجبهية الجبهية الجانبية الظهرية (dlPFC) — الجزء من الدماغ الذي يؤدي الوظيفة التنفيذية. وكلاء الترميز يتعاملون مع اللغة والصياغة، لذا يستقرون في الجبهي السفلي الأيسر (L-IFG) والظهرية ما قبل الحركية المسبقة (pre-PMd). وبالتالي:


الوكيل المنطقة(الس) الدور
الرئيسيالقشرة الجبهية الجبهية الجانبية الظهريةالتحكم التنفيذي، الإرسال
مبرمجالتلفة الجبهية السفلية اليسرىالصياغة، توليد الكود
مبرمج خفيفالمنطقة السابقة للقشرة الحركية التمهيدية الظهريةمعالجة الصياغة الأخف
مبدعالتقاء الصدغي الجداري الأيمن + القطب الجبهي الأيمنالتفكير المتباين، السياق الاجتماعي
whatsapp-ضيفالشُّق الصدغي العلوي الأيمن + التلفة الجبهية السفلية اليمنىمحادثة، لغة موجهة للضيف
باحثالحُصين + القشرة داخل الجمجمةاسترجاع الذاكرة، توجيه المعرفة
عملياتالعقد القاعديةحلَقَات العادات، أتمتة البنية التحتية
متخصص في التشخيصالجزء الأمامي من الجزيرة + الجزء الأمامي من اللفافة القلبيةالإدراك الداخلي، كشف الأخطاء
متخصص في التشخيص الخفيفpIns ###7--> إدراك داخلي أخفالإدراك الداخلي الأخف



الهندسة

كل منطقة هي كتلة مولدة إجرائيًا. بدأت من icosahedron منقسم وتطبيق حركة براونية كسريّة بـ 3-octave (fbm) على مواقع الرؤوس — إزاحة شبيهة بـ Perlin-ish تعطي كل منطقة شكل ظلي عضوي ومتكتلة قليلًا بدلاً من كرة مثالية. الإزاحة السعة يُحدَد بواسطة telemetry، لذا فإن المنطقة المشغولة تنتفخ وتترجف أكثر من المنطقة الخاملة.

يجلس الدماغ بأكمله داخل قشرة زجاجية. هنا حيث عضّني three.js r128. أردت مادة زجاجية فيزيائية حقيقية مع transmission — الخاصية التي تجعل الضوء ينحني عبر سطح. لكن MeshPhysicalMaterial.transmission وصل في r144. في r128، أقرب تقريب هو transparent: true مع عتامة منخفضة، clearcoat للوميض التspecular، وside: DoubleSide بحيث ترى ظهر القشرة من خلال الأمام. تعمل القشرة عند عتامة 0.14 وطلاء واضح 0.6. ليست فيزيائية صحيحة. تبدو صحيحة، وهذا ما يهم أكثر.

three.js مُورَّد محليًا — بدون CDN. تُقدَّم المكتبة بأكملها من مسارات /vendor/* على لوحة القيادة. هذا يتجنب الاعتماد على مضيف طرفٍ ثالث ويحافظ على لوحة القيادة مستقلة ذاتيًا.

يمنحك OrbitControls التخميد، وتقييد مسافة بين [2, 20]، وتقييد زاوية قطبية بحيث لا يمكنك الانقلاب تحت الدماغ والضلال. عند النقر على منطقة، تتحرك الكاميرا خلال 700 مللي ثانية لتأطيرها، وتخفت كل منطقة أخرى إلى 10% من العتامة، وتنزلق لوحة تفاصيل التأثير الزجاجي لتظهر سلسلة النموذج، والإحصاءات الحية، وقائمة تجاوز. عند النقر بعيدًا، يعود كل شيء إلى حالته.


القياس عن بعد → الحركة

تستطلع لوحة القيادة /api/state كل 500 مللي ثانية. يدفع هذا JSON كل شيء بصري: شدة الانبعاث على كل منطقة، amplitud إزاحة الرؤوس، شرارات جسيمات في المناطق الساخنة، ونبضات على خطوط الاتصال.

كان القرار الرئيسي هو إعطاء كل منطقة توقيع الحركة — إحساس إيقاعي مختلف بحيث يمكنك تمييز الوكلاء عند لمحة دون قراءة التسميات:

  1. الرئيسي — وميض غاما عند 40 هرتز. سريع، مهيمن، هو ما تقع عليه العين أولًا.
  2. المبرمج — موجة بيتا عند 20 هرتز. ثابت، ميكانيكي.
  3. المبرمج-خفيف — 12 هرتز. نسخة أكثر لطفًا من إيقاع المبرمج.
  4. متخصص التشخيص — انفجار البارزية عند 60 هرتز باستخدام pow(sin(t), 8). ارتفاعات حادة، ليست موجة سلسة. يبدو وكأن الانتباه ينصبّ على التركيز.
  5. متخصص التشخيص-خفيف — تموج عند 100 هرتز. سريع جدًا، تقريبًا وميض.
  6. الباحث — تداخل ثيتا-غاما: حامل 3 هرتز مُعدَّل بواسطة غلاف غاما 40 هرتز. هذا المفضل لدي. يبدو وكأنه موجات بطيئة عميقة مع وميض سريع يركب فوقها، وهو ما يبدو عليه بالضبط ربط ثيتا-غاما في تسجيلات الحصين الحقيقية.
  7. المبدع — تنفس عند 1.5 هرتز مع شرارات جسيمات عرضية. بطيء، واسع، قليل من الحلم.
  8. العمليات — همهمة منخفضة التردد عند 1.2 هرتز. نبض خلفية تشعر به أكثر مما تراه.
  9. whatsapp-guest — 2Hz. وتيرة محادثة.

خطوط الاتصال هي أقواس CatmullRomCurve3 بين المناطق، تُطلق عند أحداث التفويض والتصعيد. عندما يسلم الخيط الرئيسي مهمة إلى المبرمج، يضيء قوس بين dlPFC و L-IFG، ينبض مرة واحدة ثم يختفي. الأقواس ليست زخرفية — إنها سجل التوجيه المعروض كتشريح.


علامة التنصيص المفرد

هذه هي الخطأ الذي استغرق أطول وقت للعثور عليه.

تقدم لوحة القيادة صفحة لوحة القيادة cuyo HTML يُبنى من جانب الخادم من قالب. تحتوي سطر واحد في ذلك القالب على الكلمة brain's — مع علامة تنصيص مفرد. عرض القالب لها بشكل صحيح. استقبل المتصفحها بشكل صحيح. لكن السلسلة كانت مدمجة داخل كتلة <script> كجزء من حرفي سلسلة JavaScript، وعلامة التنصيص المفرد أنهت السلسلة مبكرًا. باقي كتلة السكربت — بما في ذلك تهيئة three.js بالكامل، وحلقة التلتمتري، وإعداد OrbitControls — أصبح خطأً في الصياغة. صامت. لا دماغ ثلاثي الأبعاد. لا خطأ في علامة التبويب الشبكة. مجرد قماش فارغ وخطأ في وحدة التحكم مدفون تحت ضوضاء الإطار.

كان الحل كلمة واحدة: أعيد صياغة السلسلة لتجنب علامة التنصيص المفرد تمامًا. لا هروب، لا ترميز كيان — فقط أعيد صياغته. وهو نوع من الحل يبدو وكأنه هزيمة حتى تدرك أنه الحل الذي يُشحن.

كان هذا العطل يكسر عميل JS للوحة القيادة الأصلية المسطحة بصمت أيضًا. لم يُدخل الدماغ ثلاثي الأبعاد هذا العطل — بل جعل الكسر مرئيًا فقط، لأن فجأة أصبح هناك قماش كان من المفترض أن يحتوي على شيء لكنه لم يكن.


الاحتياطي وإمكانية الوصول

مساران احتياطيان. إذا لم يكن WebGL متاحًا — متصفحات بلا رأس، أجهزة قديمة، أجهزة كمبيوتر مؤسسية مقفلة — يُستبدل العرض ثلاثي الأبعاد بملاحظة .brain3d-fallback تشرح ما يفتقده المستخدم وتشير إلى لوحة التحكم المسطحة. لا يوجد قماش مكسور، ولا بريد خطأ مزعج.

إذا كان لدى المستخدم prefers-reduced-motion مضبوطًا، يتم تعطيل إزاحة القمم وشرارات الجسيمات. لا تزال المناطق تضيء بالقياس عن بُعد — شدة الانبعاث جيدة، والحركة هي المشكلة — لكن الدماغ لا يتنفس ولا يرتجف. لا تزال نبضات خطوط الاتصال تُطلق لأنها معلوماتية، ليست زخرفية، لكنها قصيرة ولا تتكرر.


ما أستخلصه

الدماغ ثلاثي الأبعاد ليس لوحة تحكم أفضل من القائمة المسطحة؛ إنه مختلف. القائمة المسطحة تجيب على سؤال «ما الذي يفعله كل وكيل الآن؟» بينما يجيب الدماغ على سؤال «كيف يشعر الأسطول feel أثناء عمله؟» هذان سؤالان مختلفان، وكلاهما يستحق أن يُطرح.

الأمر الذي فاجأني أكثر كان توقيعات الحركة. كنت أتوقع أن يكون الهندسة والغلاف الزجاجي الجزء الصعب. لم يكونا كذلك. الجزء الصعب كان جعل تسعة عناصر تنبض بطريقة تشعر بأنها مميزة دون أن تكون فوضوية. كان تداخل ثيتا-جاما للباحث هو الاختراق — بمجرد أن حصلت على منطقة شعرت بأنها categorically مختلفة عن البقية، سقط الباقي في مكانه كطيف من «سريع وحاد» (متخصص تشخيص) إلى «بطيء ومتنفس» (مبدع).

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

#agents#three.js#visualization#dashboard#telemetry#webgl