A2UI: استاندارد باز برای رابط کاربری ساختهشده توسط هوش مصنوعی
خلاصهٔ کاملتر
A2UI یه استاندارد باز و مجموعهای از کتابخونههاست که به ایجنتهای هوش مصنوعی اجازه میده «زبان UI» صحبت کنن. هوش مصنوعی مولد تو تولید متن و کد عالیه، ولی وقتی نوبت میرسه به ارائهی رابطهای کاربری تعاملی به کاربر — مخصوصاً از طریق ایجنتهای ریموت یا توزیعشده — داستان پیچیدهتر میشه. A2UI دقیقاً برای حل همین مشکل طراحی شده.
فلسفهی اصلی A2UI اینه که ایجنت بهجای اجرای کد مستقیم، یه پیلود JSON توصیفی میفرسته که ساختار و محتوای UI رو مشخص میکنه. بعد اپلیکیشن کلاینت این JSON رو میخونه و با کامپوننتهای بومی خودش رندر میکنه. نتیجه؟ UI به اندازهی داده امن هست، ولی به اندازهی کد بیانگر.
از نظر امنیتی، A2UI یه «کاتالوگ» از کامپوننتهای از پیش تأییدشده داره (مثل Card، Button، TextField). ایجنت فقط میتونه از این کامپوننتهای تأییدشده استفاده کنه و نمیتونه کد دلخواه اجرا کنه. این یعنی توسعهدهنده کنترل کامل داره و اجرای کد ناشناختهی LLM ریسکی نداره.
یه ویژگی جالب دیگهاش اینه که UI بهصورت یه لیست مسطح از کامپوننتها با ID نمایش داده میشه که برای LLMها خیلی راحتتر قابل تولید تدریجیه. یعنی ایجنت میتونه UI رو بهصورت استریمی و incremental بسازه و بهروز کنه، بدون اینکه کل صفحه رو از نو بده.
A2UI از فریمورکهای مختلفی پشتیبانی میکنه: Flutter، Angular، React، Lit و SwiftUI در راهنه. همچنین یه «Smart Wrapper» registry pattern داره که بهت اجازه میده کامپوننتهای اختصاصی خودت رو هم وصل کنی — حتی iframe برای محتوای legacy. این یعنی میتونی سیاستهای sandboxing سفتوسخت خودت رو پیاده کنی.
موارد استفادهاش هم جالبه: از فرمهای داینامیک برای رزرو یا جمعآوری اطلاعات خاص، تا ایجنتهای ریموت که UI رو داخل پنجرهی چت بزرگتر رندر میکنن، یا داشبوردهای تأیید و visualizationهای سازمانی که بر اساس کوئری کاربر بهصورت live ساخته میشن.
برای شروع سریع میشه با یه دمو رستورانیاب که با Gemini و ADK کار میکنه تست کرد. همچنین برای اپلیکیشنهای React میشه از طریق AG-UI و CopilotKit وارد شد:
npx copilotkit@latest initA2UI الان در نسخهی v0.8 (پیشنمایش عمومی) هست و پروژه زیر لایسنس Apache 2.0 منتشر شده. نقشهی راهش شامل رسیدن به spec نهایی v1.0، اضافه کردن رندرر برای React، Jetpack Compose و SwiftUI، و پشتیبانی از فریمورکهایی مثل Genkit و LangGraph هست.
نکات کلیدی:
- A2UI به ایجنتهای AI اجازه میده UI توصیفی JSON بفرستن که کلاینت با کامپوننتهای بومی خودش رندرش میکنه
- امنیت اول: ایجنت فقط به کامپوننتهای تأییدشده در کاتالوگ دسترسی داره، هیچ کد مستقیمی اجرا نمیشه
- رندرینگ تدریجی پشتیبانی میشه — UI میتونه بهصورت استریمی و incremental ساخته بشه
- کاملاً framework-agnostic هست: Flutter، Angular، React، Lit و در آینده SwiftUI
- یه Smart Wrapper registry داره که میشه باهاش کامپوننت اختصاصی یا iframe ثالث وصل کرد
- الان در نسخه v0.8 (پیشنمایش عمومی) هست و پروژه Apache 2.0 هست




