การเขียนพรอมต์ที่มีประสิทธิภาพ

ประสิทธิภาพของพิมพ์เขียวแอปและคุณภาพของโค้ดที่สร้างขึ้นจะขึ้นอยู่กับความชัดเจนและรายละเอียดของพรอมต์ เมื่อใช้ App Prototyping agent ให้พิจารณาหลักเกณฑ์ต่อไปนี้สำหรับการเขียนพรอมต์ที่มีประสิทธิภาพเมื่อสร้างและแก้ไขข้อบกพร่องของแอป

  • เจาะจง: กำหนดฟีเจอร์ การโต้ตอบของผู้ใช้ และข้อกำหนดด้านข้อมูลของแอปอย่างชัดเจน ขอเทคโนโลยีที่เฉพาะเจาะจง หากเป็นไปได้ ตัวอย่างเช่น หากพยายามสร้างเว็บแอปที่มีองค์ประกอบ 3 มิติ คุณอาจต้องขอให้ Gemini ใช้ three.js
  • ถามเกี่ยวกับงานเพิ่มเติมเพื่อตั้งค่าบริการ: Gemini สามารถเขียนโค้ดสำหรับแอปของคุณได้ แต่ไม่สามารถตั้งค่าบริการ เปิดใช้ API หรือจัดสรรทรัพยากร (เช่น บัケット Cloud Storage หรือบัญชี Stripe) ได้จริงๆ อย่าลืมบอก Gemini ว่าหากเขียนโค้ดสำหรับบริการที่เฉพาะเจาะจง ก็ควรบอกวิธีตั้งค่าบริการเหล่านั้นด้วย
  • ขอโปรเจ็กต์ Firebase: หากคุณขอให้ App Prototyping agent ช่วยตั้งค่าบริการ Firebase ระบบจะจัดสรรโปรเจ็กต์ Firebase ในนามของคุณ เช่น คุณสามารถขอให้ "ช่วยฉันเพิ่ม Firestore" หรือ "เชื่อมต่อแอปของฉันกับ Firebase"
  • ใช้ Gemini เพื่อปรับแต่งพรอมต์: ใช้ Gemini สำหรับ Google, แชทกับ Gemini ในมุมมอง Code หรือแพลตฟอร์มอื่นๆ ของ Gemini เพื่อปรับแต่งและเพิ่มประสิทธิภาพพรอมต์
  • ระบุบริบท: ใส่ข้อมูลเบื้องหลังเกี่ยวกับวัตถุประสงค์ของแอป กลุ่มเป้าหมาย และประสบการณ์ของผู้ใช้ที่คุณต้องการ
  • ใช้ตัวอย่าง: หากเป็นไปได้ ให้ระบุตัวอย่างวิธีที่ผู้ใช้ควรโต้ตอบกับแอปหรือข้อมูลที่ควรแสดง
  • ทำซ้ำและปรับแต่ง: พัฒนาแอปซ้ำๆ ลองเริ่มต้นด้วยคำขอพื้นฐาน จากนั้นเพิ่มฟีเจอร์ ทดสอบ ปรับแต่ง แล้วเพิ่มฟีเจอร์อื่น

การทำตามหลักเกณฑ์เหล่านี้จะช่วยปรับปรุงคุณภาพและความเกี่ยวข้องของพิมพ์เขียวแอปที่ Firebase Studio สร้างขึ้น รวมถึงความสำเร็จในการแก้ไขข้อบกพร่องของแอปได้อย่างมาก

ใช้พรอมต์เพิ่มเติมเพื่อปรับแต่งคำตอบ

