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

تكلفة المسار مُدخل جدولة، لا تقرير لاحق

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

Candlestick chart showing a downward trend in the stock market analysis.

مشكلة الإجماليات

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

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

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

لماذا لا تحلّ الحدود القصوى لكل تشغيل المشكلة

الإصلاح البديهي هو حدّ أقصى: أوقف التشغيل عندما يتجاوز الإنفاق عتبة معيّنة. الحدود القصوى أداة فظّة لسببين.

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

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

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

جعل التكلفة متغيّر جدولة من الدرجة الأولى

A scenic view of a bustling town square in Luxembourg city, showcasing classic European architecture.

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

  • model — أي صنف من النماذج ستستدعيه الخطوة، لأن التوجيه والتوليد يختلفان في التكلفة بمراتب من حيث الحجم؛
  • token class — رموز الإدخال والإخراج والإدخال المخزّن مؤقتاً والاستدلال ليست قابلة للتبادل ولا ينبغي جمعها في رقم واحد؛
  • tool latency — الزمن الفعلي، لأن أداة بطيئة تستهلك ميزانية وقت التشغيل حتى عندما تكون رخيصة بالرموز؛
  • tool price — تكلفة الاستدعاء الخارجي نفسه، والتي غالباً ما تكون غير مرئية في محاسبة الرموز.

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

# Sketch: pricing a candidate action before dispatch
def price(action, context):
    return {
        "model_cost": model_rates[action.model] * estimate_tokens(action, context),
        "tool_cost": tool_rates.get(action.tool, 0),
        "latency": tool_latency[action.tool] if action.tool else 0,
    }

def should_run(action, budget, context):
    cost = price(action, context)
    gain = expected_gain(action, context)  # from the same policy that ranks actions
    return cost["model_cost"] + cost["tool_cost"] <= budget.remaining_for(action.kind)

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

سياسات الإنفاق لكل صنف من المهام

سياسة ميزانية واحدة عبر جميع أصناف المهام تضمن أن يُخدَم بعض الأصناف خدمةً سيئة. نمطان يغطّيان معظم الفضاء.

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

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

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

Close-up of stock market trading screen displaying financial growth and charts.

وجّه بتكلفة منخفضة، واصعد بتأنٍّ

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

الآلية هي بوابة ثقة، لا قاعدة ثابتة. يقارن المنسّق توزيع مخرَج النموذج الرخيص بعتبة؛ ودونها، تُعاد الخطوة إلى نموذج متقدّم مع مخرَج النموذج الرخيص كسياق. البوابة نفسها قرار جدولة، وتنتمي إلى كائن السياسة نفسه الذي تنتمي إليه الميزانية.

أنماط الفشل التي يجب التصميم ضدها

تُدخل الجدولة الواعية بالتكلفة أنماط فشل خاصة بها، وهي ليست خفية.

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

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

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

أين تنتمي المقايضة

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

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

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

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

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

What is the difference between a cost total and a cost curve for an agent run?

A cost total is a single number produced after the run ends, useful for accounting. A cost curve is the per-step cost accumulated during execution, which lets the orchestrator price the next candidate action and decide whether to spend on it. Only the curve can influence scheduling.

Why do per-run cost caps fail?

Caps govern the total rather than the next action. They fire after the damage is done — often truncating verification — and they leave unused budget when a run finishes early. They are simultaneously too strict and too loose because they constrain the wrong quantity.

How should a scheduler handle retries in cost accounting?

Retries must be first-class steps with their own cost entries. If they are implemented as invisible control flow, the curve the scheduler sees diverges from the curve the run actually produces, and budget policy is applied to a fiction.

Why enforce budgets at the swarm level rather than per worker?

Fan-out multiplies the curve. A supervisor dispatching multiple workers creates correlated trajectories that share context and duplicate retrieval. Per-worker budgets sum to a total nobody chose; a shared pool with workers bidding against it keeps the limit meaningful.