در گذشته، ما مطالب زیادی در مورد ایجاد مستندات خوب نوشتهایم. از ایجاد منابع پشتیبانی برای بهبود تجربه توسعهدهنده تا نکاتی برای نوشتن مستندات API، این یک روندی است که ما همیشه به دنبال راههایی برای بهبود آن هستیم.
بنابراین، ظاهراً تاد کرپلمن از شرکت Plaid و دوست پلاتیپوس او، بیل، نیز همین نظر را دارند.
میدانیم جمله آخر چطور به نظر میرسد، اما ما قصد نداریم کاملاً سورئالیست باشیم. بیل یک چتبات هوش مصنوعی است که کرپلمن و تیمش ساختهاند تا مستندات توسعهدهنده Plaid را مصرف و بهبود دهد. حال ممکن است فکر کنید: «آیا واقعاً به هوش مصنوعی برای این کار نیاز داریم؟ آیا باید همه جا باشد؟»
در سمپوزیوم API آستین ۲۰۲۴، کرپلمن به ما پیوست تا به همین سوالات پاسخ دهد. و در واقع، مزایایی که بیل ارائه میدهد، دلیلی قانعکننده برای فکر کردن خارج از چارچوب با استفاده از هوش مصنوعی در حوزههایی مانند مستندات API و امنیت ایجاد میکند.
در ادامه، ما بررسی خواهیم کرد که چگونه میتوان یک چتبات هوش مصنوعی را همراه با مستندات پیادهسازی کرد و مزایای ملموسی که این کار میتواند ارائه دهد. همچنین به برخی از ملاحظات امنیتی و تصمیمات مربوط به تکنولوژی زیرساختی که باید با آن روبهرو شوید، اشاره خواهیم کرد.
تولد بیل
اول از همه، چرا نیاز به یک چتبات در اینجا وجود داشت؟ پاسخ نسبتاً ساده است: Plaid یک پلتفرم فینتک است که مجموعهای از راهحلها را ارائه میدهد، از تأیید حساب و پرداختها تا امور مالی باز و ارزیابی اعتباری، همه در یک مکان. به عبارت دیگر؟ این پلتفرم کارهای زیادی انجام میدهد.
و زمانی که پلتفرمها یا APIها کارهای زیادی انجام میدهند، مستندات گسترده مرتبط با آنها اغلب بسیار پیچیده و دشوار برای ناوبری است. با بیل، کرپلمن و تیمش قصد داشتند از مزایای قابل اثبات چتباتهای GenAI برای ایجاد یک عامل مکالمهای بهره ببرند.
مثل بسیاری از پروژههای بزرگ دیگر، بیل به عنوان یک پروژه هکاتون شروع به کار کرد. برای آموزش بیل در مورد Plaid، تیم مستندات عمومی، متنهای آموزشی YouTube، مقالات مرکز راهنما، راهنمای PDF پیادهسازی و موارد دیگر را گرفته، آنها را تجزیه کرده و به بیل نسخه ۱٫۰ منتقل کردند.
به عبارت دیگر، این یک تلاش بسیار بزرگتر از فقط کپی کردن، مثلاً، یک چتبات ChatGPT بود…
استفاده از APIها برای آموزش چتباتهای هوش مصنوعی؟
کرپلمن توضیح میدهد که تیمش چگونه از یک مدل Embeddings استفاده کرده است تا به طور خلاصه، اطلاعات حجیم و یکپارچه را شکسته و در یک پایگاه داده وکتوری ذخیره کند. OpenAI API Embeddings خود را دارد، اما مدلهای Embeddings متنباز مختلفی نیز وجود دارند که میتوان در نظر گرفت.
او توضیح میدهد که سوالات مطرح شده برای بیل سپس از طریق همان API Embeddings که روی مستندات و مقالات مرکز راهنمایشان استفاده میشود، اجرا میشوند. بیل سپس متن را برمیگرداند، یعنی بخشهایی از مستندات مرتبط با آن سوال.
اما کرپلمن همچنین اذعان میکند که شما میتوانید تقریباً تمام مراحل بالا را با خرید یک راهحل چتبات آماده نادیده بگیرید. رفتن به این مسیر به معنای زمان سریعتر برای عرضه به بازار و نیاز کمتر به نگهداری دستی است، اما گرانتر است و کنترل کمتری خواهید داشت. پس چرا یک چتبات هوش مصنوعی با استفاده از API بسازیم؟
«ما یک راهحل داریم که الان احتمالاً کمی بهتر است زیرا بسیار سفارشی شده است،» کرپلمن میگوید. «ما قادر به انجام برخی کارهای سفارشی هستیم که ممکن است با یک شخص ثالث نتوانسته باشیم انجام دهیم.» سفارشیسازی تنها مزیت استفاده از APIها برای آموزش چتباتها نیست…
«شما میآموزید که LLMها چگونه کار میکنند،» کرپلمن میگوید. «فکر نمیکنم هوش مصنوعی از بین برود و قادر بودن به ساخت چیزی در داخل شرکت خوب است. دانش بیشتری در داخل شرکت دارید، بنابراین وقتی مشکلات دیگر مربوط به هوش مصنوعی پیش میآید، میدانید چگونه به آنها نزدیک شوید.»
با این حال، او اذعان میکند که راهحلهای شخص ثالث با تیمهای مهندسی اختصاصی ممکن است طی یک یا دو سال با بیل برابری کنند و حتی از آن پیشی بگیرند، که ممکن است منجر به تغییر شود. در همین حال، مهم است که به یاد داشته باشید ارزیابی کیفیت یک بات مانند بیل و بهبود خروجی آن، یک فرآیند تکراری است که باید بر آن نظارت داشته باشید.
مزایا، امنیت و سایر ملاحظات
یک مزیت مهم این رویکرد این است که به شناسایی خطاها یا اطلاعات ناقص در مستندات شما کمک میکند. چتباتهای GenAI شهرت دارند که به جای عدم پاسخ، پیشنهاداتی ارائه میدهند که ممکن است درست نباشند، و شناسایی خروجی نادرست یا بیمعنی (توسط خودتان یا از طریق بازخورد کاربران) میتواند به شما کمک کند تغییرات لازم در مستندات را انجام دهید.
در مورد مستندات و نمونه کد، ممکن است نیاز به اصلاحاتی داشته باشید تا کارایی بیشتری داشته باشند. کرپلمن توضیح میدهد، برای مثال، چگونه تیم Plaid آزمایش کرده است که «توضیحات طولانی» از عملکرد توابع و اطلاعات اضافی مستندات را اضافه کنند، که برای انسانها اضافی است اما میتواند برای مدل مفید باشد.
تا کنون، او گزارش داده است که نمونه کدهای بیشتری توسط بیل بازگردانده شده است اما نتایج مربوط به تحلیل مستندات مختلط بوده است… یادآوری دیگری که این فرآیند کاملاً تکراری است.
برخی نگرانیهای جدی امنیتی نیز هنگام ساخت چتبات وجود دارد. کرپلمن توصیه میکند: «فرض کنید هر اطلاعاتی که به چتبات خود دادهاید میتواند دقیقاً توسط مشتری شما دیده شود.» این موضوع میتواند بهویژه برای اطلاعات مربوط به قیمتگذاری، آسیبپذیریها یا کمبودهای پلتفرم شما مهم باشد.
توسعهدهندگان باید تلاش کنند تا از Jailbreaking و سایر اشکال سوءاستفاده جلوگیری کنند. کرپلمن این موضوع را با مثال مصرفکنندگان استفاده از چتبات Chevrolet در Watsonville برای دسترسی رایگان به خدمات ChatGPT توضیح میدهد.
او دو اقدام احتیاطی پیشنهاد میکند: محدودیت نرخ — در صورتی که آسیبپذیری بات شما به صفحه اول Reddit برسد — و مشخص کردن اینکه کاربران با یک بات صحبت میکنند. ایده این است که کاربران پاسخهای نادرست را بهتر میپذیرند و در بهترین حالت، آنها را با شما به اشتراک میگذارند تا روشهای بهبود را پیدا کنید.
آیا هوش مصنوعی آینده مستندات توسعهدهنده است؟
آیا این بدان معناست که دیگر هرگز نیازی به نوشتن مستندات ندارید؟ یا میتوانید کل تیم پشتیبانی خود را اخراج کرده و به ارتشی از بیلها بسپارید؟ یک کلمه: نه.
در این مورد، اصطلاح «هوش مصنوعی مولد» ممکن است کمی گمراهکننده باشد. اگرچه بیل قطعاً پاسخ تولید میکند، اما «جواب» تولید نمیکند — او تنها به دلیل آموزش روی حجم زیادی از مستندات و اطلاعات پشتیبان، قادر به پاسخدهی مؤثر است.
با این حال، از پروژههای کوچک مانند Code-Narrator تا پروژههای بزرگتر مانند Theneo، افراد تلاشهای مشروعی برای خودکار کردن تولید مستندات با استفاده از هوش مصنوعی انجام میدهند. آیا آینده دنیایی خواهد بود که چتباتهای هوش مصنوعی روی مستندات تولید شده توسط هوش مصنوعی آموزش ببینند در حالی که شما استراحت میکنید؟
شاید، اما هنوز به آنجا نرسیدهایم.
سازمانهای بزرگتر، به ویژه آنهایی که در حوزههای حساس مانند بانکداری یا بهداشت فعالیت میکنند، احتمالاً نمیتوانند تمام اطلاعات لازم را برای تولید ابزارهای هوش مصنوعی واگذار کنند یا به آنها اعتماد کنند تا مستندات و مقالات کمکی منسجم تولید کنند.
حتی شرکتهایی که تمایل بیشتری به خودکارسازی دارند ممکن است متوجه شوند که نیاز به بررسی محتوا برای خطاها، ویرایش و غیره، مزایای استفاده از هوش مصنوعی را کاهش میدهد. به عبارت دیگر، نمایندگان پشتیبانی و نویسندگان مستندات هنوز روز دیگری را خواهند دید… حداقل فعلاً.



