AI Features Need Product Edges, Not Just Better Prompts
بیشتر ویژگیهای هوش مصنوعی شکست میخورند.
آنها به این دلیل شکست نمیخورند که مدل بد است؛ بلکه به این دلیل شکست میخورند که توسعهدهندگان با تمام موارد پیرامون مدل، مانند یک نسخه دموی ساده برخورد میکنند.
من اخیراً روی یک اپلیکیشن ورزشی iOS کار کردم. این اپلیکیشن از Claude برای برنامههای ورزشی استفاده میکند. بخش مربوط به مدل آسان است؛ شما متن زمینه (context) را میفرستید و یک برنامه دریافت میکنید.
کار سخت، همان چیزی است که آن را به یک محصول واقعی تبدیل میکند. شما باید موارد زیر را مدیریت کنید:
• موجودی ماهانه اعتبار هوش مصنوعی • حالتهای آفلاین • ذخیرهسازی توکنهای احراز هویت (Auth token) • وضعیتهای بارگذاری در حین تولید پاسخ • قوانین متفاوت برای افزودن در مقابل جایگزینی تمرینات • تست برای موارد خاص (edge cases) خستهکننده
کیفیت دقیقاً در همینجا نهفته است.
یک دکمه نباید صرفاً یک endpoint را فراخوانی کند. دکمه باید بداند که آیا یک پیشنهاد مجاز است یا خیر. باید بررسی کند که آیا کاربر آنلاین است یا نه. باید بررسی کند که آیا اعتباری برای او باقی مانده است یا خیر.
مدل اهمیتی به این مسائل نمیدهد، اما کاربر اهمیت میدهد.
وقتی هوش مصنوعی پاسخ میدهد، باید تعداد اعتبار بهروزرسانیشده را نیز شامل شود. رابط کاربری (UI) باید بلافاصله بهروز شود. این کار مانع از نمایش دادههای قدیمی به کاربر میشود. اگر بکاند (backend) اعلام کرد که یک اعتبار مصرف شده است، UI باید همین حالا آن را نشان دهد.
من برای یک view model، ۱۳ تست نوشتم. محدودیتهای اعتبار و خطاهای آفلاین را تست کردم. این کار برای سرگرمی نیست؛ بلکه به این دلیل است که این مسائل در مقابل کاربران واقعی باعث بروز مشکل میشوند.
خطاهای اتصال باید پیامهای واضحی داشته باشند. نگویید «پاسخ غیرمنتظره از سرور». بگویید «شما آفلاین هستید. برای استفاده از ویژگیهای هوش مصنوعی، دوباره متصل شوید.»
عرضه ویژگیهای هوش مصنوعی، همان مهندسی نرمافزار معمولی است که یک وابستگی احتمالی (probabilistic dependency) در میان آن قرار دارد.
روی قرارداد (contract) پیرامون مدل تمرکز کنید:
• آیا کاربر میتواند همین الان از آن استفاده کند؟ • اگر شبکه قطع شود چه اتفاقی میافتد؟ • آیا میزان استفاده به درستی ردیابی میشود؟ • آیا UI وضعیت سرور را منعکس میکند؟ • آیا میتوانید موارد خاص (edge cases) را بدون مدل تست کنید؟
وقتی این موارد را حل کنید، آن ویژگی دیگر شبیه به یک پرامپت پشت یک دکمه به نظر نمیرسد، بلکه بخشی از اپلیکیشن شما خواهد بود.
نپرسید که آیا مدل پاسخ میدهد یا خیر؛ بپرسید که آیا آن ویژگی در دنیای واقعی دوام میآورد یا خیر.
Source: https://dev.to/toddssullivan/ai-features-need-product-edges-not-just-better-prompts-18k
Optional learning community: https://t.me/GyaanSetuAi
