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

ประสิทธิภาพของพิมพ์เขียวแอปและคุณภาพของโค้ดที่สร้างขึ้นจะขึ้นอยู่กับความชัดเจนและรายละเอียดของพรอมต์ เมื่อใช้ 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 (Markdown):

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 Gemini ได้เลย เช่น "อะไรอาจทำให้เกิด null pointer exception ในฟังก์ชันนี้" หรือ "ฉันจะป้องกันภาวะแข่งขันนี้ได้อย่างไร"

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

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

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

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

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

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

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

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