حارس العمليات

وكلاؤك يخلّفون عمليات وراءهم.
وAgentsRoom يعثر عليها.

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

يمسح حارس العمليات العمليات الفرعية لوكلائك، ويشير إلى التي تلتهم ذاكرتك، واحدة واحدة أو كحشد كامل، ويسمّي الوكيل المسؤول ويتيح لك مقاطعته. لا شيء يُنهى من وراء ظهرك.

حارس العمليات
مسح: مرة / دقيقة
وكيل Full-Stack، العمليات الفرعية
ripgrep18 MB
71%
tsc --noEmit1.4 GB
96%
search6.4 GB
3%
node2.1 GB
0%
عمليتان عالقتان
6.4 GB محتجزة، 0% CPU
عالقة منذ 23 دقيقة، دون أي تقدّم
أطلقها وكيل Full-Stack
أنهِ العملية
ما عاش مدة كافية يُقاس. وما كان كبيرًا بما يكفي، أو كان كثيرًا دفعة واحدة، يُبلَّغ عنه.الذاكرة تعود فورًا

ما ينظر إليه الحارس فعلًا: العمليات التي ولّدها وكيل واحد، وأيّها توقّف عن العمل.

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

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

لهذا يتسلّل التباطؤ ببطء. ليست لحظة واحدة درامية، بل تراكم بطيء على مدى يوم عمل، وهذا بالضبط الشكل الذي يجعل الناس يتّهمون الطرف الخطأ: ارتفاع الحرارة، أو كثرة الوكلاء، أو تسرّب ذاكرة في التطبيق. في الجلسة التي قِسناها، كان التطبيق نفسه يستهلك 2.8 GB موزّعة على 91 عملية، وواجهات CLI الثمانية للوكلاء 1.6 GB مجتمعة. لا هذا ولا ذاك كان المشكلة.

حارس العمليات هو شبكة الأمان. يراقب ما يخلّفه الوكلاء، ويخبرك أيّها عالق ومن أطلقه، ويتيح لك إنهاءه. الأسباب الجذرية ستظل تتغيّر: أداة أخرى، نمط آخر، مزوِّد آخر. أما الشبكة فليست مضطرة للتغيّر.

لماذا تتباطأ آلة تشغّل وكلاء ذكاء اصطناعي

الأرقام أدناه مأخوذة من جلسة واحدة مقيسة على حاسوب محمول بذاكرة 16 GB مع ثمانية وكلاء يعملون. لا شيء هنا تقدير.

كانت الآلة تعمل منذ خمس ساعات ونصف. لا مشكلة حرارية على الإطلاق: لا خفض تردد مسجّل، والبطارية عند 30.6 درجة مئوية. كان متوسط الحِمل بين 17 و21 على 8 أنوية، وكان CPU يقضي 56% من وقته داخل النواة مقابل 1.5% خمول. هذه النسبة هي ما يفضح كل شيء. الآلة التي تنجز عملًا حقيقيًا تقضي وقتها في شيفرة المستخدم؛ أما آلة عند 56% من وقت النظام فهي نواة لا تفعل شيئًا سوى ضغط الذاكرة وفكّ ضغطها وتبديلها.

كانت سبع عمليات بحث عالقة تحتجز بين 3.9 و8.0 GB لكل واحدة، أي 41.8 GB مطلوبة إجمالًا على آلة فيها 16 GB من RAM. وكان التبديل عند 22.3 GB من أصل 23.5، وقد كُتب نحو 993 GB إلى التبديل منذ الإقلاع. إنهاء تلك العمليات السبع أعاد 15.5 GB فورًا، دون إعادة تشغيل وكيل واحد ودون إعادة تشغيل التطبيق.

السبب في أن لا أحد يلتقط هذا يدويًا هو أن الأدوات المعتادة تكذب بشأنه. على macOS قد تعرض عملية عالقة 20 MB من الذاكرة المقيمة بينما هي تحتجز فعليًا 8 GB، لأن كل ما لمسته مرّ عبر ضاغط الذاكرة. قِسنا واحدة على الهواء عند 4.7 GB من الذاكرة المقيمة مقابل بصمة حقيقية قدرها 14 GB. والحجم الافتراضي لا يفيد أيضًا: على تلك المنصة حتى launchd يبلّغ عن نحو 440 GB من الحجم الافتراضي، فالتصفية عليه تعني الإشارة إلى الآلة بأكملها.

