ایجنت Hermes روی مدل لوکال Qwen
خلاصهٔ کاملتر
Hermes agent یه فریمورک متنباز برای ساختن ایجنته که حافظهٔ ماندگار، سابایجنت، مسیریابی بین ارائهدهندههای مختلف مدل و اتصال به پیامرسونها رو با هم داره. تو این مقاله اومده که چون Hermes کاری نداره کدوم backend مدل رو سرو میکنه و با هر endpoint سازگار با OpenAI حرف میزنه، میتونی یه مدل Qwen رو روی سختافزار خودت بالا بیاری و کل استک ایجنت رو بدون هزینهٔ ازای هر توکن بچرخونی.
برای سرو کردن مدل روی یه ماشین دو گزینهٔ عملی هست. Ollama سادهتره: مدل رو با اسمش pull میکنی و روی در دسترس میشه و tool calling هم بدون تنظیم اضافه کار میکنه. LM Studio کنترل دستی بیشتری میده؛ کوانت مناسب سختافزارت رو انتخاب میکنی و طول context و GPU offload رو خودت میچینی، و API روی بالا میاد. اگه مستقیم llama.cpp رو اجرا میکنی، tool calling به فلگ --jinja روی llama-server نیاز داره.
بزرگترین اشتباه رایج سر طول contextه. نه Ollama و نه LM Studio بهصورت پیشفرض کل پنجرهای که مدل پشتیبانی میکنه رو استفاده نمیکنن؛ Ollama هرچی num_ctx تنظیم شده باشه رو برمیداره و مقدار پیشفرضش خیلی کوچیکه. یعنی مدلی که ذاتاً پنجرهٔ چندصدهزار توکنی داره رو تو چندهزار توکن اجرا میکنی و بعد میبینی ایجنت چند قدم بعد انگار یادش رفته داشت چی کار میکرد. این ایراد مدل نیست، ایراد تنظیماته.
تنظیمات sampling هم بیشتر از چیزی که فکر میکنی روی کیفیت اثر میذاره. برای حالت thinking مقدارهای پیشنهادی دمای حدود 1.0، top-p حدود 0.95، top-k حدود 20، min-p صفر و بدون presence penaltyه؛ برای حالت instruct بدون thinking میره روی دمای حدود 0.7، top-p حدود 0.80، top-k حدود 20 و presence penalty حدود 1.5. با مقدارهای اشتباه یه مدل توانا ضعیف به نظر میرسه و آدم بیخود مدل رو مقصر میدونه.
به گفتهٔ نویسنده، ارزش این استک به بردن تو بنچمارکهای استدلال نیست، به هزینه و قابلاتکا بودن tool callingه. مدلهای لوکال هنوز تو استدلال خام از مدلهای فرانتیرِ میزبانیشده عقبترن، ولی تو یه حلقهٔ طولانی ایجنت که صدها فراخوانی ابزار داره، نبودِ هزینهٔ توکن حرف اول رو میزنه. برای یه نفر یا یه تیم کوچیک که ایجنت با حافظهٔ ماندگار میخواد، انتخاب منطقیایه؛ فقط انتظار عمق استدلال باید واقعبینانه بمونه.
نکات کلیدی:
- Ollama روی و LM Studio روی سرو میکنن و قاطی کردن این دو پورت یکی از رایجترین دلیلهای دیباگ الکیه.
- اجرای مستقیم llama.cpp برای فعال شدن tool calling به فلگ --jinja روی llama-server نیاز داره.
- پنجرهٔ context پیشفرض هر دو ابزار خیلی کمتر از چیزیه که مدل پشتیبانی میکنه و باید دستی بالا بره.
- کوانت کردن KV cache به 8 بیت تو LM Studio با افت کیفیت کم، context بیشتری روی همون سختافزار میده.
- برای قدمهای مکانیکی ایجنت مثل خوندن یه فایل، reasoning effort پایین یا متوسط کافیه و گذاشتن همیشگی روی حداکثر فقط وقت تلف میکنه.




