System Prompt
System Prompt مجموعه دستورالعملهای ثابتیه که قبل از هر درخواست به Model داده میشه و نقش، رفتار و قوانین Agent رو مشخص میکنه و به همین خاطر تأثیرش از پیام کاربر هم بیشتره.
System Prompt یه سری دستورالعمل ثابته که Harness قبل از هر Model Provider Request به Model میده.
یعنی اصلا قبل اینکه حتی پیام تو به مدل برسه، یه متن بزرگ به مدل داده میشه که مشخص میکنه کیه، چطور باید رفتار کنه، چه Toolهایی داره، چه قوانینی رو رعایت کنه و اینکه کلا نقشش چیه و این حرفا.
به همین خاطر، مدل اول System Prompt رو میخونه، بعد اگه فایلهایی مثل AGENTS.md وجود داشته باشن اونها رو میخونه و تازه بعد از اون به پیام تو میرسه.
توی Coding Agent ها، System Prompt معمولا خیلی زیاده و ممکنه هزاران یا حتی دهها هزار Token داشته باشه. چون این متن توی هر Model Provider Request دوباره ارسال میشه، جزو Input Tokens حساب میشه و روی هزینه هم تاثیر میذاره.
از اونجایی که System Prompt معمولا توی کل Session ثابت میمونه، بخش بزرگی از Prefix Cache رو هم تشکیل میده. برای همین Harnessها سعی میکنن وسط کار تغییرش ندن، چون هر تغییری باعث میشه Cache از بین بره و هزینه بیشتر بشه.
یه نکتهی مهم اینه که مدل معمولا به System Prompt بیشتر از پیام کاربر اهمیت میده. یعنی اگه تو یه چیزی بگی ولی System Prompt خلافش رو گفته باشه، احتمال زیادی داره مدل از دستور System Prompt پیروی کنه.
به همین دلیل گاهی دو Agent که دقیقا از یه Model استفاده میکنن، رفتار کاملا متفاوتی دارن و اینجا تفاوت از خود مدل نیست بلکه از System Prompt های متفاوتیه که قبل از هر درخواست بهش داده شده.