مستندات کد معمولاً وعدههایی هستند که برنامهنویسان به سرعت میشکنند. اگر هنوز برای بهروزرسانی رشتههای مستنداتی (Docstrings) به حافظه تیم تکیه میکنید، در واقع دارید بدهی فنی (Technical Debt) انباشته میکنید.
در ۱۲ مه ۲۰۲۶، ابزاری به نام Wright AI معرفی شد تا این مشکل را با تغییر ماهیت مستندات از «متن توصیفی» به «قراردادهای اجرایی» حل کند. طبق گزارش dev.to، این سیستم تنها به نوشتن مستندات اکتفا نمیکند، بلکه فعالانه زمانهایی را که مستندات به «دروغ» تبدیل میشوند، شناسایی و علامتگذاری میکند.
در دنیای توسعه، پدیدهای به نام انحراف مستنداتی (Documentation Drift) وجود دارد؛ یعنی کد تغییر میکند اما توضیحات آن قدیمی میمانند. همانطور که در تحلیلهای پیشین ما دربارهی مدیریت بدهی فنی در پروژههای بزرگ اشاره کردیم، این شکاف باعث بروز باگهای ادغام (Integration Bugs) میشود. برای حل این مشکل، Wright AI از درخت نحو انتزاعی (Abstract Syntax Tree) استفاده میکند — تشبیه روزمره: مثل نقشهی کالبدشناسی یک جمله که به جای خواندن متن، ساختار و استخوانبندی آن را تحلیل میکند.
به نقل از مستندات پروژه، این ابزار از یک رویکرد دوگانه برای حفظ دقت استفاده میکند:
- تولید زمینهمحور: به جای توصیف سادهی بدنه تابع، از Tree-sitter برای تجزیه AST و NetworkX برای ساخت گراف وابستگی با وزندهی PageRank بهره میبرد تا هدف تابع را از طریق تحلیل فراخوانها درک کند.
- شناسایی انحراف: سیستم در هر Commit، تغییرات AST را بررسی میکند. اگر امضای یک تابع تغییر کند (مثلاً تغییر نام پارامتر از 'card' به 'paymentMethod') اما docstring بهروز نشود، ابزار یک «ضربه انحرافی» (Drift Hit) ثبت میکند.
- یکپارچگی اکوسیستم: این ابزار از زبانهای پایتون، تایپاسکریپت، جاوااسکریپت، گو و راست پشتیبانی میکند و شامل یک MCP server است که به مدلهایی مثل Claude Code یا Cursor اجازه میدهد توابع ایندکسشده را مستقیماً کوئری کنند. در یک نمونه، این ابزار توانست ۸۴۷ تابع را در ۱۲ فایل برای یک سرور محلی ایندکس کند.
این چرخش از تأیید متنی به تأیید ساختاری، بار شناختی برنامهنویسان را کاهش داده و ریسک توهم (Hallucination) در مستندات تولیدشده توسط هوش مصنوعی را میپوشاند. با مسدود کردن Pull Requestهایی که باعث انحراف مستنداتی میشوند، تیمها میتوانند مستندات را مانند یک خطای کامپایل (Build Error) تلقی کنند.
در حالی که تمرکز فعلی بر تغییرات امضای توابع است، توسعهدهنده قصد دارد در آینده از اجرای نمادین (Symbolic Execution) برای شناسایی تناقضات رفتاری در شاخههای کد استفاده کند.
گام بعدی شما
- ابزار Wright AI را در گردش کار GitHub Actions خود ادغام کنید.
- از طریق MCP server، دسترسی مدلهای Claude Code یا Cursor به توابع ایندکسشده را فعال کنید.
- مستندات فعلی پروژه خود را برای شناسایی نقاط انحراف (Drift) بازبینی کنید.
اما این تنها بخشی از مسیر است؛ برای درک اینکه چگونه مدلهای استدلالی میتوانند منطق کد را تحلیل کنند، گزارش ما دربارهی مدلهای استدلالی را بخوانید.




گفتگو