MAC-SQL: تبدیل متن به SQL از طریق همکاری چند-عامل
مدل MAC-SQL در دسامبر ۲۰۲۳ به عنوان صریحترین پاسخ عاملمحور به مسئله تبدیل متن به SQL معرفی شد: به جای استفاده از یک پرامپت (Prompt) برای تولید یک پرسوجو، سه عامل تخصصی با یکدیگر همکاری میکنند تا یک زیر-طرحواره (sub-schema) مرتبط را انتخاب کنند، سوال را تجزیه نمایند و SQL را پس از اجرا ترمیم کنند. من در حال مطالعه آن هستم زیرا دو مقاله قبلی بنچمارک BIRD (که MAC-SQL در زمان ارائه در صدر آن بود) و DIN-SQL (پایه تجزیهگری که MAC-SQL آن را گسترش میدهد) را پوشش میدادند؛ و سوال طبیعی این است که آیا یک ساختار چند-عاملی ارزش افزودهای واقعی بر روی آن بنیادها ایجاد میکند یا خیر.
مقاله
"MAC-SQL: A Multi-Agent Collaborative Framework for Text-to-SQL" (وانگ و همکاران، COLING 2025) وضعیتی را هدف قرار میدهد که بنچمارک BIRD در روشهای تک-پرامپتی قبلی آشکار کرد: پایگاههای داده بزرگ با طرحوارههای (schemas) شلوغ و سوالات پیچیده چندمرحلهای، مدلهایی را که سعی میکنند همه چیز را در یک مرحله تحلیل کنند، مستأصل میکنند.
معماری این سیستم دارای سه عامل است. یک انتخابگر (Selector) با فیلتر کردن جداول و ستونهای نامرتبط قبل از شروع تولید SQL، یک پایگاه داده بزرگ را به یک زیر-طرحواره مرتبط محدود میکند. یک تجزیهکننده (Decomposer) موتور اصلی است — این عامل سوالات پیچیده به زبان طبیعی را به زیر-مسائل تقسیم کرده و SQL را به صورت تدریجی با استدلال زنجیره تفکر (chain-of-thought) و چند نمونهای (few-shot) تولید میکند. یک اصلاحکننده (Refiner) کاندیدای SQL را در پایگاه داده واقعی اجرا میکند، پیامهای خطا را کلمه به کلمه میخواند و به صورت تکرار شونده تا رسیدن به حد مجاز بازآزمایی، پرسوجو را تصحیح میکند. لزوماً هر سه عامل برای هر پرسوجو فعال نمیشوند؛ وظایف سادهتر بر اساس سیگنالهای پیچیدگی، مراحل انتخاب یا اصلاح را نادیده میگیرند.
نویسندگان همچنین مدل SQL-Llama (مبتنی بر Code Llama 7B) را روی خروجیهای تولید شده توسط این چهارچوب تنظیم دقیق (Fine-tune) کردهاند تا یک نسخه متنباز و کوچکتر ارائه دهند.
ایدههای کلیدی
- کاهش طرحواره پیش از تولید: عامل Selector پایگاه داده را به یک زیر-طرحواره مرتبط فیلتر میکند. تحلیل حذف اجزا (Ablation) بهبود ۲.۱۱ درصدی را در نسخه توسعه BIRD تایید میکند — واقعی، اما متوسط.
- اصلاح هدایتشده توسط اجرا: عامل Refiner پیامهای خطای واقعی پایگاه داده را میخواند و SQL را تصحیح میکند. این بزرگترین سهم را در تحلیل حذف اجزا دارد: حذف آن باعث افت ۴.۶۳ واحدی در دقت BIRD میشود، که بیش از حذف Selector (-۲.۱۱) یا حتی Decomposer (-۳.۸۵) است.
- اعزام مشروط عامل: هدایت پرسوجوهای سادهتر به خارج از مسیر Selector و Refiner باعث صرفهجویی در توکنها میشود بدون اینکه به دقت در موارد آسان لطمه بزند.
- شکاف تقطیر متنباز: مدل SQL-Llama (7B) به دقت ۴۳.۹۴٪ در BIRD میرسد در حالی که پایه GPT-4 حدود ۴۶.۳۵٪ است. این شکاف با توجه به تفاوت تعداد پارامترها چشمگیر نیست، اما مدل ۷ میلیاردی تنظیمشده ه نوز ۱۵+ واحد از امتیاز تست ۵۹.۵۹٪ مدل کامل GPT-4+MAC-SQL عقب است.
- نتیجه تست BIRD: ۵۹.۵۹٪ دقت اجرا، که در زمان ارائه در صدر جدول امتیازات بود و عملکردی بهتر از DAIL-SQL+GPT-4 (۵۷.۴۱٪) با اختلاف ۲.۱۸ واحد داشت.
چه چیزی ماندگار است و چه چیزی نه
عامل Refiner بهترین ایده در اینجا است و تحلیل حذف اجزا نیز آن را نشان میدهد. عاملی که پیام خطای واقعی پایگاه داده را میخواند و SQL خود را اصلاح میکند، کاری بسیار اصولیتر از یک مدل زبانی انجام میدهد که در خلاء حدسهای دوم میزند — این همان اصل نقد تعاملی ابزار (CRITIC) است که مستقیماً و به طور عینی در بازخورد اجرای SQL اعمال شده است.
سهم Selector مثبت اما اندک است. برای پایگاههای داده با صدها جدول، احتمالاً اهمیت بیشتری دارد؛ برای طرحوارههای معمول BIRD حاشیهای است و مقاله گزارش نمیدهد که Selector چند وقت یکبار فعال میشود یا دقت آن در حفظ ستونهای مرتبط چقدر است — این بخش مانند یک جعبه سیاه با یک عدد تجمعی واحد عمل میکند.
عامل Decomposer نسبت به DIN-SQL یک پیشرفت تدریجی است. DIN-SQL پیش از این پرسوجوها را به زیر-مسائل با خود-اصلاحی تقسیم میکرد؛ MAC-SQL این فرآیند را در قالب یک گفتگوی چند-عاملی بازآفرینی کرده است. تقسیم معماری به سه عامل نامگذاری شده بیشتر شبیه به یک انتخاب در طراحی نرمافزار است تا یک الگوریتم استنتاجی جدید. اینکه آیا ساختار پرامپت سه-عاملی نسبت به یک عامل واحد با پرامپت طولانیتر (با کنترل تعداد کل توکنها) برتری دارد یا خیر، هرگز آزمایش نشده است. محدودیتهای پذیرفته شده — پرامپتهایی که "به طور گسترده مهندسی نشدهاند" و تنظیم دقیق که به مدل 7B محدود شده است — واقعی هستند، اما نقص اساسیتر، نبود تحلیل حذف اجزا روی طول پرامپت در مقابل معماری است.
بستر زمانی برای کالیبراسیون اهمیت دارد. امتیاز ۵۹.۵۹٪ MAC-SQL در تست BIRD در دسامبر ۲۰۲۳ پیشرو بود. تا اواسط سال ۲۰۲۵، جدول امتیازات BIRD سیستمهایی را نشان میدهد که از مرز ۸۱٪ عبور کردهاند. ایدههای خاص — فیلتر کردن زیر-طرحواره، تجزیه سوال، بازآزمایی اجرا — توسط کارهای بعدی با استفاده از آموزش مبتنی بر استدلال، RLVR و زنجیره تفکر غنیتر جذب و گسترش یافتهاند. MAC-SQL به عنوان یک محصول قدیمی به نظر میرسد؛ اما MAC-SQL به عنوان یک الگوی معماری، همچنان روزآمد باقی مانده است.