اگر امروز هزینههای بالای مدلهای پیشرو یا کیفیت پایین مدلهای ارزان شما را در تنگنا قرار داده است، باید با سازوکاری آشنا شوید که کنترل کامل صورتحساب AI را به دست شما میسپارد. شرکت Northwood Systems در ۸ ژوئیه ۲۰۲۶ ابزاری به نام Foreman را معرفی کرد تا ترافیک دادهها هرگز از شبکه داخلی سازمان خارج نشود. این ابزار در واقع یک فایل باینری تکفایلی به زبان Go است که به عنوان یک درگاه میزبانی-شخصی (Self-hosting) عمل میکند. طبق اعلام شرکت سازنده، Foreman محیطی امن و خصوصی ایجاد میکند که در آن کلیدهای API و جریان دادهها در لایه داخلی باقی میماند و هزینههای عملیاتی را بهطور چشمگیر کاهش میدهد. این سیستم بهگونهای طراحی شده است که علاوه بر امنیت، قطعی (Deterministic) و سریع باشد.
بسیاری از توسعهدهندگان اکنون میان هزینه هنگفت مدلهای پیشرو (Frontier) و خروجیهای غیرقابلاعتماد مدلهای ارزان گیر کردهاند. همانطور که در تحلیل قبلی ما دربارهی Epoch Duel و بازیوار کردن بهینهسازی پارامترها اشاره کردیم، Foreman این بهرهوری را از مرحله آموزش به مرحله استنتاج (Inference) — یعنی همان لحظهای که مدل واقعاً جواب تولید میکند، شبیه به خودِ آشپزی و نه دورهی آموزش آشپز — منتقل میکند. حالا تیمها میتوانند انتخاب مدل را بر اساس ریسک یا پیچیدگی هر وظیفه خودکار کنند. شما سیاستهای مسیریابی را مینویسید و بدین ترتیب تضمین میکنید که هزینهها کاهش یابد بدون آنکه کیفیت خروجی فدا شود.
بر اساس مستندات گیتهاب این پروژه، سیستم مسیریابی (Routing) بر پایه اولویتهای سختگیرانهای عمل میکند تا مقصد هر درخواست را تعیین کند. این سیستم از یک سلسلهمراتب دقیق پیروی میکند:
- کفِ سیاستها (Policy Floors): وظایف برنامهریزی و کارهای پرریسک بدون توجه به سایر سیگنالها، همیشه به مدلهای پیشرو هدایت میشوند. این رویکرد لایهبندی شده یادآور راهکارهای دستهبندی عملکردی برای تسهیل مهاجرت بین مدلهاست که پیشتر به بررسی آنها پرداختیم.
- هدرهای صریح (Explicit Headers): روتر مقادیر
X-Foreman-Task-TypeوX-Foreman-Riskرا بررسی میکند. این هدرها به عنوان ابزارهای دقیق برای کنترل مسیرهای اجرایی عمل میکنند. - درخواست کلاینت: در نهایت، مدل درخواستی توسط کاربر بررسی میشود، زیرا انتخابگر مدل در خودِ عامل (Agent) به عنوان یک سوئیچ لایه عمل میکند.
Foreman مدلهای foreman-plan ،foreman-code و foreman-fast را از طریق مسیر /v1/models تبلیغ و ارائه میکند. این درگاه همچنین نامهای کاتالوگ و نام مدلهای بالادستی را تحلیل و حل (Resolve) میکند؛ برای مثال، اگر درخواستی برای claude-sonnet-4-5 ارسال شود، Foreman آن را به هر لایهای که در کاتالوگ به آن مدل اختصاص یافته است، میبرد. مدلهای ناشناخته نیز به پیشفرضهای مستند مانند routine_code یا لایه low هدایت میشوند.
جزئیات فنی عملیاتی این سیستم شامل موارد زیر است:
- لایهبندی مدلها: مدلها به سه دسته ارزان (Cheap)، متوسط (Mid) و پیشرو (Frontier) تقسیم میشوند. روتر ارزانترین مدل سالمی را که در آن لایه اجازه داده شده باشد، انتخاب میکند. از آنجا که هر لایه در واقع یک لیست است، مدلهای متعددی از تامینکنندگان مختلف بر سر قیمت رقابت میکنند و این امر باعث ایجاد افزونگی (Redundancy) میشود.
- حفظ کش (Cache Preservation): با استفاده از
X-Foreman-Session-IDو بر اساس مقدارprompt_cache.ttl_secondsدر کاتالوگ، گفتگوها تا زمانی که کش پرامپت گرم است، به همان مدل و تامینکننده متصل میمانند. ترافیکهای برچسبدار تنها زمانی یک مسیر گرم را رها میکنند که یک سیگنال صریح، مانند تغییر در انتخابگر مدل، ارسال شود. - ترجمه پروتکل: Foreman پروتکلهای کامل ابزار (تعاریف، نتایج و فراخوانیهای جریانی/Streamed) را برای ترافیکهای بین-پروتکلی ترجمه میکند. این یعنی ابزاری مثل Claude Code میتواند روی مدلهای Qwen یا GLM اجرا شود. تنها موارد ناسازگار، مانند تصاویر یا اسناد، با یک خطای صریح ۴۰۰ رد میشوند.
- قطعکننده مدار (Circuit Breaking): خطاهای تامینکننده باعث فعال شدن قطعکننده مدار میشود. این مکانیسم از یک آستانه (Threshold)، بازه خنکسازی (Cooldown) و آزمایشهای نیمهباز (Half-open trials) استفاده میکند تا تلاش مجدد را روی مسیرجوی بعدی مجاز اجرا کند.
برای نصب در macOS، کاربران میتوانند از Homebrew با دستور brew install northwood-systems/tap/foreman استفاده کنند. کاربران لینوکس میتوانند از دستور go install github.com/Northwood-Systems/foreman/cmd/foreman@latest (که نیازمند Go 1.26 یا بالاتر است) یا یک آرشیو پیشساخته استفاده نمایند. راهاندازی با دستور foreman init برای تعیین نقش مدلها و تولید یک کلید Foreman (که فقط به صورت هش ذخیره میشود) آغاز شده و با foreman serve درگاه فعال میشود.
اعتبارنامههای تامینکنندگان در متغیرهای محیطی ذخیره میشوند. این متغیرها شامل FOREMAN_ANTHROPIC_API_KEY ،FOREMAN_BEDROCK_REGION برای AWS Bedrock و FOREMAN_OPENAI_COMPAT_PROVIDERS برای سرویسهای سازگار مانند Qwen است. کاربران میتوانند سیستم را با تنظیماتی مانند FOREMAN_WARM_ROUTE_TTL ،FOREMAN_REQUEST_TIMEOUT و FOREMAN_CONCURRENCY_LIMIT دقیقتر کنند.
در محیطهای عملیاتی، دفتر ثبت (Ledger) که توکنهای اندازهگیری شده و هزینه دقیق دلاری (USD) را یادداشت میکند، میتواند از SQLite پیشفرض به Postgres منتقل شود. این قابلیت به توسعهدهندگان اجازه میدهد تا با دستور foreman trace <id> دلیل دقیق انتخاب یک مسیر خاص و مدلهای جایگزینی که رد شدهاند را استعلام کنند. هر پاسخ شامل هدرهای X-Foreman-Trace-ID ،X-Foreman-Model ،X-Foreman-Provider و X-Foreman-Route-Reason است.
این رویکرد فرضیه قدیمی مبنی بر نیاز به کدنویسی دستی برای جایگزینهای مدل (Fallbacks) را تغییر میدهد. تیمها اکنون میتوانند با نگاه به درگاه به عنوان یک ابزار برنامهریزی شده و نه یک پروکسی استاتیک، الگوی «تجزیه» (Decomposition) را پیاده کنند. این کار شامل شکستن کارهای بزرگ به زیر-وظایف کوچک و قابل تأیید است: برنامهریزی با مدل پیشرو (X-Foreman-Task-Type: planning)، اجرای قطعات با مدلهای ارزان، تأیید قطعی نتایج و در صورت شکست، ارسال مجدد با برچسب X-Foreman-Task-Type: escalation.
برای کاربر نهایی، صورتحساب AI به یک متغیر قابل کنترل تبدیل میشود. به جای تکیه بر تخمینهای تامینکننده، Foreman هزینههای واقعی را از طریق یک دفتر ثبت محلی و با پارامتر actual_cost_usd محاسبه میکند. نظارت بر این هزینهها در لحظه از طریق CLI و دستوراتی مثل foreman spend برای تفکیک تیمی، foreman models برای بررسی ترکیب تامینکنندگان، یا foreman top برای مشاهده زنده در حالت bubbletea امکانپذیر است. تمام دادههای CLI از APIهای JSON مانند /v1/foreman/spend/summary استخراج میشوند.
توسعهدهندگان اکنون میتوانند عاملهایی نظیر Claude Code، Codex، OpenCode یا Pi را به این نقطه اتصال محلی متصل کنند تا ردیابی حرفهای هزینهها و مدیریت ترافیک را آغاز کنند. در این میان، انتخاب مدل مناسب برای کدنویسی نیازمند در نظر گرفتن محدودیتهای سختافزاری است، همانطور که بودجه VRAM تعیینکننده مدلهای محلی قابل استفاده است.
گام بعدی شما
- بررسی مستندات GitHub برای تعریف لایههای مدل (Tiering) متناسب با بودجه پروژه
- تست انتقال دفتر ثبت از SQLite به Postgres برای تحلیلهای هزینه در مقیاس سازمانی
- پیادهسازی الگوی تجزیه (Decomposition) برای کاهش هزینه توکنهای ورودی در وظایف تکراری
اما این تازه شروع مسیر است؛ اثر این رویکرد بر استقلال دادهای شرکتها در برابر غولهای AI را در گزارش بعدی بررسی خواهیم کرد.




گفتگو