يوم عمل واحد، ثمانية وكلاء، 16 GB09:14
ذاكرة الآلةكل شيء طبيعي
التبديل (swap)11%
جلسة مقيسة فعلًا، لا رسم توضيحي.15.5 GB عادت فورًا

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

41.8 GB
تحتجزها 7 عمليات عالقة على آلة بذاكرة 16 GB
95%
من التبديل قيد الاستخدام، 22.3 GB من أصل 23.5
21
متوسط الحِمل على 8 أنوية، مع 56% من وقت النظام
993 GB
كُتبت إلى التبديل خلال خمس ساعات ونصف

ولهذه العمليات أربع خصائص تضمن أنها ستكون هنا غدًا أيضًا.

لا تنتهي أبدًا

ذاكرتها هي نفسها في التبديل، فتقضي وقتها في أخطاء الصفحات بدل الحساب. وهي ليست خاملة وهي تفعل ذلك: كل عملية جامحة قِسناها كانت تحرق بين 10 و19% من نواة معالج، وكلما تراكم منها المزيد قلّ نصيب كل واحدة. لا مخرج من هذه الحلقة، ولا ينفع معها أي انتظار.

لا تموت أبدًا

لا مهلة زمنية على استدعاء أداة. لا شيء على الآلة لديه رأي في عملية خاملة منذ خمسين دقيقة. ستبقى جالسة هناك حتى يقتلها أحد أو تُعاد الآلة للإقلاع.

تعيش بعد وكيلها

أغلق تبويب الوكيل وقد تنجو العملية. كل نظام يقطع الرابط بطريقته: Unix الكلاسيكي يعيد نسبتها إلى عملية init، وسطح مكتب Linux يعيد نسبتها إلى مدير systemd الخاص بمستخدمك، أما Windows فلا يعيد نسبتها إلى أي شيء ويتركها تشير إلى أب لم يعد موجودًا. لذلك لا ينظر الحارس إلى الآباء أبدًا. هو يتذكّر ما تبنّاه بينما كان الرابط قائمًا، ويعامل كل ما اختفى من شجرة العمليات الحيّة على أنه يتيم، بالطريقة نفسها على الأنظمة الثلاثة. اثنتان من السبع التي قِسناها كانتا في هذه الحالة أصلًا.

تتراكم

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

ماذا يفعل حارس العمليات

يراقب العمليات التي يولّدها وكلاؤك، وهو ضيّق عمدًا في تحديد ما يسمح لنفسه بلمسه.

يقيس الذاكرة الحقيقية

لا الحجم المقيم الذي يقلّل تقدير عملية عالقة بغيغابايتات. يقرأ الحارس البصمة الحقيقية مع الصفحات المضغوطة والصفحات المنقولة إلى التبديل، فتظهر عملية تعرض 20 MB وتحتجز 8 GB على حقيقتها.

يقيس المعالج ولا يثق به

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

يلتقط العمليات اليتيمة

العملية التي عاشت بعد الوكيل الذي أطلقها يُبلَّغ عنها بحدّ ذاتها، لأن لا أحد آخر سيستردّها يومًا. تُحفظ نسبتها إلى صاحبها بينما تكون ما تزال مرتبطة به، وهي اللحظة الوحيدة التي يمكن فيها تحديدها.

نقرة واحدة لإنهائها

شارة في شريط الحالة تسرد كل عملية عالقة مع الوكيل الذي ولّدها، وذاكرتها، وعمرها، واستهلاكها لـCPU. إنهاء واحدة ينهيها مع كل ما تفرّع عنها. تعود الذاكرة على الفور ويستمر وكلاؤك في العمل.

macOS وWindows وLinux

كل نظام يحتاج قياسًا مختلفًا كي يقول الحقيقة عن الذاكرة: الصفحات المضغوطة على macOS، والمقيم زائد المنقول إلى التبديل على Linux، وقياس private commit على Windows. الثلاثة منفَّذة فعلًا، لا مخطَّطة.

لا يكلّف شيئًا تقريبًا

لقطة واحدة للعمليات كل دقيقة، قيست عند نحو 40 ms على آلة تشغّل 824 عملية. أما فحص الذاكرة المكلف فلا يُشغَّل إلا حين يبدو شيء عالقًا أصلًا، ولا يجري أي مسح ما دام لا وكيل نشطًا.

