ساخت API برای واقعیت هوش مصنوعی (Building APIs for the Reality of AI)
هوش مصنوعی تغییرات زیادی در نحوه مصرف محتوا و خدمات ایجاد کرده است و این موضوع در حوزه API نیز صدق میکند. مصرف APIها توسط هوش مصنوعی بازی را تغییر داده است و چه آماده باشیم و چه نباشیم، ارائهدهندگان باید خدمات خود را برای عملکرد در اقتصاد API آماده کنند.
در ادامه، به بررسی نحوه تغییر مصرف API توسط هوش مصنوعی در مقیاس بزرگ میپردازیم و چند بهترین روش را برای اجرای فوری ارائه میدهیم تا از دیگران جلوتر باشید.
چگونه هوش مصنوعی مصرف API را تغییر داده است
یکی از جنبههای جالب هر فناوری جدید این است که تأثیرات آن اغلب مانند تار عنکبوت گسترش مییابد. استفاده اولیه اغلب بسیار جالب یا ارزشمند است، اما اینکه چگونه میتواند بر نحوه کار ما، عملکرد فناوریهای دیگر و استفاده واقعی ما از فناوری تأثیر بگذارد، اغلب کم درک میشود.
این موضوع با ظهور هوش مصنوعی به ویژه اثبات شده است. در وضعیت کنونی، هوش مصنوعی از مدلهای زبانی بزرگ (LLM) برای تولید متن، تصویر، ویدیو و غیره استفاده میکند. این مدلها نیازمند مقدار زیادی زمینه هستند و این زمینه معمولاً به شکل دادهها و خدمات خارجی ارائه میشود.
با هوش مصنوعی، مانع ورود به دادهها بسیار متفاوت است. در سالهای گذشته، دو گزینه داشتید: یا API وجود داشت یا وجود نداشت. اگر میخواستید دادهها را بهصورت خودکار استخراج کنید، باید امیدوار میبودید که API از ارائهدهنده اصلی یا از یک شخص ثالث که API برای مورد استفاده مشابه شما ایجاد کرده، موجود باشد. اگر API وجود نداشت، محدود به کاری بودید که خودتان میتوانستید انجام دهید. حتی اگر صفحات یک سرویس عمومی را استخراج میکردید، باز هم باید آن دادهها را جمعآوری، مرتبسازی و زمینهسازی میکردید.
قدرت عاملها
عاملهای هوش مصنوعی بازی را کاملاً تغییر دادهاند. آنها میتوانند مانند یک انسان با کارایی یک ماشین عمل کنند، ترکیبی قدرتمند که در عمل فوقالعاده است. میتوانید از یک عامل بخواهید همه زمانهای نمایش یک فیلم خاص در نزدیکی شما را پیدا کند و تقریباً بلافاصله یک فهرست با پیشنهادها، مسیرها و زمینه اضافی تولید کنید. عاملها فاصله بین انعطافپذیری انسان و کارایی ماشین را پر میکنند. اما این برای ارائهدهنده API چه معنایی دارد؟
دوگانگی که قبلاً وجود داشت — API وجود دارد یا ندارد — اکنون کمی تغییر کرده است. دریافت دادهها یا عملکرد از یک سرویس از طریق یک عامل هوش مصنوعی که کاملاً خارج از API کار میکند، آسانتر از همیشه شده است. این تغییر پتانسیل دسترسی کنترل نشده به یک سرویس از دیدگاه خارجی را ایجاد کرده است، شبیه API اما بدون هیچ یک از ابزارها، کنترلها یا تأثیرات API. عامل محدودکننده دیگر وجود API نیست، بلکه به میزان توان پردازشی و زمان اختصاص دادهشده برای استخراج دادهها یا خدمات توسط شخص خارجی بستگی دارد. این یک تغییر پارادایم عظیم است و بهراستی کنترل آن چالشبرانگیز است.
ساخت API برای واقعیت هوش مصنوعی
بهطور ساده، سرویس و دادههای شما صرفنظر از اینکه API ایجاد کردهاید یا نه، مصرف خواهند شد. با وجود عاملها، LLMها و پیادهسازیهای هوش مصنوعی ارزان، اساساً هیچ مانعی برای استفاده از هوش مصنوعی مدرن وجود ندارد. سرویس شما، چه API داشته باشید و چه نداشته باشید، با الگوهای مصرف ماشینی مواجه خواهد شد. حتی اگر سرویس را با احراز هویت و مجوزدهی مؤثر ایمن کنید، دادهها در فضای عمومی هنوز قابل استخراج هستند.
معایب این رویکرد برای ارائهدهنده سرویس این است که پارادایم مصرف را تغییر میدهد. ارائهدهنده سرویس قبلاً میتوانست جریان داده را کنترل کرده و تعیین کند چه دادهای در دسترس باشد، کدام نقاط پایانی عمومی یا خصوصی باشند و چه جریان دادهای از طریق API مجاز است. با ظهور هوش مصنوعی و مصرف مبتنی بر عامل خارج از API، هر چیزی که بهصورت عمومی در دسترس است، از نظر نظری میتواند با حداقل هزینه در زمان و منابع توسط عامل استخراج شود، و دادهها را بهراحتی قابل دسترسی میکند.
با توجه به این موضوع، یک راهحل واضح وجود دارد. ارائهدهندگان API باید طراحی APIهای خود را برای مصرف بهبود دهند، بهجای اینکه خدماتشان بازتاب یا تبدیل به فرمهای دیگر شود.
دادههای خود را در دسترس قرار دهید
دادهها منبع حیاتی هوش مصنوعی مدرن هستند و واقعیت این است که تولید و مصرف خواهند شد، صرفنظر از اینکه شما آنها را ارائه کنید یا نه. بنابراین، ارائه دادهها در شکل و عملکرد مورد نظر شما، منبع ثانویه این دادهها را دور میزند و عملکرد کلی سرویسهای شما را بهبود میبخشد. این بخشی از رویکرد مکمل طراحی API است که استفاده از API شما را آسانتر از استخراج داده از طریق سرویس خارجی میکند، و این مانع اضافی میتواند کاربران را به استفاده از API شما بهعنوان گزینه اول ترغیب کند.
چگونه دادهها را در دسترس قرار دهیم؟ ابتدا با دادههای با کیفیت و ساختاریافته شروع کنید. برنامههای هوش مصنوعی برای عملکرد مؤثر به دادههای ساختاریافته وابستهاند، اما در نبود ساختار، آنها خودشان این ساختار را فرض میکنند. این میتواند نتایج فاجعهباری داشته باشد، بنابراین ساختار خود را بهوضوح تعیین کرده و آن را در خود دادهها (و بهعنوان بخشی از نقاط پایانی) بیان کنید تا نتایج واضحتر و دقیقتری حاصل شود.
سپس، اطمینان حاصل کنید که دادههای شما غنی هستند، شامل دادههای لحظهای در صورت نیاز و دادههای تاریخی در مواقع ضروری. هنگام تغییر فرمت دادهها، توضیح دهید که این دادهها از نسخهای به نسخه دیگر چگونه تغییر کردهاند تا تداوم زمینهای حفظ شود.
در نهایت، دادههای خود را هرجا ممکن است ناشناس کنید. حفظ حریم خصوصی از طریق ناشناسسازی میتواند پیچیده باشد، اما این کار با جمعآوری تنها دادههای مورد نیاز بهجای جمعآوری همه دادهها آسانتر میشود. اطمینان حاصل کنید که از تمامی قوانین و حفاظتهای حریم خصوصی پیروی میکنید و سرویس زنده شما دادههایی مشابه آنچه API ارائه میدهد ارائه میکند (و بالعکس).
طراحی برای یکپارچگی
عاملها معمولاً بهعنوان روش جایگزین مصرف API ظهور میکنند زیرا API داده یا عملکرد مورد نیاز کاربر را ارائه نمیدهد. با این حال، اکثر توسعهدهندگان ترجیح میدهند با API با کیفیت بالا و عملکرد خوب یکپارچه شوند. بنابراین، روی بهترین شیوههای طراحی برای یکپارچگی تمرکز کنید.
از فناوریهایی مانند GraphQL، صفحهبندی و هایپرمدیا استفاده کنید تا API شما خودتوضیحی و متامتنی باشد. با ارائه این زمینه عملکردی، API شما میتواند بهصورت کنترلشده مصرف شود. همچنین از SDKها و wrapperها استفاده کنید تا توسعهدهندگان بتوانند API شما را در پروژههای دیگر ادغام کنند. پروژهای که سعی در ایجاد یکپارچگی خود دارد هرگز به اندازه پروژه شما به طراحی شما نزدیک نخواهد بود، بنابراین ارائه حتی عملکرد SDK ابتدایی، نتایج را بهطور چشمگیری بهبود میبخشد.
همه چیز را مستندسازی کرده و ارائه دهید
مستندسازی یک دفترچه واقعی برای عاملها و سیستمهای هوش مصنوعی است. بهجای اینکه امیدوار باشید ساختار شما کافی است، مستندسازی کامل میتواند سوءتفاهمها یا جریانهای کار ضعیف طراحیشده را دور بزند. موارد زیر را مدنظر داشته باشید:
-
مثالهای استفاده و مجموعه داده نمونه ارائه دهید، بهویژه برای جریانهایی که ممکن است بهوضوح اولیه به نظر نرسند. این به عاملهای هوش مصنوعی کمک میکند تا بفهمند سرویس شما چگونه طراحی شده و هدف آن چیست.
-
ساختار دادهها و نتایج مورد انتظار را توضیح دهید تا وضعیتهای شکست احتمالی و پاسخهای ناقص روشن شود. کدهای خطای واضح ارائه دهید که به عاملها یا سایر راهحلهای یکپارچهسازی هوش مصنوعی منتقل شود.
-
یک صفحه فرود و کاوشگر API خاص هوش مصنوعی ارائه دهید تا درک سطح بالا از سرویس شما و نحوه استفاده از آن فراهم شود.
تمرکز بر بهینهسازی
با پیشرفت هوش مصنوعی و فراگیر شدن آن، مصرف API توسط هوش مصنوعی رشد خواهد کرد. بنابراین، اطمینان از اینکه سیستم شما بهینهترین حالت ممکن را دارد، به محافظت از API شما در برابر مصرف خودکار شدید آینده کمک میکند. تاکتیکهای بهینهسازی شامل موارد زیر است:
-
تمرکز بر تأخیر کم و پرسوجوهای با کارایی بالا. استفاده از کشینگ، صفحهبندی و سایر راهحلها برای کاهش بار کلی و ارائه فقط آنچه درخواست شده یا برای درخواستهای اضافی مورد نیاز است.
-
اجرای محدودیت نرخ مؤثر برای مدیریت ترافیک بهطور منصفانه. نمیخواهید تمام ترافیک خودکار را از بین ببرید، زیرا این باعث میشود عاملها سرویس زنده را خزنده کنند، اما میتوانید درخواستهای خودکار را محدود کنید تا دسترسی عادلانه تضمین شود.
-
فعال کردن مقیاس خودکار برای پاسخ به تقاضای ترافیک بالا تا مصرفکنندگان شما تحت تأثیر نوسانات استفاده خودکار قرار نگیرند.
نتیجهگیری
مصرف هوش مصنوعی به این زودیها پایان نخواهد یافت، بنابراین بهترین کار این است که جلوتر از مشکل باشید و APIهای خود را برای مصرف توسط هوش مصنوعی طراحی کنید. این موضوع «بساز، و آنها خواهند آمد» نیست. آنها از قبل حضور دارند و از آن استفاده میکنند، بنابراین آنچه امروز ارائه میکنید، اثربخشی و دقت استفاده آن در مقیاس را تعیین میکند.
