arXiv:2609.01601ترجمه شده

استخراج سازگار با توکن حرجی برای تولید کد در سطح مخزن

Kefeng Duan، Dewu Zheng، Yanlin Wang، Terry Yue Zhuo، Mingwei Liu، Jianxing Yu، Jiachi Chen، Ensheng Shi، Xilin Liu، Yuchi Ma، Zibin Zheng

چکیده

در زمینه تولید کد در سطح پایگاه داده، کارگاه‌های واقعی اغلب از رویکردهای مبتنی بر تولید تقویت‌شده با بازیابی (Retrieval-Augmented Generation) (RAG) برای فراهم کردن زمینه‌ای مختص پایگاه داده بهره می‌برند. اگرچه این روش‌ها در بازیابی زمینه بهبود یافته‌اند، معمولاً زمینه را صرفاً در سطح وظیفه فراهم می‌کنند و به‌طور صریح توکن‌هایی را که در طول تولید به زمینه دقیق در سطح پایگاه داده نیاز دارند، شناسایی نمی‌کنند. در فرآیند تولید خودرگرسیو مدل‌های زبانی بزرگ، خطاهایی رخ می‌دهد که اغلب در تعداد اندکی از موضع‌های تعیین‌کننده متمرکز هستند: هنگامی که چنین توکن‌هایی به اشتباه تولید شوند، ادامه کد ممکن است مسیر معنایی نادرستی را در پیش گرفته و در نهایت به شکست عملکردی منجر شود. ما این موضع‌ها را «توکن‌های بحرانی» (critical tokens) می‌نامیم. در این مقاله، چارچوب ACToR را پیشنهاد می‌کنیم؛ یک چارچوب بازیابی هوشمند توکن‌های بحرانی برای تولید کد در سطح پایگاه داده. ACToR توکن‌های بحرانی را در طول تولید شناسایی کرده و در زمان نیاز، جستجوی هدفمندی را فعال می‌کند تا در این موضع‌های تعیین‌کننده، زمینه‌ای در سطح پایگاه داده فراهم آورد. افزون بر این، ما یک روش وزن‌دهی آگاه از موقعیت را برای جستجوگران چندبندی طراحی کرده‌ایم تا زمینه‌ای که اطلاعات بیشتری برای تولید فراهم می‌کند، در اولویت قرار گیرد. ما ACToR را بر روی دو بنچمارک نمونه در سطح پایگاه داده، یعنی RepoExec و CoderEval، ارزیابی می‌کنیم. نتایج تجربی نشان می‌دهد که ACToR به‌طور پیوسته عملکرد بهتری نسبت به روش‌های پیشرفته دارد و به بهبودهای نسبی ۸/۴٪ در RepoExec و ۱۵/۴٪ در CoderEval دست می‌یابد. فراتر از دستاوردهای عملکردی، ما تأثیر توکن‌های بحرانی را به‌صورت نظام‌مند کمّی‌سازی کرده و نقش محوری آن‌ها در شکست‌های اصلی تولید را آشکار می‌سازیم و بدین ترتیب ضرورت به‌کارگیری راهبردهای جستجوی هدفمند را برجسته می‌کنیم. کد و داده‌های مربوطه را در آدرس https://github.com/DeepSoftwareAnalytics/ACToR قرار داده‌ایم.

متن کامل

