// سطح: vasic-util-secondary · سفارش 24
DocProcessor activeاجازهنامه: Apache-2.0
منبع
محتوا تبدیل مستندات به نقشه ویژگیهای قابل راستیآزمایی برای خودکارسازی تضمین کیفیت
DocProcessor یک ماژول مستقل و کاملاً جدا از Go است که مستندات پروژه را بارگذاری میکند، نقشههای ساختاریافته ویژگیها را میسازد و پوشش راستیآزمایی را ردیابی میکند. این ماژول برای کار با عاملهای LLM جهت استخراج هوشمند ویژگیها طراحی شده است، اما شامل استخراج اکتشافی برای استفاده آفلاین نیز میشود.
ماژول Go مستقل از پروژه برای پردازش مستندات و استخراج نقشه ویژگیها. این ماژول مستندات را به نقشههای ساختاریافته ویژگیها تجزیه میکند و پیگیری میکند که کدام ویژگیها راستیآزمایی شدهاند — با استفاده از عاملهای LLM برای استخراج هوشمند یا اکتشافات آفلاین — و تضمین میکند که خودکارسازی تضمین کیفیت همواره با واقعیت مطابقت دارد و هیچگونه اغراق یا نادرستی در آن راه ندارد.
هر تیم نرمافزاری با یک دروغ آهسته و همیشگی زندگی میکند: مستندات ویژگیهایی را وعده میدهد، تستها چیزی نزدیک به آن را پوشش میدهند و هیچکس نمیتواند با اطمینان بگوید که آیا این دو یک محصول را توصیف میکنند یا نه. DocProcessor برای آشکار و قابل اندازهگیری کردن این شکاف وجود دارد. با در اختیار داشتن مستندات یک پروژه، این ماژول یک نقشه ساختاریافته ویژگیها میسازد — مدلی شمارششده و قابل خواندن توسط ماشین از تمام آنچه محصول ادعا میکند انجام میدهد — و پوشش راستیآزمایی را در برابر آن ردیابی میکند، به طوری که پرسش «آیا این ویژگی مستندشده واقعاً اثبات شده است؟» دیگر به بحثهای راهرویی ختم نشود و به پرسشی با پاسخ مشخص تبدیل شود. این ماژول عمداً دوحالته طراحی شده است: زمانی که عامل LLM در دسترس باشد، از آن برای استخراج هوشمند و معنایی ویژگیها استفاده میکند و در غیر این صورت به یک تجزیهگر اکتشافی برای استفاده کاملاً آفلاین بازمیگردد. به این ترتیب، هرگز به وجود یک مدل وابسته نمیشود و به یکسان در یک وظیفه CI بدون اتصال به شبکه یا روی لپتاپ توسعهدهندهای که در حالت پرواز کار میکند، اجرا میشود.
از نظر معماری، این ماژول یک ماژول مستقل، ناآشنا به پروژه و کاملاً جدا از Go است (CONST-051(B)): هیچ مقدار خاص پروژهای را ارسال نمیکند و توسط مصرفکنندگان به عنوان یک زیرماژول همسطح با کد اصلی گنجانده میشود، بنابراین هر پروژهای میتواند آن را بدون به ارث بردن فرضیات دیگران به کار گیرد. همچنین خود را ملزم به رعایت همان استانداردی میکند که بر دیگران تحمیل میکند — ادعاهای خود را تحت پیمان ضداغراق (CONST-035) و قوانین پوشش خودکارسازی کامل (CONST-048) قرار میدهد، به این معنا که هر قابلیتی که فایل README آن تبلیغ میکند، توسط یک تست خودکار یا اسکریپت چالش مورد آزمایش قرار میگیرد تا رفتار واقعی و قابل استفاده توسط کاربر نهایی را تأیید کند، نه صرفاً خروجی صفر؛ رشتههای قابل مشاهده توسط کاربر از طریق درزگاه مترجم i18n CONST-046 هدایت میشوند. هدف از همه اینها ایجاد یک چرخه بسته است: DocProcessor سمت ورودی چرخه تضمین کیفیت است که HelixQA آن را تکمیل میکند — این ماژول نقشه ویژگیها را از مستندات استخراج میکند، HelixQA هر ویژگی نقشهبرداریشده را با شواهد اجرایی ضبطشده اثبات میکند و مستندات، تستها و رفتار تحویلشده مجبور میشوند به جای آنکه به آرامی در هر نسخه از هم دور شوند، به هم نزدیک شوند.
مستندات و تستها از هم دور میشوند: مستندات ویژگیهایی را وعده میدهند که هیچ تستی آنها را اثبات نمیکند و تضمین کیفیت نمیتواند به سادگی تشخیص دهد که «کامل» به چه معناست. DocProcessor مستندات را به نقشه ویژگیهای قابل خواندن توسط ماشین تبدیل میکند تا پوشش راستیآزمایی بر اساس آنچه واقعاً وعده داده شده است، اندازهگیری شود.
محتوا
این ابزار، سؤالی مبهم در تحویل نرمافزار — «آیا آنچه تحویل دادهایم با آنچه گفتهایم تحویل دادهایم مطابقت دارد؟» — را به چیزی تبدیل میکند که قابل خودکارسازی و بررسی مستمر است، و این کار را بدون وابستگی سخت به AI انجام میدهد: استخراج LLM زمانی که مدل در دسترس باشد، و روشهای ابتکاری در صورت عدم دسترسی، بهگونهای که تضمین یکسانی در همهٔ محیطها از یک اجراگر آفلاین تا یک خط لولهٔ کاملاً خودکار برقرار باشد.
- استخراج نگاشت مستندات به ویژگیها با ردیابی پوشش تأیید.
- استخراج دوگانه: مبتنی بر عامل LLM یا ابتکاری/آفلاین.
- جداسازی بدون نیاز به پیکربندی و مستقل از پروژه (CONST-051(B)).
- خودتأیید ضدفریب: ادعاهای فایل README با تستها/چالشها پشتیبانی میشوند (CONST-035/048).
- عملکرد بدون نیاز به مدل: با استفاده از یک استخراجگر ابتکاری بهعنوان جایگزین حل شده تا ماژول بهصورت آفلاین کار کند.
- هماهنگ نگهداشتن مستندات و واقعیت: با نگاشت ویژگیهای ساختاریافته و ردیابی پوشش تأیید حل شده که در چرخهٔ تضمین کیفیت ادغام شده است.
- قابلیت استفادهٔ مجدد: از طریق جداسازی سختگیرانه و مصرف زیرماژولها در یک کدبیس برابر حل شده است.
- اعتبار ادعاهای خود ابزار: با تستها/چالشهای ضدفریب برای هر قابلیت تبلیغشده حل شده است.
- Go (نسخهٔ ۱٫۲۵ به بالا) — هستهٔ ماژول؛ تحت مجوز آپاچی ۲٫۰.
- عوامل LLM — استخراج هوشمند ویژگیهای معنایی (اختیاری).
- تجزیهگر ابتکاری — جایگزین استخراج ویژگیها در حالت آفلاین.
- مترجم چندزبانه (
pkg/i18n) — رشتههای محلیسازیشدهٔ CONST-046. - چارچوب چالش — تأیید ضدفریب ادعاهای خود ماژول.