يرى الحشد، لا الحالة الشاذة وحدها

اثنا عشر فحص أنواع بواقع 1.4 GB لكل واحد تعني 16.8 GB على آلة بذاكرة 16 GB، وكل واحد منها يقع تحت عتبة معقولة. وحين تملأ العمليات التي أطلقها وكلاؤك نصف الذاكرة الفيزيائية للآلة مجتمعةً، يتوقّف الحكم على الحجم واحدة واحدة.

يسمّي الوكيل المسؤول

حين يُشار إلى أمرين أو أكثر من الوكيل نفسه، تُجمَّع تحت صورته الرمزية، مع ما تحتجزه مجتمعةً وتحذير يشرح الحلقة التي وقعت فيها. أمر واحد حادث عابر، أما عدة أوامر في وقت واحد فهو سلوك.

يقاطع الوكيل، لا العملية وحدها

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

القواعد التي تمنعه من إطلاق إنذار كاذب

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

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

القاعدة الثانية موجودة لأن عتبة لكل عملية على حدة لا ترى الحشد. اثنا عشر فحص أنواع يحتجز كل منها 1.4 GB معقولة كلٌّ على حدة وقاتلة مجتمعة على آلة بذاكرة 16 GB. لذلك حين يبلغ مجموع ما أطلقه الوكلاء نصف الذاكرة الفيزيائية للآلة، يُبلَّغ عنها كلها، مهما كان وزن كل قطعة وحدها. ولا شيء في تلك المجموعة يُنهى تلقائيًا أبدًا: فهي تحت الحد الذي وضعته، ولم يُشَر إليها إلا بسبب جيرانها.

كيف يعمل

أربع خطوات، مرة كل دقيقة، والخطوة المكلفة لا تُشغَّل تقريبًا.

01

لقطة رخيصة واحدة للآلة

كل دقيقة يأخذ الحارس لقطة واحدة لكل العمليات الجارية ويمشي في الشجرة أسفل كل طرفية وكيل. الكلفة المقيسة على آلة تشغّل 824 عملية: نحو 40 ms. وما دام لا وكيل يعمل، لا يحدث هذا إطلاقًا.

02

اختصار قائمة المشتبه بها

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

03

قياس ما يبدو عالقًا

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

04

يبلّغ، ويترك القرار لك

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

حواجز الأمان

ما لن يمسّه أبدًا

الأداة القادرة على إنهاء عمليات يجب أن تكون ضيّقة في تحديد ما يعنيها. هذه الحدود بنيوية، لا خيارات عليك أن تتذكّر تفعيلها.

  • واجهة CLI الخاصة بالوكيل نفسه. أيًّا كان المزوِّد الذي تشغّله، يحمي الحارس الملف التنفيذي الذي استخدمه التطبيق لإطلاق تلك الطرفية. يقرأ ذلك الاسم من الإطلاق نفسه لا من قائمة مكتوبة في الشيفرة، فتكون العملية الفرعية لواجهة CLI نفسها محميّة أيضًا، على أي عمق.
  • طرفيات أوامر التطوير لديك. خادم تطوير خامل يستوفي كل معايير العملية الجامحة: ضخم، وقديم، ولا يستهلك من المعالج شيئًا. وهو أيضًا العملية الوحيدة التي تريدها فعلًا أن تعمل. لا يُراقَب سوى طرفيات الوكلاء، فلا يدخل خادم التطوير في الصورة أبدًا.
  • الصدفة والبنية الداخلية للتطبيق. مساعد الطرفية والصدفة التي يعمل فيها الوكيل مستثنيان بحكم البناء. لا يكون مرشّحًا سوى عمليات الأدوات الواقعة أسفل واجهة CLI الخاصة بالوكيل.
  • أي شيء لم يتبنّه. المسار الوحيد القادر على إنهاء عملية يرفض أي عملية لم يلتقطها الحارس من شجرة وكيل بعينه. لا يمكن أن يتحوّل إلى وسيلة لإنهاء شيء آخر على آلتك.

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

متى يستحق مكانه

كل واحدة من هذه حالة حقيقية، لا افتراضية.

الآلة أبطأ في السادسة مساءً منها في التاسعة صباحًا

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

عدة وكلاء يعملون بالتوازي

كلما شغّلت وكلاء أكثر، كثرت استدعاءات الأدوات، وزادت فرص أن يتعطّل أحدها. معدّل الفشل لكل استدعاء ضئيل جدًا؛ ومضروبًا في يوم من العمل المتوازي يكفّ عن كونه ضئيلًا.

