انتخاب مدل مناسب برای ابزارهای AI
انتخاب مدل فقط انتخاب نام یا شرکت سازنده نیست. ابزارهای coding agent به context کافی، tool calling درست، latency قابلقبول و هزینه کنترلشده نیاز دارند.
چرا انتخاب مدل مهم است؟
هر مدل برای ترکیب متفاوتی از کیفیت، سرعت، هزینه و قابلیتها طراحی شده است. مدلی که برای تکمیل سریع کد مناسب است لزوماً بهترین گزینه برای تحلیل یک repository بزرگ یا اجرای ابزار نیست. از طرف دیگر، استفاده از قویترین مدل برای هر درخواست میتواند بدون افزایش محسوس کیفیت، latency و هزینه را بالا ببرد.
انتخاب درست باید بر اساس workload واقعی انجام شود: ابزار مقصد با کدام پروتکل صحبت میکند، چه مقدار متن و کد وارد context میشود، آیا مدل باید تصویر ببیند، آیا agent به tool calling نیاز دارد و سقف هزینه هر کار چقدر است. این صفحه یک روش عملی برای مقایسه مدلهای موجود در سرویس خودتان ارائ ه میکند و نام یک مدل ثابت را بهعنوان انتخاب همیشگی پیشنهاد نمیدهد.
تفاوت مدل چت با مدل مناسب Agent
مدل چت میتواند سؤال را پاسخ دهد یا متن تولید کند، اما coding agent معمولاً باید درخواست ساختاریافته ابزار بسازد، خروجی ابزار را تفسیر کند و چند مرحله را بدون خروج از هدف ادامه دهد. بنابراین موفقبودن یک پیام «سلام» فقط اتصال API را ثابت میکند؛ برای تأیید مدل agent باید خواندن فایل، tool call و تولید یک patch کوچک را نیز آزمایش کنید.
۱. منبع معتبر Model ID
Model ID را از یکی از این دو محل بگیرید:
- زبانه مدلهای قابل استفاده در سرویس هوش مصنوعی چابکان؛
- مسیر
GET /v1/modelsبا کلید همان سرویس.
curl --silent --show-error --fail https://ai.chabokan.net/v1/models \
-H "Authorization: Bearer $CHABOKAN_AI_API_KEY" \
| jq '.data[] | {
id,
context_length,
max_completion_tokens,
supported_parameters,
architecture,
pricing
}'
شناسه را کامل و با حروف کوچک/بزرگ، slash و dashهای آن کپی کنید. نام نمایشی مدل لزوماً Model ID نیست.
۲. معیارهای اصلی
| معیار | چرا مهم است؟ | چه چیزی را بررسی کنم؟ |
|---|---|---|
| پروتکل | ابزار باید با endpoint مشترک صحبت کند | Claude Code: Messages؛ Codex: Responses؛ بیشتر ابزارها: Chat Completions |
| Context | کد، history و خروجی ابزارها باید جا شوند | context_length؛ Hermes حداقل ۶۴K میخواهد |
| Tool calling | agent بدون ابزارخوانی فقط chat است | tools و ترجیحاً tool_choice در supported_parameters |
| ورودی تصویر | برای screenshot، diagram و UI لازم است | architecture.input_modalities شامل image باشد |
| خروجی | سقف پاسخ روی patch و تحلیل طولانی اثر دارد | max_completion_tokens در صورت انتشار |
| سرعت | iteration روزانه را تعیین میکند | آزمون latency روی prompt واقعی خودتا ن |
| هزینه | agent ممکن است چند درخواست در هر کار بسازد | قیمت input/output و اندازه context مصرفی |
| reasoning | برای مسئله دشوار مفید ولی کندتر/گرانتر است | فیلدهای reasoning و پارامترهای پشتیبانیشده |
۳. الگوی انتخاب بر اساس ابزار
| ابزار یا سناریو | حداقل معیار پیشنهادی |
|---|---|
| Claude Code، Cline، Roo Code، OpenCode | tool calling پایدار و context بزرگ |
| Hermes | context حداقل ۶۴K و پشتیبانی tools |
| Codex | سازگاری Responses و توانایی coding/tool use |
| Continue autocomplete | latency پایین؛ مدل کوچکتر معمولاً مناسبتر است |
| Open WebUI chat | مدل متنی سریع؛ Tools فقط در صورت پشتیبانی مدل |
| RAG و اسناد بلند | context کافی؛ اندازه retrieval را هم محدود کنید |
| تحلیل تصویر | ورودی image و یک آزمون واقعی با فرمت ابزار مقصد |
۴. آزمون Pilot پیش از استفاده گسترده
بهجای انتخاب بر اساس benchmark عمومی، دو یا سه مدل را روی کارهای واقعی خود آزمایش کنید:
- پاسخ ساده و فارسی؛
- درک ساختار یک repository کوچک؛
- اجرای یک ابزار فقطخواندنی؛
- تولید patch کوچک؛
- ادامه مکالمه چندمرحلهای؛
- ثبت زمان، توکن و هزینه در گزارش درخواستها؛
- بررسی رفتار در خطا یا timeout.
یک جدول داخلی نگه دارید:
| مدل | کیفیت | زمان پاسخ | هزینه سناریو | Tool success | نتیجه |
|---|---|---|---|---|---|
| مدل A | |||||
| مدل B |
۵. خطاهای رایج انتخاب مدل
- انتخاب مدل ارزان بدون آزمون tool calling؛ نت یجه، loop یا tool call ناقص است.
- قراردادن context تنظیمی بیشتر از ظرفیت واقعی مدل؛ مقدار config ظرفیت مدل را افزایش نمیدهد.
- استفاده از شناسه نمونه مستندات بدون بررسی موجودبودن آن در سرویس خودتان.
- فعالکردن vision یا reasoning فقط چون UI ابزار آن را نشان میدهد.
- عوضکردن همزمان مدل، ابزار و config؛ در این حالت منشأ خطا معلوم نمیشود.
- استفاده از مدل قوی و گران برای autocomplete یا طبقهبندی ساده.
۶. سیاست پیشنهادی تیم
برای هر workload یک alias داخلی یا متغیر environment تعریف کنید، نه اینکه Model ID در دهها فایل پخش شود:
CHABOKAN_AI_MODEL_FAST=provider/fast-model-id
CHABOKAN_AI_MODEL_AGENT=provider/agent-model-id
CHABOKAN_AI_MODEL_VISION=provider/vision-model-id
این نامها نمونهاند. تغییر مدل باید پس از pilot، با ثبت نسخه config و امکان rollback انجام شود.