عامل در «استودیو Android» بهعنوان همکار کدنویسی شما عمل میکند و با تولید کد، خلاصه کردن موضوعات پیچیده، پیدا کردن منابع خاص، و غیره، گردش کار توسعه شما را تسریع میکند. ارتباط مؤثر کلید باز کردن تمام پتانسیل عامل است.
این راهنما راهبردهایی را برای راهاندازی محیط توسعه نرمافزار و نوشتن پیاموارههایی که پاسخهای مفید و قابلاعتماد ارائه میدهند شرح میدهد. برای چندین استراتژی، پیاموارههای نمونهای برای موارد استفاده مختلف ارائه کردهایم. برای دیدن پیاموارههای نمونه بیشتر، به گالری پیامواره مراجعه کنید.
پاسخی دقیق اضافه کنید
این نماینده با دستورالعملهای واضح و مشخص بهترین عملکرد را دارد. اگر کتابخانهها، میاناهای برنامهسازی کاربردی، یا رویکردهای خاصی وجود دارد که میخواهید از آنها استفاده کنید، آنها را در سؤالتان بگنجانید—یا آنها را در فایل AGENTS.md ریشه پروژهتان بگنجانید تا در تعاملات حفظ شوند. این کار را مثل ثبت گزارش اشکال درنظر بگیرید: هرچه اطلاعات بیشتری ارائه دهید، مشکل سریعتر و مؤثرتر حل میشود.
پیادهسازی عملکرد جدید:
انجام دهید
نبایدها
درحال تولید کردن کد:
انجام دهید
یک تابع تعلیق Kotlin بنویسید که از کتابخانه Coil برای بارگیری تصویر از رشته نشانی وب دادهشده استفاده کند.
تابع باید
fetchImageAsBitmap نامگذاری شود. باید یک
Context و یک نشانی وب String را بهعنوان آرگومان بگیرد و
یک Bitmap تهیپذیر برگرداند. اگر خطای شبکه یا رمزگشایی وجود داشته باشد،
باید استثنا را بگیرد، آن را ثبت کند، و
null را برگرداند.
نبایدها
توضیح دادن یک مفهوم:
انجام دهید
درحال ساختن برنامه پخشکننده موسیقی هستم و باید وقتی برنامه در پسزمینه است، بازپخش ادامه یابد.
چه گزینههایی برای فعال نگه داشتن برنامهام درحالیکه کاربر کارهای دیگری در دستگاه انجام میدهد دارم؟ الزامات سطح میانای برنامهسازی کاربردی و پیامدهای عمر باتری برای هر رویکرد چیست؟
نبایدها
توصیف ساختار پاسخ
بهطور پیشفرض، عامل پاسخها را در قالب مکالمهای و پاراگرافمحور ارائه میدهد. اگرچه این کار اغلب برای توضیحات مفید است، اما میتوانید با گفتن نحوه ساختاردهی پاسخ به آن، نتایج مؤثرتر و قابلاستفادهتری دریافت کنید. مشخص کردن قالب برونداد مدل را هدایت میکند تا اطلاعات را بهشیوهای واضح و قابلپیشبینی سازماندهی کند و در وقت شما برای قالببندی مجدد آن صرفهجویی کند.
اگر میخواهید کدی را که توسط نماینده تولید شده است در برنامهتان درج کنید و به کد در قالب خاصی نیاز دارید تا بتوانید فوراً از آن استفاده کنید، دستورالعملهای واضحی درباره تولید و قالببندی کد به نماینده بدهید.
ساختاربندی پاسخ:
انجام دهید
ایجاد نهاد «اتاق» برای نمایه کاربر. باید حاوی فیلدهای id، userName، email، و memberSince باشد. فیلد id باید بهطور خودکار تولید شود. فیلد memberSince باید نشاندهنده مُهر زمان باشد.
نبایدها
اگر سؤال تشریحی میپرسید، x گزینه برای آن درخواست کنید.
محدود کردن پاسخ:
انجام دهید
نبایدها
تجزیه درخواستهای پیچیده به تکالیف کوچکتر
اگر رویکرد نماینده آن چیزی نیست که انتظار دارید، شاید بهتر باشد بهجای اینکه همه چیز را یکباره بخواهید، نماینده را ازطریق مجموعهای از پیاموارههای کوچکتر و متوالی راهنمایی کنید. این رویکرد به شما کنترل بیشتری میدهد و به شما امکان میدهد هر مرحله را قبلاز رفتن به مرحله بعدی درستیسنجی کنید.
اعمال کردن پیاموارههای متوالی:
انجام دهید
پیامواره ۱: مدل داده
ابتدا،
یک کلاس داده Kotlin بهنام User ایجاد کنید. باید سه ویژگی داشته باشد: id (یک Int)، name (یک String)، و
email (یک String).
پیامواره ۲: لایه
شبکه
اکنون، میانای Retrofit API بهنام
ApiService ایجاد کنید. به یک suspend fun تکی بهنام
getUsers() نیاز دارد که
List<User> را برمیگرداند.
پیامواره ۳: مدیریت
وضعیت
سپس، UsersViewModel را بنویسید که
ApiService را بهعنوان وابستگی میگیرد. UsersViewModel
باید
StateFlow کلاس UiState مهرشدهای را که میتواند
Loading, Success(users: List و
Error(message: String) را نشان دهد، نمایش دهد. تابعی در
ViewModel ایجاد کنید تا کاربران را واکشی کند و وضعیت را بهروز کند. آزمونهای واحد را برای عملکرد جدید بنویسید.
پیامواره ۴: لایه
میانای کاربر
درنهایت، تابع Jetpack Compose بهنام
UserListScreen بنویسید که UiState را بهعنوان
پارامتر بپذیرد. از عبارت when برای نمایش
CircularProgressIndicator برای حالت بار کردن،
LazyColumn نامهای کاربری برای حالت موفقیت، و
عنصر Text با پیام خطا برای حالت خطا استفاده کنید. آزمایشهایی
اضافه کنید که عملکرد جدید را تأیید کند.
نبایدها
ViewModel داشته باشد
که از Retrofit و کوروتینها استفاده کند، مخزنی برای مدیریت منطق دادهها،
کلاس داده User، و باید حالتهای بارگیری و خطا را نشان دهد.مدیریت بافت
بخش عمدهای از کار با عامل، ارائه بافت مناسب است. تکهکدهای مربوط، محتوای فایل، و اطلاعات ساختار پروژه را ارائه دهید تا مفیدترین پاسخها را دریافت کنید. ممکن است لازم باشد برای رسیدن به تعادل مناسب، تکرار کنید: اطلاعات بیشازحد ممکن است باعث گمراهی نماینده شود، درحالیکه اطلاعات خیلی کم، زمینه کافی برای کمک کردن را فراهم نمیکند. از ویژگیهای دردسترس استفاده کنید تا به نماینده امکان دسترسی به بافت لازم را بدهید:
- تصاویری پیوست کنید تا تصویری از واسط کاربریای که در ذهن دارید یا معماری برنامهای که میخواهید درک کنید ارائه دهید.
- فایلها را پیوست کنید تا بخشهای مربوطه پایگاه کد را برجسته کنید.
- از فایلهای
.aiexcludeاستفاده کنید تا عامل بخشهای خاصی از پایگاه کد را نادیده بگیرد. - از فایلهای AGENTS.md برای ارائه دستورالعملهای مختص پروژه و همرسانی آنها در سراسر تیمتان استفاده کنید. هنگام استفاده از فایلهای AGENTS.md، از سرصفحهها و قالببندی Markdown استفاده کنید تا دستورالعملهایتان واضح باشد.
- هنگام استفاده از «حالت عامل»، سرورهای MCP را پیکربندی کنید تا دانش و قابلیتهای عامل را با محیط خارجی گسترش دهید.
درخواست توضیح کنید
اگر پاسخ نماینده را متوجه نشدید، از او بخواهید توضیح دهد. این روشی عالی برای یادگیری و تأیید این است که راهکار پیشنهادی برای مورد استفاده شما مناسب است. اگر پاسخ آن چیزی نبود که انتظار داشتید، ممکن است درواقع پاسخ نماینده نادرست باشد و درخواست توضیح فرصتی برای نماینده فراهم میکند تا خودش را اصلاح کند.
دستورالعملهایتان را تکرار کنید
مشابه زمانی که با همکار کار میکنید، کار کردن با نماینده گاهی اوقات نیاز به ارتباط رفتوبرگشتی دارد تا درباره تکلیف و نتیجه موردانتظار شفافسازی شود. اگر پاسخ اولیه نماینده کافی نیست، با بازخورد و پیشنهادهایی برای بهبود به آن پاسخ دهید. اگر پاسخ آن براساس پیشنهادهای شما بهبود یافت، آن پیشنهاد را با بهروزرسانی ورودی در کتابخانه پیامواره یا بهروزرسانی فایلهای AGENTS.md در پیامواره اصلی بگنجانید.