این روزها خیلی از مشکلات AI Coding فقط مربوط به مدل نیست. گاهی مشکل از این است که ما اطلاعات زیادی و بدون فیلتر به مدل میدهیم. همانطور که در سیستمهای نرمافزاری، optimization فقط سریعتر کردن نیست و حذف چیزهای غیرضروری هم اهمیت دارد، در کار با AI هم مدیریت context یک بخش مهم از workflow شده است. ابزارهایی مثل RTK یک یادآوری خوب هستند که همیشه اضافه کردن منابع بیشتر، راهحل نیست. گاهی باید نویز را کم کنیم.
این روزها خیلی از ما داریم از ابزارهای AI برای برنامهنویسی استفاده میکنیم. ابزارهایی مثل Claude Code، Cursor یا بقیه Agentهای برنامهنویسی واقعا سرعت توسعه را بالا بردهاند.
ولی یک مشکل کوچک وجود دارد که شاید اول به چشم نیاید.
AI همیشه اطلاعات مفید دریافت نمیکند.
خیلی وقتها چیزی که وارد context مدل میشود، فقط یک عالمه خروجی اضافه از ترمینال است.
مثلا فکر کنید به AI میگویید:
git status
یا:
npm test
یا:
docker logs my-container
خروجی این دستورات ممکن است دهها یا حتی صدها خط باشد. ولی آیا تمام این اطلاعات برای مدل لازم است؟
معمولا نه.
بخش زیادی از این خروجیها فقط noise هستند؛ اطلاعاتی که وجودشان بد نیست، ولی ارزش زیادی برای reasoning مدل ندارند.
اینجاست که RTK وارد داستان میشود.
وقتی با AI Coding کار میکنیم، هر چیزی که به مدل میدهیم بخشی از context را مصرف میکند.
حالا تصور کنید در یک جلسه توسعه، چندین بار:
اگر هر بار خروجی خام وارد context شود، خیلی سریع بخش زیادی از فضای مدل با اطلاعات کمارزش پر میشود.
فکر کنید یک نفر برای پیدا کردن یک خطای برنامه، کل لاگ ۵۰۰ خطی را جلوی شما بگذارد.
احتمالا اولین کاری که میکنید این است که دنبال بخش مهم بگردید و بقیه را کنار بگذارید.
RTK دقیقا همین کار را برای AI انجام میدهد.
RTK یا Rust Token Killer یک ابزار CLI است که بین AI Agent و ابزارهای توسعه قرار میگیرد.
یعنی به جای اینکه:
AI Agent
|
|
Terminal
|
|
Command Output
داشته باشیم، یک لایه پردازشی اضافه میشود:
AI Agent
|
|
RTK
|
|
Terminal Command
|
|
Filtered Output
RTK خروجی دستور را میگیرد، اطلاعات غیرضروری را حذف میکند و فقط بخش مهم را به مدل میدهد.
برای مثال:
قبل:
git status
خروجی:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
modified:
src/components/Header.tsx
src/components/Footer.tsx
src/utils/api.ts
Untracked files:
test.log
debug.txt
بعد از RTK:
3 modified files
2 untracked files
branch: main
مدل همچنان متوجه وضعیت پروژه میشود، ولی لازم نیست صدها token اضافه مصرف کند.
برای نصب روی Linux یا macOS:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
یا اگر از Homebrew استفاده میکنید:
brew install rtk-ai/tap/rtk
بعد نصب:
rtk --version
را اجرا کنید.
میتوانید دستورات معمولی را با RTK اجرا کنید:
rtk git status
یا:
rtk git diff
یا:
rtk docker ps
RTK خروجی بهینهشده را نمایش میدهد.
یکی از بخشهای جالب RTK این است که لازم نیست همیشه دستی دستور را تغییر بدهید.
میتوانید hook آن را فعال کنید:
rtk init --global
بعد از آن، ابزارهای AI میتوانند دستورات را قبل از ارسال خروجی به مدل پردازش کنند.
طبق اطلاعات پروژه RTK، این ابزار روی هزاران command بررسی شده و میانگین کاهش نویز حدود ۸۹٪ گزارش شده است.
البته این عدد برای همه پروژهها یکسان نیست.
مثلا اگر بیشتر با لاگهای طولانی یا تستهای بزرگ کار کنید، تاثیر بیشتری میبینید.
ولی برای کار روزمره مثل:
git status
git diff
npm test
pytest
docker logs
میتواند مقدار قابل توجهی از مصرف context را کم کند.
به نظرم مثل هر ابزار دیگری، بستگی به مشکل دارد.
اگر فقط چند بار در روز از AI استفاده میکنید، شاید تفاوت زیادی احساس نکنید.
ولی اگر مثل من ساعتها با AI Coding کار میکنید، مخصوصا روی پروژههای بزرگ، context management تبدیل به یک مسئله واقعی میشود.
RTK قرار نیست هوش مدل را بیشتر کند.
فقط کمک میکند مدل کمتر وقتش را صرف خواندن اطلاعات اضافی کند.
این روزها خیلی از مشکلات AI Coding فقط مربوط به مدل نیست.
گاهی مشکل از این است که ما اطلاعات زیادی و بدون فیلتر به مدل میدهیم.
همانطور که در سیستمهای نرمافزاری، optimization فقط سریعتر کردن نیست و حذف چیزهای غیرضروری هم اهمیت دارد، در کار با AI هم مدیریت context یک بخش مهم از workflow شده است.
ابزارهایی مثل RTK یک یادآوری خوب هستند که همیشه اضافه کردن منابع بیشتر، راهحل نیست.
گاهی باید نویز را کم کنیم.
من در ویدیوی یوتوب، RTK را به صورت عملی نصب کردم و روی چند command مختلف تست کردم تا ببینیم چطور خروجیها تغییر میکنند.
اگر با AI Coding کار میکنید، پیشنهاد میکنم ویدیو را هم ببینید.
[لینک ویدیو یوتوب]
ممنون که تا آخر همراه بودین. اگر تجربهای درباره مدیریت token و context در ابزارهای AI دارین، توی کامنتها بنویسین.