หากผลลัพธ์เบื้องต้นไม่เป็นไปตามที่คาดหวัง คุณสามารถปรับแต่งพรอมต์ได้โดยเพิ่มรายละเอียดหรือระบุคำสั่งที่เฉพาะเจาะจง ดังนี้

  • เพิ่มข้อจำกัด: ระบุข้อจำกัดเกี่ยวกับ UI, โมเดลข้อมูล หรือฟีเจอร์
  • ระบุตัวอย่าง: ระบุตัวอย่างวิธีที่ผู้ใช้ควรโต้ตอบกับแอปและข้อมูลที่ควรปรากฏ
  • ใช้คีย์เวิร์ด: ใช้คีย์เวิร์ดเพื่ออธิบายฟีเจอร์หรือความสามารถที่คุณต้องการ ซึ่ง LLM อาจเชื่อมโยงกับคลาสของเอาต์พุตที่คุณต้องการ ตัวอย่างเช่น คุณอาจใช้ Material Design ในพรอมต์ที่ระบุว่าคุณต้องการให้แอปเป็นไปตามมาตรฐานการออกแบบของ Google
  • ขอให้ทำการเปลี่ยนแปลงที่เฉพาะเจาะจง: ขอให้ทำการเปลี่ยนแปลงที่เฉพาะเจาะจงกับโค้ดหรือพิมพ์เขียวที่สร้างขึ้น เพิ่มคำขอฟีเจอร์แต่ละรายการในคำขอแยกต่างหาก
  • ขอให้โมเดลให้เหตุผล: หากคุณประสบปัญหาในการรับผลลัพธ์ที่ต้องการ ให้ลองขอให้โมเดลให้เหตุผลผ่านพรอมต์ เช่น คุณอาจพูดว่า "คิดทีละขั้นตอน ฉันต้องการสร้างช่องป้อนข้อมูลสำหรับแอปงาน โดยควรมีปุ่ม "เพิ่มงาน" และปุ่ม "ยกเลิก""

การใช้เทคนิคเหล่านี้จะช่วยให้คุณปรับแต่งพรอมต์ซ้ำๆ เพื่อให้ได้ผลลัพธ์ที่ต้องการได้

ตัวอย่างพรอมต์ที่มีประสิทธิภาพสำหรับพิมพ์เขียวของแอป

ตัวอย่างพรอมต์ที่มีประสิทธิภาพสำหรับแอปประเภทต่างๆ มีดังนี้

เครื่องมือติดตามงานแบบง่าย:

Create a simple web app that displays a list of to-do items.
Users should be able to add new items to the list and mark items as complete.
Provide a way to delete items and export the list as a text file.
Use a clean and modern UI using Google Material Design principles.

แอปจัดทำงบประมาณ:

A budgeting and expense tracking app with spending categories, charts, and
budget goals. Include a clean dashboard with key insights. It should include
spending categories, charts, and budget goals. The app should allow users to
manually add expenses or upload csv files. The app should also allow users to
upload receipts, then use AI to convert the receipt into an expense entry that
users can edit. Data should be stored in browser cache, with download and
delete options.

พรอมต์แอปเกมที่มีความช่วยเหลือจาก Gemini (มาร์กดาวน์):

Generate a delightful sliding number puzzle game (15-puzzle) with Javascript,
HTML, and CSS.

- **Setup:** Create a 4x4 grid with numbers 1-15 and one empty space. Use a
  **solvable shuffling algorithm** to randomize the start.
- **Gameplay:** Allow clicking tiles **adjacent to the empty space** to slide
  them. Count and display the number of moves.
- **Timer:** Include a **countdown timer** starting at **120 seconds**
  (2 minutes).
- **End Conditions:**
    - If solved (numbers 1-15 in order): Alert with an encouraging winning
      statement generated by AI.
    - If timer reaches 0: Alert with a funny retort generated by AI.

เคล็ดลับในการแก้ไขข้อบกพร่อง

คุณสามารถใช้ Gemini เพื่อช่วยแก้ไขข้อบกพร่องของโค้ดด้วยแชทในพื้นที่ทำงาน Code หรือ App Prototyping agent

