Model provider request

Model Provider Request هر رفت‌وبرگشت بین Harness و Model Providerـه؛ هر Tool Call یه درخواست جدید ایجاد می‌کنه و چون هر بار کل Context دوباره ارسال میشه، تعداد این درخواست‌ها تأثیر زیادی روی هزینه و مصرف Token ها داره.

Model Provider Request یعنی هر بار که Harness یه درخواست برای Model Provider می‌فرسته و یه جواب ازش می‌گیره.

شاید با خودت فکر کنی هر پیامی که می‌فرستی فقط یه درخواسته، ولی همیشه اینطوری نیست.

اگه Agent وسط کار بخواد از Tool استفاده کنه، بعد از هر نتیجه‌ی Tool دوباره یه درخواست جدید برای مدل ارسال میشه.

نکته‌ی مهم اینه که هر درخواست از صفر شروع میشه. چون Model یه سیستم Statelessـه و چیزی از درخواست قبلی یادش نمی‌مونه، Harness باید هر بار کل Context رو دوباره براش بفرسته و این یعنی System Prompt، تاریخچه‌ی مکالمه، نتیجه‌ی Toolها و هر اطلاعات دیگه‌ای که مدل لازم داره.

شاید برات سوال شده باشه که چرا برای یه سؤال ساده این‌قدر Token مصرف میشه و خب دلیلش همینه که گفتم.

هزینه فقط به اندازه‌ی مسج بستگی نداره بلکه به تعداد Model Provider Request ها و حجم Contextی که هر بار دوباره ارسال میشه هم بستگی داره.

مثلاً فرض کن به یه Agent بگی که اون تست خراب رو درست کن.

مدل اول میگه تست‌ها رو اجرا کن. بعد از دیدن نتیجه میگه فایل تست رو بخون. بعد فایل اصلی رو بخون. بعد کد رو ویرایش کن. بعد دوباره تست‌ها رو اجرا کن. آخر سر هم جواب نهایی رو میده.

تو فقط یه مسج فرستادی، ولی پشت صحنه ممکنه شش یا هفت Model Provider Request انجام شده باشه و هر کدوم هم کل Context رو دوباره برای مدل فرستاده باشن.

برای همین وقتی می‌بینی مصرف Tokenها زیاد شده، به جای اینکه تعداد پیام‌هات رو بشمری، باید ببینی پشت صحنه چند Model Provider Request انجام شده.