خطای ZeroDivisionError و کد خروجی ۱؛ این نتیجهی ارسال یک لیست خالی به تابع میانگینگیر پایتون در ۱۴ اکتبر ۲۰۲۶ بود. این نقص بحرانی در لبههای محاسباتی، توسط یک استقرار محلی از مدل Spark-X2.5-1.7B با موفقیت شناسایی شد.
برای توسعهدهندگان، این اتفاق به معنای چرخش به سمت بازبینیهای کد کاملاً محلی و خصوصی است که به APIهای ابری وابسته نیستند. استفاده از یک نقطه اتصال (Endpoint) محلی به تیمها اجازه میدهد مخازن حساس خود را بدون نشت کد به سرورهای خارجی اسکن کنند؛ فرآیندی که شبیه به بازبینی دستی توسط همکاران است اما با سرعت ماشین اجرا میشود. همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، حذف واسطههای ابری، ریسکهای حریم خصوصی را بهشدت کاهش میدهد.
مدل زبانی کوچک (SLM) — مثل یک دستیار متخصص که بهجای دانستن همه چیز، روی یک مهارت خاص مثل کدنویسی تمرکز کرده — در اینجا نقش کلیدی دارد. به گزارش dev.to، زیرساخت فنی این سیستم شامل نسخه ۱.۱۳.۰ ابزار OpenCodeReview روی ویندوز بود. این سامانه از طریق llama.cpp به مدل XHToken/Spark-X2.5-1.7B متصل شده بود که از وزنهای کوانتیده Q4_K_M GGUF استفاده میکرد.
گردشکار اصلاح خطا
- شناسایی: دستور
ocr scanفایلscore.pyرا انتخاب کرد و نبودِ مدیریت ورودیهای خالی را تشخیص داد. - بازبینی: مدل دو کامنت متداخل روی خطوط ۱ تا ۳ فایل منبع ایجاد کرد و ریسک تقسیم بر صفر را هشدار داد.

- اصلاح: بر اساس بازخورد هوش مصنوعی، یک حفاظ دستی (
if not scores: return 0.0) پیادهسازی شد.

- تأیید: تستهای بعدی تأیید کردند که لیستهای خالی اکنون مقدار ۰.۰ و لیستهای معتبر (مثلاً
[2, 4]) مقدار ۳.۰ را برمیگردانند که منجر به خروجی موفق (Exit Code 0) شد.

این ساختار، گردشکار توسعهدهنده را تغییر میدهد و کامنتهای بازبینی را به ادعاهای قابل تست تبدیل میکند. با این حال، باید به خاطر داشت که حتی دستیابی به خروجی موفق در تستها همیشه به معنای نبود نقص نیست؛ چرا که کدهای سبز pytest لزوماً تضمینکنندهٔ صحت کامل برنامههای تولیدشده توسط هوش مصنوعی نیستند. بهجای اینکه به پیشنهادات هوش مصنوعی زاینده (Generative AI) — مثل توصیههای یک مشاور که باید دوباره چک شوند — به عنوان صرفاً «راهنما» نگاه کنیم، استفاده از ورودیهای concrete و Assertهای پایتون، بازخورد مدل را به یک گام مهندسی تکرارپذیر و قابل تأیید تبدیل میکند. برای ارتقای این فرآیند، ثبت خروجیهای مدل در قالب Snapshot میتواند راهکاری مؤثر برای مقابله با خطاهای نامشخص ارزیابی باشد.
گام بعدی شما
- نصب نسخه ویندوزی OpenCodeReview و Git برای شروع اتوماسیون محلی.
- راهاندازی یک سرور LLM محلی (مانند Ollama یا llama.cpp) که از Tool Call پشتیبانی کند.
- جایگزینی بازبینیهای دستی تکراری با اسکنهای اولیه مدلهای SLM برای یافتن Edge Caseها.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک اینکه چگونه مدلهای کوچک در سختافزارهای لبه اجرا میشوند، به تحلیل ما دربارهی رایانش لبه مراجعه کنید.




گفتگو