وقتی هر ایجنت با مدل کوچیک یه شرکت دیگه فکر میکنه
خلاصهٔ کاملتر
نویسنده میگه نسخهی اول بازی Thousand Token Wood یه جعبهشنی بود که توش پنج موجود جنگلی روی یه مدل fine-tune شدهی ۰.۵ میلیاردی با هم معامله میکردن و تو فقط تماشا میکردی. نسخهی دوم اون رو به یه بازی واقعی تبدیل کرده که توش نقش «حامی مالی جنگل» رو داری: وام با بهره میدی، نجوای اطلاعاتی میکنی، بازار رو short میکنی و رشوه میدی، در حالی که یه قاضی دنبالته تا مچت رو سر معامله با اطلاعات ممنوعه بگیره.
بزرگترین تغییر زیر کاپوته: حالا هر موجود با مدل یه آزمایشگاه متفاوت فکر میکنه. شورا چهار مدل رو اجرا میکنه: gpt-oss-20b از OpenAI، MiniCPM3-4B از OpenBMB، Nemotron-Mini-4B از NVIDIA و یه Qwen 0.5B که خود نویسنده fine-tune کرده. به گفتهی نویسنده، نکته این نیست که تنوع جالبه؛ بازار وقتی جالب میشه که شرکتکنندههاش واقعاً با هم فرق داشته باشن و مدلهای چهار آزمایشگاه مختلف تقریباً متفاوتترین حالت ممکن واسه مدلهای کوچیکن.
درس اصلی این بود که اصطکاک تقریباً همش تو لایهی serving هست، نه تو خود مدلها. مثلاً نسخهی فعلی vLLM موقع لود کرنلها رو JIT کامپایل میکنه و به ابزار nvcc از CUDA toolkit نیاز داره؛ چون ایمیج پایهی سبک این رو نداشت، هر چهار مدل با خطای یکسان «could not find nvcc» شکست میخوردن تا وقتی نویسنده پایه رو به یه ایمیج CUDA devel تغییر داد. هر مدل هم یه نکتهی ریز خودش رو داشت؛ مثلاً MiniCPM3 به trust_remote_code نیاز داشت.
چیزی که کار با چهار مدل ناهمگن رو شدنی کرد، همون چیزی بود که تو نسخهی اول جواب داد: یه لایهی تحملپذیر parse و repair کردن JSON که خروجی هر مدل ازش رد میشه. هر tokenizer و عادت قالببندی متفاوت، خرابی متفاوتی تولید میکنه و این parser چیزی رو که نمیتونه نجات بده میندازه دور تا شبیهسازی هیچوقت crash نکنه. اینجوری اضافه کردن یه مدل جدید فقط یه خط config میشه، نه refactor.
هستهی دراماتیک بازی، همون نجوای اطلاعات محرمانهست. تو میتونی به یه موجود یه tip راست یا دروغ بدی، ولی واسه اینکه بازی واقعی باشه، حقیقتِ اون tip باید از خود موجودها مخفی بمونه. نویسنده تأکید میکنه این یه ویژگی امنیتیه نه ظاهری: چون هرچی مدل ببینه میتونه لو بده، اون flag مخفی کلاً بیرون از prompt و روی دفتر بازیکن نگه داشته میشه و از رکورد عمومی رویدادها حذف میشه. مهمترین تست مجموعه هم همینه که هر دور، کل prompt هر موجود رو واسه توکنهای ممنوعه اسکن میکنه.
بخش حافظه هم جالبه: موجودها یه احساس ماندگار نسبت به حامی و به همدیگه دارن که با رویدادها تغییر میکنه؛ یه موجود خصمانه وام نمیده و قیمت بدتری میده. دام اینجا تورم prompt بوده؛ راهحل اینه که هیچوقت تاریخچهی خام تو prompt نره و مدل فقط یه خلاصهی یکخطی سطلبندیشده ببینه (مثل «نسبت به Oona گرمی و نسبت به حامی محتاطی»). جمعبندی نویسنده اینه که مدل کوچیک یه تولیدکنندهی فرمتِ قابلاعتماد ولی یه استدلالکنندهی غیرقابلاعتماده و این شکاف رو با ساختار و prompt و یه fine-tune کوچیک پر میکنی، نه با مقیاس.
نکات کلیدی:
- چهار مدل کوچیک از چهار آزمایشگاه مختلف (OpenAI، OpenBMB، NVIDIA و یه Qwen خودِ نویسنده) شورای ایجنتها رو میسازن
- اصطکاک اصلی تو لایهی serving بود، مثل نیاز vLLM به nvcc و trust_remote_code
- یه لایهی parse و repair کردن JSON باعث میشه اضافه کردن مدل جدید فقط یه خط config باشه
- اطلاعات محرمانه باید بیرون از prompt نگه داشته بشه و یه تست لو نرفتنش رو ثابت کنه
- حافظهی ماندگار باید فقط بهشکل یه خلاصهی محدود وارد prompt بشه تا مدل کوچیک غرق نشه