بحث لا يعود أبدًا

نمط يجعل محرك التعابير النمطية ينفجر يحجز غيغابايتات على ملف حجمه بضع مئات من الكيلوبايتات. الوكيل ينتظره، وأنت تنتظر الوكيل، والآلة تدفع الثمن عن الاثنين.

أغلقت الوكيل، وبقيت العملية

إغلاق تبويب لا يحرّر شيئًا دائمًا. العملية التي كانت قد انفصلت أصلًا تحتفظ بذاكرتها وتفقد آخر رابط لها بأي شيء تراه في التطبيق.

حاسوب محمول بذاكرة 16 GB

على آلة بذاكرة RAM وفيرة، تختبئ بضع عمليات عالقة وقتًا طويلًا. أما على محمول بذاكرة 16 GB فتصل إلى التبديل بسرعة، وما إن يبدأ النظام بضغط الذاكرة حتى يتباطأ كل وكيل لديك في الوقت نفسه.

قبل أن تتّهم التطبيق

حين تزحف الآلة وAgentsRoom مفتوح، يكون التطبيق هو المشتبه به البديهي. امتلاك الأرقام الحقيقية، لكل عملية على حدة، مع الوكيل الذي أطلق كلًا منها، يحوّل الشك إلى شيء يمكنك التحقق منه فعلًا.

القرار لك

أنت من يضع الحدود

القيم الافتراضية حذرة عمدًا. كل ما يلي موجود في الإعدادات، ضمن تبويب الطرفية، وكل واحد منها يمكن أيضًا لوكيل أن يقرأه ويغيّره عبر أدوات MCP الخاصة بـAgentsRoom.

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

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

الأسئلة الشائعة

هل يعني هذا أن AgentsRoom يبطّئ حاسوبي؟

لا، ولهذا السبب بالذات وُجدت هذه الميزة. في الجلسة التي قِسناها، كان التطبيق يستهلك 2.8 GB موزّعة على 91 عملية، وواجهات CLI الثمانية للوكلاء 1.6 GB مجتمعة. أما الـ41.8 GB فكانت محتجزة لدى عمليات أدوات تعطّلت. يصادف أن AgentsRoom هو المكان الوحيد الذي يرى كل وكيل وكل عملية ولّدها، فهو المكان الوحيد القادر على الفصل.

هل سينهي عملية البناء أو تشغيل الاختبارات لديّ؟

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

هل يراقب خادم التطوير لديّ؟

لا، ولن يفعل أبدًا. خادم تطوير خامل يستوفي كل معايير العملية الجامحة: يحتجز ذاكرة كثيرة، ويعمل منذ ساعات، ولا يستخدم المعالج بين طلب وآخر. لا يُراقَب سوى العمليات الفرعية لطرفيات الوكلاء، فأوامر التطوير لديك خارج النطاق بحكم البناء.

هل يمكنه إنهاء الوكيل نفسه؟

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

ما العملية اليتيمة ولماذا تحظى بمعاملة خاصة؟

العملية التي انتهى أبوها تفقد الرابط مع الوكيل الذي أطلقها، ولن ينظّفها أحد أبدًا. وكيفية انقطاع ذلك الرابط تتوقّف على النظام: Unix الكلاسيكي يعيد نسبتها إلى عملية init، وسطح مكتب Linux إلى مدير systemd الخاص بمستخدمك، أما Windows فلا يعيد نسبتها إلى شيء ويترك خلفه معرّف أب ميتًا. لذلك لا يفحص AgentsRoom الآباء أبدًا. هو يسجّل نسبتها إلى صاحبها بينما تكون ما تزال مرتبطة به، وهي اللحظة الوحيدة التي يمكن فيها تحديدها، ويعامل كل ما اختفى من شجرة العمليات الحيّة على أنه يتيم، بالطريقة نفسها على الأنظمة الثلاثة.

كم تكلّف المراقبة نفسها؟

لقطة واحدة للعمليات كل دقيقة، قيست عند نحو 40 ms على آلة تشغّل 824 عملية. أما قياس الذاكرة الأكثر كلفة فلا يجري إلا على عمليات تبدو عالقة أصلًا، وهو ما يعني في الاستخدام العادي أنه لا يجري. والمسح غير موجود أصلًا ما دام لا وكيل نشطًا.