# بازیابی آگاهانه از توکن‌های بحرانی سازگار برای تولید کد سطح مخزن **عنوان:** بازیابی آگاهانه از توکن‌های بحرانی سازگار برای تولید کد سطح مخزن **مقدمه:** وظیفه تولید کد سطح مخزن شامل ترکیب کدی است که الزامات وظیفه را برآورده می‌کند و در عین حال با زمینه مخزن هدف سازگار باشد. از آنجایی که مخازن واقعی اغلب از محدودیت‌های طول ورودی مدل‌های زبانی بزرگ (LLM) فراتر می‌روند، رویکردهای موجود معمولاً از رویکردهای تقویت شده با بازیابی (RAG) برای فراهم کردن زمینه مخصوص مخزن استفاده می‌کنند. اگرچه روش‌های موجود بهبود بخشیده‌اند، اما معمولاً زمینه را به عنوان حمایت سطح وظیفه ارائه می‌دهند، بدون شناسایی صریح توکن‌های بحرانی که نیازمند زمینه مخزن دقیق‌تری در طول تولید هستند. در طول فرآیند تولید خودکار LLM، خطاها اغلب در تعداد کوچکی از موقعیت‌های تصمیم‌گیرنده متمرکز می‌شوند: یک بار که چنین توکن‌هایی به درستی تولید نشوند، کدهای بعدی ممکن است در مسیر معنایی نادرستی حرکت کنند و در نهایت منجر به شکست عملکردی شوند. ما این موقعیت‌ها را «توکن‌های بحرانی» می‌نامیم. در این مقاله، چارچوب بازیابی آگاهانه از توکن‌های بحرانی سازگار (ACToR) را برای تولید کد سطح مخزن پیشنهاد می‌کنیم. ACToR توکن‌های بحرانی را در طول تولید شناسایی کرده و بازیابی هدفمند را در صورت نیاز فعال می‌سازد تا زمینه مخزن را در این موقعیت‌های تصمیم‌گیرنده فراهم سازد. علاوه بر این، روش وزن‌دهی آگاهانه از موقعیت برای بازیابنده‌های چگمه‌ای طراحی می‌کنیم که زمینه‌ای را که اطلاعات بیشتری برای تولید دارد، اولویت دهد. ACToR را روی دو بنچمارک نماینده سطح مخزن ارزیابی می‌کنیم: RepoExec و CoderEval. نتایج آزمایشی نشان می‌دهند که ACToR به طور منظم برتری دارد نسبت به روش‌های پیشرفته، با دستاوردهای نسبی ۸.۴٪ در RepoExec و ۱۵.۴٪ در CoderEval. فراتر از بهبودهای عملکردی، ما به طور سیستماتیک تأثیر توکن‌های بحرانی را اندازه‌گیری می‌کنیم و نقش مرکزی آنها در شکست‌های عمده تولید را آشکار می‌سازیم و ضرورت استراتژی‌های بازیابی هدفمند را برجسته می‌کنیم. کد و داده‌ها در این URL ارائه می‌شود. **نظرات:** - **موضوعات:** مهندسی نرم‌افزار (cs.SE)، هوش مصنوعی (cs.AI)، محاسبه و زبان (cs.CL) **ارجاعات:** - arXiv:2609.01601 [cs.SE] (یا arXiv:2609.01601v1 [cs.SE] برای این نسخه) - https://doi.org/10.48550/arXiv.2609.01601 **DOI منتشر شده توسط arXiv از طریق DataCite (در انتظار ثبت):** 1 سپتامبر ۲۰۲۶، ۱۷:59:39 UTC (۷۵۵ کیلوبایت) **ابزارهای کتابشناسی و ارجاع‌دهی:** - ابزارهای کتابشناسی و ارجاع‌دهی - فعال/غیرفعال کردن اکتشافگر کتابشناسی (اکتشافگر چیست؟) - اسناد متصل فعال/غیرفعال کردن اسناد متصل (اسناد متصل چیست؟) - Litmaps فعال/غیرفعال کردن Litmaps (Litmaps چیست؟) - scite.ai فعال/غیرفعال کردن scite هوشمند **کد، داده‌ها و رسانه کد، داده‌ها و رسانه‌های مرتبط با این مقاله** - alphaXiv (alphaXiv چیست؟) - لینک‌های کد: CatalyzeX، Code Finder for Papers (CatalyzeX چیست؟) - DagsHub (DagsHub چیست؟) - GotitPub (Gotit.pub چیست؟) - Huggingface (Huggingface چیست؟) - ScienceCast (ScienceCast چیست؟) - دمو‌ها: Replicate (Replicate چیست؟)، Hugging Face Spaces (Spaces چیست؟)، TXYZ.AI - مقالات مرتبط: ابزارهای توصیه‌گر و جستجو، Flor Influence Flower (گل‌های تأثیرگذار چیست؟)، توصیه‌گر اصلی CORE Recommender (CORE چیست؟)، نویسنده مجله مؤسسه **ارتباط با arXivLabs:** arXivLabs: پروژه‌های آزمایشی با همکاران جامعه arXivLabs که به همکاران امکان می‌دهد ویژگی‌های جدید arXiv را مستقیماً در وب‌سایت ما توسعه دهند و به اشتراک بگذارند. افراد و سازمان‌هایی که با arXivLabs کار می‌کنند، ارزش‌های ما از جمله openness، جامعه، برتری و حریم خصوصی داده‌های کاربران را پذیرفته و پذیرفته‌اند. arXiv به این ارزش‌ها متعهد است و فقط با شرکایی که به آن‌ها پایبند هستند همکاری می‌کند. **سوال:** آیا ایده‌ای برای پروژه‌ای دارید که ارزش افزوده‌ای برای جامعه arXiv ایجاد کند؟ درباره arXivLabs بیشتر بدانید.