الانتقال إلى المحتوى الرئيسي

تنسيق الوكلاء يحتاج إلى مُجدول، لا إلى مُشرف

المشرف الواحد يُسلسل السرب ويُخفي عنق الزجاجة الحقيقي: التحكم في القبول، والانتظار في الطابور، والاستباق. تعامل مع الوكلاء كعمليات، وستصبح أنماط الفشل مرئية.

صورة قريبة لرف خوادم بمصابيح حالة وكابلات مرتبة، توحي بمستوى تحكم تحت الحمل

نمط المشرف يصل إلى سقف

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

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

ما الذي يمنحه تشبيه نظام التشغيل فعليًا

التشبيه ليس زخرفة. إنه يسمي ثلاث آليات لا يستطيع prompt المشرف التعبير عنها.

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

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

Close-up of a modern building facade with red steel beams in geometric patterns against a blue sky

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

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

قواعد التصميم

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

plan -> DAG { node: { role, inputs, tools, budget } }
            |
            v
dispatcher: admit(node) if deps_done && budget_ok && quota_ok
            enqueue(node) by priority and tenant share
            lease(node) -> worker
            on timeout or preempt: release lease, persist state

اجعل كل خطوة وكيل عديمة الأثر الجانبي (idempotent). الخطوة التي يمكن استباقها وإعادة محاولتها يجب أن تنتج النتيجة نفسها عند إعادة تنفيذها بنفس المدخلات، أو يجب أن تكون قادرة على اكتشاف أن أثرها قد حدث بالفعل. عدم الأثر الجانبي هو ما يجعل الاستباق آمنًا بالبناء بدلًا من آمنًا بالمعالجة الحذرة. تحتاج استدعاءاتPower lines and electrical insulators against a vivid blue sky, stock photoوة، لا من الوقت الفعلي.

Circuit board macro

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

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

ما يجب قياسه

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

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

التحول في التأطير

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

العمل لا يختفي. إنه ينتقل من هندسة الـ prompt إلى هندسة مستوى التحكم، وهو مكانه الصحيح بمجرد أن يصبح التزامن هو القيد.

مشاركةXLinkedInرابط دائم5 دقيقة قراءة

قراءات ذات صلة

الأسئلة التي يجيب عنها هذا

When does a supervisor pattern stop being sufficient?

When concurrency is high enough that contention is real: many concurrent runs, shared tool quotas, or multiple tenants competing for the same capacity. Below that threshold a supervisor is simpler and adds less operational overhead.

What does preemption require from an agent step?

Idempotency and persisted state at step boundaries. A step must be safe to re-execute with the same inputs, and a partially completed run must be resumable from the last completed step without re-paying for earlier work.

Why separate time-in-queue from time-in-reasoning?

They have different causes and different fixes. Reasoning time responds to model and prompt changes; queue time responds to capacity and admission policy. A single end-to-end latency number hides which one changed.

Is a scheduler always worth the added control plane?

No. A dispatcher introduces lease expiry, queue state and preemption logic that must be operated. It pays off when contention is the dominant failure mode, not before.