papi labs

مطالعه موردی

samnexus

نقشه‌ی کاملی از کد پروژه‌تان به عامل‌های کدنویس هوش مصنوعی می‌دهد تا پیش از هر تغییر بدانند آن تغییر چه چیزی را خراب می‌کند.

وضعیت
فعال، ابزار داخلی
مالک
Papi Labs Ltd

چطور کار می‌کند

نمودار شماتیک نحوه‌ی کار samnexus، رسم‌شده در مرورگر.

خلاصه

زمینه
Papi Labs یک مهندس است و تعداد زیادی عامل هوش مصنوعی، که هم‌زمان روی چند پروژه‌ی زنده کار می‌کنند.
مسئله
عاملی که نمی‌بیند چه چیزی یک تابع را صدا می‌زند، باز هم با اطمینان ویرایشش می‌کند. خرابی بعداً پیدا می‌شود، در فایلی که کسی بازش نکرده بود.
محدودیت‌ها
روی دستگاه خودتان اجرا می‌شود. کد شما از آن بیرون نمی‌رود، و هر جوابی برچسبی دارد که می‌گوید تا چه حد می‌شود به آن اعتماد کرد.
رویکرد
روی دستگاه خودتان نقشه‌ای از کد پروژه می‌سازد و می‌گذارد عامل کدنویس پیش از هر ویرایشی آن نقشه را ببیند.
چه چیزی تازه است
پیش از هر تغییر، عامل یک گزارش کوتاه می‌گیرد: این کد چیست، چه چیزی از آن استفاده می‌کند، چه چیزی به آن وابسته است، چه تست‌هایی پوششش می‌دهند، و تغییر چقدر پرخطر به نظر می‌رسد.
نتیجه
عامل‌ها دیگر با اطمینان کدی را ویرایش نمی‌کنند که چیز دیگری بی‌سروصدا به آن تکیه کرده بود، و آدمی که نظارت می‌کند می‌بیند چرا یک تغییر امن تشخیص داده شده است.
شواهد
Papi Labs همه‌ی محصولاتش را با همین ابزار می‌سازد، روی پروژه‌های زنده، هر روز کاری.
وضعیت
فعال و در استفاده‌ی روزانه در داخل Papi Labs، هم‌زمان روی چند پروژه.

درباره‌ی samnexus

چه می‌دهید و چه می‌گیرید

آن را به یک پروژه نشان می‌دهید و یک دستور اجرا می‌کنید. کد را می‌خواند، نقشه‌ای از آن می‌سازد، و آن نقشه را به همان عامل کدنویسی می‌دهد که از قبل استفاده می‌کنید.

بعد از آن، مثل همیشه با عامل کار می‌کنید. عامل پیش از ویرایش نقشه را نگاه می‌کند، و شما می‌توانید ببینید که این کار را می‌کند.

نتیجه این است: ویرایش‌های کمتری که کد جای دیگر پروژه را خراب می‌کنند، و باگ‌های کمتری که یک هفته بعد سروکله‌شان پیدا می‌شود.

چرا فرق دارد

عامل کدنویسی که دنبال یک نام می‌گردد، همان کلمه را در جاهای بی‌ربط هم پیدا می‌کند و کدی را که از راه دیگری به آن وصل است نمی‌بیند. samnexus از روی نقشه‌ی خود کد جواب می‌دهد، پس عامل پیش از انجام تغییر می‌داند آن تغییر روی چه چیزی اثر می‌گذارد.

پیش از هر تغییر، عامل یک گزارش کوتاه می‌گیرد: کد کجا تعریف شده، چه چیزی از آن استفاده می‌کند، چه تست‌هایی پوششش می‌دهند، و تغییر چقدر پرخطر به نظر می‌رسد.

هر جواب می‌گوید تا چه حد می‌شود به آن اعتماد کرد و چه چیزی را نمی‌بیند.

روی دستگاه خودتان اجرا می‌شود، و کد شما از آن بیرون نمی‌رود.

وضعیت امروز

samnexus فعال است و هر روز داخل Papi Labs استفاده می‌شود، روی چند پروژه.

کد را همان‌طور که نوشته شده می‌خواند، پس ممکن است فراخوانی‌ای را که فقط حین اجرای برنامه رخ می‌دهد نبیند. اگر گفت چیزی از یک تکه کد استفاده نمی‌کند، پیش از حذف کردنش بررسی کنید.