แม้ว่า Gemini จะเขียนโค้ดให้คุณได้ แต่บางครั้งก็อาจทำให้เกิดข้อผิดพลาดได้เช่นกัน เมื่อตรวจพบข้อผิดพลาด ระบบจะพยายามแก้ไข หากพบว่าไม่สามารถแก้ไขปัญหาที่ระบุในข้อความแสดงข้อผิดพลาดได้ คุณสามารถลองใช้เทคนิคต่อไปนี้

  • อธิบายปัญหา: อธิบายปัญหาที่คุณพบในอินเทอร์เฟซแชทให้ชัดเจนและกระชับที่สุดเท่าที่จะทำได้ แม้ว่า Gemini อาจมีสิทธิ์เข้าถึงบริบท เช่น ข้อความแสดงข้อผิดพลาดและบันทึก แต่ก็อาจไม่เข้าใจบริบททั้งหมด การอธิบายลักษณะการทำงานพร้อมกับข้อความแสดงข้อผิดพลาดจะช่วยให้ Gemini แก้ไขข้อผิดพลาดได้เร็วขึ้น

  • ถามคำถามที่เจาะจง: อย่าลังเลที่จะถามคำถามGemini เกี่ยวกับโค้ดของคุณโดยตรง เช่น "อะไรเป็นสาเหตุที่ทำให้เกิด null pointer exception ในฟังก์ชันนี้" หรือ "ฉันจะป้องกันภาวะแข่งขันนี้ได้อย่างไร"

  • แบ่งปัญหาที่ซับซ้อน: หากคุณกำลังจัดการกับปัญหาที่ซับซ้อน ให้แบ่งปัญหาออกเป็นส่วนย่อยๆ ที่จัดการได้ง่ายขึ้น ขอให้ Gemini ช่วยคุณแก้ไขข้อบกพร่องของแต่ละส่วนแยกกันและคิดแก้ปัญหาไปทีละขั้นตอน

  • ใช้บล็อกโค้ด: เมื่อแชร์ข้อมูลโค้ด ให้ใช้บล็อกโค้ดเพื่อให้แน่ใจว่าโค้ดมีรูปแบบที่ถูกต้อง ซึ่งจะช่วยให้ Gemini อ่านและเข้าใจโค้ดของคุณได้ง่ายขึ้น

  • ทำซ้ำและปรับแต่ง: Gemini อาจไม่ได้ให้โซลูชันที่สมบูรณ์แบบเสมอไปในการลองครั้งแรก ตรวจสอบคำตอบ ถามคำถามเพื่อความกระจ่าง และให้ข้อมูลเพิ่มเติมตามความจำเป็น

  • หลีกเลี่ยงการใช้พรอมต์วนซ้ำ: หาก Gemini ติดอยู่ในลูปหรือตอบคำถามของคุณไม่ได้ ให้ลองเรียบเรียงพรอมต์ใหม่หรือระบุบริบทเพิ่มเติม บางครั้งการเปลี่ยนถ้อยคำในคำถามก็ช่วยให้ Gemini เข้าใจสิ่งที่คุณถามได้

    หากการปรับเปลี่ยนถ้อยคำในพรอมต์ไม่ช่วยแก้ปัญหาการวนซ้ำ ให้ลองใช้เทคนิคต่อไปนี้

    • เริ่มแชทใหม่: หากคุณกำลังใช้แชทของ Gemini ในพื้นที่ทำงาน Code ให้เริ่มเซสชันแชทใหม่เพื่อรีเซ็ตบริบทของ Gemini วิธีนี้จะช่วยให้คุณหลุดพ้นจากความเข้าใจผิดหรือสมมติฐานที่ Gemini อาจสร้างขึ้นในการสนทนาก่อนหน้า

    • ให้ตัวอย่างที่ตรงกันข้าม: หาก Gemini ตั้งสมมติฐานที่ไม่ถูกต้อง ให้ระบุตัวอย่างที่ตรงกันข้ามเพื่อช่วยให้โมเดลเข้าใจพฤติกรรมที่ถูกต้อง

ขั้นตอนถัดไป