Code Mode: چرا ایجنتها بهزودی فقط یه ابزار دارن
خلاصهٔ کاملتر
فیل اشمید تو این مقاله میگه ساختن ایجنت تا حالا یعنی طراحی کلی ابزار جدا و تنظیم schema هرکدوم، ولی این داره عوض میشه. ایجنتها دارن همهٔ ابزارهاشون رو تو یه ابزار به اسم exec(code) جمع میکنن. به این روش Code Mode (یا Programmatic Tool Calling) میگن. مدل یه اسکریپت کوتاه TypeScript یا Python مینویسه که چند کار رو پشت هم صدا میزنه و داخل یه sandbox (یعنی محیط ایزولهای که کد بیرونش اثری نداره) اجرا میشه.
مشکل tool calling معمولی اینه که هر نوبت فقط یه کار انجام میشه. مدل یه JSON میسازه، منتظر خروجی میمونه، خروجی خام به تاریخچهٔ prompt اضافه میشه و دوباره فکر میکنه. به گفتهٔ نویسنده، مدلها الان خیلی بهتر میتونن کارهای وابسته رو تو یه مرحله زنجیر کنن. مثلاً پیدا کردن منبع، فیلتر کردن و درآوردن جواب تو یه اسکریپت، ویرایش چند فایل با یه تست داخل همون اسکریپت، یا اجرای ۲۰ جستوجو همزمان با Promise.all.
دو تا تغییر این کارو ممکن کرده. مدلها روی کد خیلی آموزش دیدن و حتی برای Code Mode جداگانه post-train میشن. از طرف دیگه سرورهای MCP حالا علاوه بر inputSchema، outputSchema هم میفرستن. یعنی مدل از قبل میدونه خروجی هر ابزار چه شکلیه و میتونه خروجی ابزار A رو مستقیم به ابزار B بده.
تو عمل، ایجنت بهجای فرستادن مثلاً ۸۰ تا schema جدا، اونا رو به تعریفهای تایپی فشرده (declare namespace tools { ... }) تبدیل میکنه و مدل با await tools..(args) صداشون میزنه. توابعی مثل text()، image() و audio() هم نتیجه رو به context مدل برمیگردونن. تو مثال مقاله، sandbox ۵۵ تا API call رو اجرا میکنه و فقط یه خط خلاصه به مدل برمیگرده.
نویسنده توضیح میده چرا JS یا Python از bash بهتره: توابع تایپدار و try/catch بهجای escape کردن شکنندهٔ رشتهها، دیگه لازم نیست مدل کلی --help اجرا کنه تا فلگها رو بفهمه، میشه تصویر و صدا رو مستقیم برگردوند، توکنهای OAuth بیرون از sandbox تزریق میشن و میشه state رو بیرون از context نگه داشت.
ابزارهایی مثل Pi، Factory Droid و OpenAI Codex الان پیشفرضشون Code Mode هست. Factory با این تغییر تو Droid 1.0 دقتش رو تو Terminal-Bench 4 حدود ۳.۵ امتیاز بالا برد و هزینهٔ مدل رو ۱۵٪ کم کرد.
با این حال نویسنده میگه معلوم نیست همهٔ ایجنتها واقعاً فقط یه ابزار داشته باشن. خیلی از ابزارها، CLIها و Agent Skillهایی که ساختیم برای bash و متن قابلخوندن برای آدم طراحی شدن، نه اجرای کد تایپدار. پس شاید لازم باشه یه قدم عقب بریم و ببینیم ایجنتمون واقعاً به چی نیاز داره.
نکات کلیدی:
- Code Mode همهٔ ابزارها رو تو یه ابزار exec(code) جمع میکنه که اسکریپت TypeScript یا Python رو تو sandbox اجرا میکنه.
- outputSchema تو MCP به مدل اجازه میده قبل از اجرا بدونه خروجی هر ابزار چیه و چند ابزار رو زنجیر کنه.
- دادههای میانی وارد context مدل نمیشن و فقط یه خلاصهٔ کوتاه برمیگرده.
- Factory با رفتن به Code Mode تو Droid 1.0 دقت Terminal-Bench 4 رو ۳.۵ امتیاز بالا برد و ۱۵٪ هزینه رو کم کرد.
- Pi، Factory Droid، OpenAI Codex، Pydantic AI، LangChain و Agents SDK کلادفلر همه از Code Mode پشتیبانی میکنن.




