Gemini ใน Android Studio จะทำหน้าที่เป็นผู้ร่วมเขียนโค้ดของคุณ ซึ่งจะช่วยเร่งเวิร์กโฟลว์การพัฒนาด้วยการสร้างโค้ด สรุปหัวข้อที่ซับซ้อน ค้นหาแหล่งข้อมูลที่เฉพาะเจาะจง และอื่นๆ การสื่อสารที่มีประสิทธิภาพคือกุญแจสำคัญในการปลดล็อกศักยภาพทั้งหมดของ Gemini
คู่มือนี้จะอธิบายกลยุทธ์ในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และการเขียนพรอมต์ที่ให้คำตอบที่เป็นประโยชน์และเชื่อถือได้ เราได้ระบุพรอมต์ตัวอย่างไว้หลายกลยุทธ์สำหรับกรณีการใช้งานต่างๆ ดูตัวอย่างพรอมต์เพิ่มเติมได้ที่แกลเลอรีพรอมต์
ใช้โหมด Agent
โหมด Agent ของ Gemini ใน Android Studio ทำได้มากกว่าที่คุณจะได้รับจากการแชทกับ Gemini เพียงอย่างเดียว คุณสามารถกำหนดเป้าหมายระดับสูงให้ Agent ได้ โดย Agent จะแบ่งปัญหาออกเป็นส่วนๆ และสร้างแผนเพื่อแก้ปัญหา Agent จะเรียกใช้เครื่องมือ แก้ไขหลายไฟล์ และแก้ไขข้อผิดพลาดไปพร้อมๆ กัน โหมด Agent ช่วยให้คุณจัดการงานที่ซับซ้อนได้อย่างมีประสิทธิภาพมากขึ้น ซึ่งจะช่วยเร่งกระบวนการพัฒนาซอฟต์แวร์ทั้งหมด
ระบุให้เฉพาะเจาะจง
Gemini ใน Android Studio ทำงานได้ดีที่สุดเมื่อมีคำสั่งที่ชัดเจนและเฉพาะเจาะจง หากมีไลบรารี, API หรือแนวทางที่คุณต้องการใช้ ให้ระบุไว้ในคำถาม หรือระบุไว้ในไฟล์ AGENTS.md ที่รูทของโปรเจ็กต์ เพื่อให้นำไปใช้ในการโต้ตอบทุกครั้ง ให้มองว่าเหมือนเป็นการส่งรายงานข้อบกพร่องที่ยิ่งให้ข้อมูลมากเท่าใด ปัญหาจะได้รับการแก้ไขเร็วขึ้นและมีประสิทธิภาพมากขึ้นเท่านั้น
การใช้ฟังก์ชันใหม่
ควรทำ
ไม่ควรทำ
การสร้างโค้ด
ควรทำ
เขียน Suspend Function ของ Kotlin ที่ใช้ไลบรารี Coil เพื่อดาวน์โหลดรูปภาพจากสตริง URL ที่ระบุ
ฟังก์ชันควรมีชื่อว่า
fetchImageAsBitmap
โดยควรรับ
Context
และ URL ของ String
เป็นอาร์กิวเมนต์ และแสดงผล
Bitmap
ที่เว้นว่างได้ หากมีข้อผิดพลาดเกี่ยวกับเครือข่ายหรือการถอดรหัส
ฟังก์ชันควรดักจับข้อยกเว้น บันทึก และแสดงผล
null
ไม่ควรทำ
การอธิบายแนวคิด
ควรทำ
ฉันกำลังสร้างแอปเครื่องเล่นเพลงและต้องการเล่นเพลงต่อเมื่อแอปทำงานในเบื้องหลัง
ฉันมีตัวเลือกใดบ้างในการทำให้แอปทำงานต่อไปขณะที่ผู้ใช้ทำสิ่งอื่นๆ บนอุปกรณ์ ข้อกำหนดระดับ API และผลกระทบต่อระยะเวลาการใช้งานแบตเตอรี่ของแต่ละวิธีมีอะไรบ้าง
ไม่ควรทำ
อธิบายโครงสร้างของคำตอบ
โดยค่าเริ่มต้น Gemini จะให้คำตอบในรูปแบบการสนทนาเป็นย่อหน้า ซึ่งเหมาะสำหรับการอธิบายทั่วไป แต่คุณจะได้รับผลลัพธ์ที่มีประสิทธิภาพมากขึ้นและนำไปใช้ได้ทันทีหากบอกวิธีจัดโครงสร้างคำตอบให้แก่ Gemini การระบุรูปแบบเอาต์พุตอย่างเจาะจงจะเป็นการสั่งให้โมเดลจัดระเบียบข้อมูลในลักษณะที่ชัดเจนและคาดหมายได้ ซึ่งช่วยประหยัดเวลาในการมาจัดรูปแบบใหม่ด้วยตนเอง
หากต้องการแทรกโค้ดที่ Gemini สร้างขึ้นในแอปและต้องการให้โค้ดมีรูปแบบที่ใช้งานได้ทันที ให้ระบุวิธีการสร้างและจัดรูปแบบโค้ดที่ชัดเจนแก่ Gemini
การจัดโครงสร้างคำตอบ
ควรทำ
สร้างเอนทิตี Room สำหรับโปรไฟล์ผู้ใช้ โดยควรมีฟิลด์ id
, userName
, email
และ memberSince
โดยที่ฟิลด์ id
ควรสร้างขึ้นโดยอัตโนมัติ
และฟิลด์ memberSince
ควรแสดงการประทับเวลา
ไม่ควรทำ
หากคุณถามคำถามแบบปลายเปิดมากขึ้น ให้ขอตัวเลือกจำนวน x รายการ
การจำกัดคำตอบ
ควรทำ
ไม่ควรทำ
แบ่งคำขอที่ซับซ้อนออกเป็นงานที่เล็กลง
สำหรับคำขอที่ซับซ้อนและมีหลายขั้นตอน โปรดลองใช้โหมด Agent อย่างไรก็ตามหากแนวทางของ Agent ไม่ใช่สิ่งที่คุณคาดหวัง คุณอาจต้องชี้นำ Gemini ด้วยพรอมต์ขนาดเล็กหลายพรอมต์ต่อเนื่องกันแทนที่จะขอทุกอย่างในครั้งเดียว วิธีนี้ช่วยให้คุณควบคุมได้มากขึ้นและช่วยให้คุณยืนยันความถูกต้องของแต่ละขั้นตอนได้ก่อนที่จะไปยังขั้นตอนถัดไป
การใช้พรอมต์หลายพรอมต์ต่อเนื่องกัน
ควรทำ
พรอมต์ 1: โมเดลข้อมูล
ก่อนอื่นให้สร้างคลาสข้อมูล Kotlin ชื่อ User
โดยควรมีพร็อพเพอร์ตี้ 3 รายการ ได้แก่ id
(Int), name
(String) และ email
(String)
พรอมต์ 2: เลเยอร์เครือข่าย
จากนั้นให้สร้างอินเทอร์เฟซ Retrofit API ที่ชื่อ
ApiService
โดยต้องมี suspend fun
เดียวที่ชื่อ getUsers()
ซึ่งจะแสดงผล List<User>
พรอมต์ 3: การจัดการสถานะ
ต่อมาให้เขียน UsersViewModel
ที่ใช้ ApiService
เป็นทรัพยากร Dependency โดย UsersViewModel
ควรแสดง
StateFlow
ของ Sealed Class ที่ชื่อ UiState
ซึ่งสามารถแสดงสถานะ Loading, Success(users: List
และ
Error(message: String)
จากนั้นสร้างฟังก์ชันใน
ViewModel
เพื่อดึงข้อมูลผู้ใช้และอัปเดตสถานะ แล้วเขียน Unit Test สำหรับฟังก์ชันการทำงานใหม่
พรอมต์ 4: เลเยอร์ UI
สุดท้าย ให้เขียนฟังก์ชัน Jetpack Compose ชื่อ
UserListScreen
ที่รับ UiState
เป็นพารามิเตอร์
ใช้คำสั่ง when
เพื่อแสดง CircularProgressIndicator
สำหรับสถานะการโหลด, LazyColumn
ของชื่อผู้ใช้สำหรับสถานะสำเร็จ และเอลิเมนต์ Text
ที่มีข้อความแสดงข้อผิดพลาดสำหรับสถานะข้อผิดพลาด เพิ่มการทดสอบที่ยืนยันฟังก์ชันการทำงานใหม่
ไม่ควรทำ
ViewModel
ที่ใช้ Retrofit และ Coroutines, ที่เก็บเพื่อจัดการตรรกะของข้อมูล, คลาสข้อมูล User
และต้องแสดงสถานะการโหลดและสถานะข้อผิดพลาดจัดการบริบท
ส่วนสำคัญของการทำงานกับ Gemini ใน Android Studio คือการระบุบริบทที่ถูกต้อง คุณควรระบุข้อมูลโค้ดที่เกี่ยวข้อง เนื้อหาไฟล์ และข้อมูลโครงสร้างโปรเจ็กต์เพื่อให้ได้รับคำตอบที่เป็นประโยชน์มากที่สุด คุณอาจต้องทำซ้ำหลายครั้งเพื่อหาจุดที่เหมาะสม เนื่องจากข้อมูลมากเกินไปอาจทำให้ Gemini เข้าใจผิด ในขณะที่ข้อมูลน้อยเกินไปก็อาจไม่มีบริบทเพียงพอให้ Gemini ช่วยได้ โดยให้ใช้ฟีเจอร์ที่มีเพื่อให้ Gemini เข้าถึงบริบทที่จำเป็นได้
- แนบรูปภาพเพื่อแสดงภาพ UI ที่คุณคิดไว้หรือสถาปัตยกรรมของแอปที่คุณพยายามทำความเข้าใจ
- แนบไฟล์เพื่อไฮไลต์ส่วนที่เกี่ยวข้องของโค้ดเบส
- ใช้ไฟล์
.aiexclude
เพื่อให้ Gemini ละเว้นบางส่วนของโค้ดเบส - ใช้ไฟล์ AGENTS.md เพื่อให้คำสั่งเฉพาะโปรเจ็กต์และแชร์คำสั่งนั้นกับทีม เมื่อใช้ไฟล์ AGENTS.md ให้ใช้การจัดรูปแบบและส่วนหัวมาร์กดาวน์เพื่อให้คำสั่งของคุณชัดเจน
- เมื่อใช้โหมด Agent ให้กำหนดค่าเซิร์ฟเวอร์ MCP เพื่อขยายความรู้และความสามารถของ Gemini ด้วยสภาพแวดล้อมภายนอก
ขอคำอธิบาย
หากไม่เข้าใจคำตอบของ Gemini ใน Android Studio ให้ขอคำอธิบาย วิธีนี้เป็นวิธีที่ดีในการทำความเข้าใจและยืนยันว่าโซลูชันที่เสนอเหมาะสมกับกรณีการใช้งานของคุณ หากคำตอบไม่เป็นไปตามที่คุณคาดหวัง อาจเป็นเพราะ Gemini ตอบไม่ถูกต้อง และการขอคำอธิบายจะช่วยให้ Gemini มีโอกาสแก้ไขตัวเอง
ทำซ้ำคำสั่งของคุณเอง
การทำงานร่วมกับ Gemini ใน Android Studio บางครั้งอาจต้องมีการสื่อสารไปมาเพื่อความชัดเจนเกี่ยวกับงานและผลลัพธ์ที่คาดหวัง ซึ่งคล้ายกับการทำงานร่วมกับเพื่อนร่วมงาน หากคำตอบเบื้องต้นของ Gemini ไม่เพียงพอ โปรดให้ความคิดเห็นตอบกลับและแนะนำวิธีปรับปรุง หากคำตอบของโมเดลดีขึ้นตามคำแนะนำของคุณ ให้รวมคำแนะนำนั้นไว้ในพรอมต์เดิมโดยอัปเดตรายการในคลังพรอมต์หรืออัปเดตไฟล์ AGENTS.md