لماذا لا أكتفي بالنظر إلى عمود الذاكرة في مراقب النشاط؟

لأنه على macOS يقلّل من حجم المشكلة برتبة كاملة. العملية التي دُفعت إلى الذاكرة المضغوطة قد تعرض 20 MB مقيمة بينما تحتجز 8 GB. قِسنا واحدة على الهواء عند 4.7 GB مقيمة مقابل بصمة حقيقية قدرها 14 GB. والحجم الافتراضي ليس أفضل: حتى عمليات النظام تبلّغ عن مئات الغيغابايتات منه.

هل يعمل مع Claude Code وCodex وغيرهما؟

نعم. لا يعرف الحارس شيئًا عن أي أداة أو مزوِّد بعينه. يراقب العمليات الفرعية لأي طرفية وكيل شغّلتها، وواجهة CLI التي يحميها تُقرأ من الإطلاق نفسه. إضافة مزوِّد جديد لا تغيّر شيئًا هنا.

هل يعمل على Windows وLinux؟

نعم. كل منصة تحتاج قياسًا مختلفًا كي تكون الذاكرة صادقة: الصفحات المضغوطة على macOS، والمقيم زائد المنقول إلى التبديل على Linux، وقياس private commit على Windows. الثلاثة منفَّذة.

هل سينهي عمليات دون أن يسألني؟

ليس ما لم تفعّل ذلك بنفسك. افتراضيًا يبلّغ بما وجده، مع الوكيل والذاكرة والعمر واستهلاك المعالج، وأنت تقرّر. الإنهاء التلقائي إعداد، مطفأ منذ اللحظة الأولى.

ماذا يحدث للوكيل حين أنهي إحدى عملياته؟

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

هل يعالج السبب الجذري؟

لا، وهو لا يحاول. الأسباب تتغيّر: أداة اليوم، ونمط الغد، ومزوِّد الشهر المقبل. هذه شبكة أمان، مصمَّمة لتظل تعمل حين يكون السبب سببًا لم يره أحد بعد.

اثنتا عشرة عملية، ولا واحدة منها فوق عتبتي. هل سيقول شيئًا؟

نعم، وهذه الحالة تحديدًا هي سبب تغيير القاعدة. قِسنا على آلة بذاكرة 16 GB: اثني عشر فحص أنواع أطلقها ستة وكلاء، بين 0.84 و1.72 GB لكل واحد، وكلها أقل بكثير من عتبة 2 GB، و15.4 GB مجتمعة، والتبديل ممتلئ والآلة غير صالحة للاستعمال. لو حُكم عليها واحدة واحدة لكانت كلها سليمة. وما إن يتجاوز المجموع نصف ذاكرتك الفيزيائية حتى يُبلَّغ عنها كلها، مجمّعة تحت الوكيل الذي أطلقها.

ماذا يفعل زر «مقاطعة الوكيل» فعليًا؟

يرسل Ctrl+C إلى طرفية ذلك الوكيل، وهي الضغطة نفسها التي كنت ستضغطها بنفسك. تنتهي جولة الوكيل الحالية فينتظرك: لا يُغلق، وجلسته سليمة، ولا يُمسّ أي شيء آخر على آلتك. وهو موجود لأن إنهاء عملية بينما الوكيل ما يزال يشتغل عليها يعالج العرض فقط، إذ يتلقّى الوكيل خطأً ويعيد تشغيل الأمر مرة أخرى في كثير من الأحيان.

قد يعجبك أيضًا

توقّف عن الدفع مقابل عمليات لا يستخدمها أحد

تنزيل AgentsRoom مجاني، وحارس العمليات مفعّل منذ أول تشغيل.

مجانينزّل AgentsRoom

التطبيق المرافق: تابع وكلاءك أينما كنت

استخدم Claude أو Codex أو Antigravity CLI أو أي مزود AI آخر.

تثبيت الملحق
Chrome Web Store

أرسل الأخطاء والطلبات مباشرة إلى قائمة المهام العامة.

مشاريع متعددة
متعدد المزوّدين
وكلاء متعددون
حالة مباشرة
فرق الملفات والـ commit
تطبيق الهاتف
معاينة مباشرة
فرق الوكلاء
أتمتة المتصفح
تطوير موجّه بالـ backlog
مكتبة البرومبت
مكتبة المهارات
عرض جميع الميزات