قدیم تر وقتی یک وب سایت یا رابط کاربری برای یک سرویس آنلاین طراحی می کردیم، یکی از اولین سوال ها این بود که آیا responsive هست یا نه. بعدتر هم اصطلاح Mobile-first جدی شد؛ یعنی از ابتدا تجربه استفاده روی موبایل رو در طراحی در نظر بگیریم، نه اینکه در آخر نسخه دسکتاپ رو به زور توی یک صفحه کوچک جا بدیم.
به نظرم حالا باید یک سوال دیگه هم به فرایند طراحی اضافه کنیم:
آیا سرویس ما Agent-first هست؟
ما سال ها درباره User Experience حرف زدیم. حالا باید به Agent Experience یا به اختصار AX هم فکر کنیم؛ یعنی تجربه یک Agent وقتی می خواد قابلیت های سرویس رو پیدا کنه، مجوز لازم رو بگیره، کاری رو انجام بده و نتیجه رو بفهمه.
در یک AX خوب، Agent نباید مثل انسان بین صفحه ها و منوها بگرده. حتی ممکنه API موجود که برای استفاده UI طراحی شده، برای Agent کافی نباشه، سرویس باید اطلاعات ساخت یافته، دسترسی محدود، تایید کارهای حساس و سابقه اقدام ها رو در اختیارش بذاره.
البته Agent-first همیشه به معنی Agent-only نیست. همون طور که Mobile-first نسخه دسکتاپ رو حذف نکرد، اینجا هم رابط انسانی و کنترل مستقیم کاربر همچنان مهمه.
اما اگر محصولی برای زیرساخت، Cloud یا DevOps می سازیم، به نظرم بهتره یک قدم جلوتر بریم و اون رو از ابتدا برای Agent طراحی کنیم.
یک Agent لازم نیست خروجی رنگی یک CLI رو بخونه، جدول ها رو parse کنه و دستور بعدی رو حدس بزنه. مثلا کوبرنتیز در اصل از طریق API خودش مدیریت می شه. ما انسان های بدبخت برای کار کردن با اون از kubectl استفاده می کنیم، اما یک Agent می تونه مستقیما به API کوبرنتیز درخواست بده و داده های ساخت یافته، وضعیت واقعی منابع و خطاهای مشخص رو دریافت کنه.
برای همین اگر می خوایم ابزار یا سرویس جدیدی بسازیم، بهتره از خودمون بپرسیم: «اگر کاربر اصلی این محصول یک Agent بود، از اول چطور طراحیش می کردیم؟»