آناتومی کامل یه Input هوشمند تو اپهای AI
خلاصهٔ کاملتر
نویسنده که سازندهی کتابخونهی prompt-kit برای کامپوننتهای اپهای هوش مصنوعیه، میگه وقتی ChatGPT سال ۲۰۲۲ اومد، ورودیش فقط یه باکس متن و یه دکمهی ارسال بود؛ ولی حالا بعد از سه سال، input یه سیستم چندلایه شده. تو این مقاله هر لایه رو جدا باز کرده.
اولین لایه خودِ فیلد تایپه: باید بدون پرش تو صفحه رشد کنه، تا یه سقف مشخص بره بالا، و روی موبایل فونتش حداقل 16px باشه تا سافاری خودکار زوم نکنه. بعدش نوار کنترل میاد؛ یعنی جایی که کاربر مدل، حالت (کد، جستجو، ابزار) و حافظه رو تنظیم میکنه. نویسنده تأکید میکنه این نوار نباید شلوغ بشه، فقط چیزهایی که کاربر واقعاً زیاد لازم داره باید همونجا بمونه.
اگه نوار کنترل جا کم بیاره، نوبت «تریگرهای ابزار» میرسه؛ مثلاً دستورهای اسلش یا منوی کشویی برای فراخوانی ابزارها، که باید سریع و بدون پرش صفحه باز بشن. بخش پیوست فایل هم جای حساسیه: باید حالت آپلود، آپلودشده، خطا و حذف فایل رو پوشش بده، درگانددراپ داشته باشه و با آپدیت خوشبینانه (یعنی نمایش فوری فایل قبل از تأیید کامل سرور) سریع به نظر برسه.
لایهی کمک یا «assist layer» میتونه متن راهنما، پیشنهاد خط به خط حین تایپ یا پیشنویسهای آماده باشه، ولی نباید کنترل ورودی رو از دست کاربر بگیره. در نهایت، دکمههای کنترل پیام و لایهی وضعیت (idle، لودینگ، استریم، خطا) هست: نویسنده تأکید میکنه هیچوقت نباید حین لودینگ یا استریمشدن جواب، فیلد ورودی رو غیرفعال کرد؛ کاربر باید بتونه تایپ کنه یا با زدن دکمهی استاپ، پاسخ رو متوقف کنه.
نکات کلیدی:
- روی موبایل فونت فیلد ورودی باید حداقل 16px باشه تا سافاری خودکار زوم نکنه
- نوار کنترل (مدل، حالت، حافظه) باید کمرنگتر از خود فیلد باشه و فقط گزینههای پرکاربرد رو نشون بده
- آپلود فایل باید حالتهای آپلود، موفق، خطا و حذف رو پوشش بده و از آپدیت خوشبینانه استفاده کنه
- فیلد ورودی هیچوقت نباید حین لودینگ یا استریمشدن پاسخ قفل بشه
- دکمهی ارسال موقع فرستادن پیام باید فوراً به دکمهی استاپ تبدیل بشه




