เร่งการพัฒนาด้วย Gemini CLI

1. ภาพรวม

แล็บนี้มุ่งเน้นการใช้ Gemini CLI ซึ่งเป็นเอเจนต์โอเพนซอร์สที่ทำงานด้วยระบบ AI ใน Google Cloud คุณจะได้เรียนรู้วิธีใช้ Gemini CLI สำหรับงานต่างๆ ซึ่งรวมถึงการทำความเข้าใจโค้ดเบสที่มีอยู่ การสร้างเอกสารและการทดสอบหน่วย การปรับโครงสร้างทั้งคอมโพเนนต์ UI และแบ็กเอนด์ของเว็บแอปพลิเคชัน Python

สิ่งที่คุณจะได้เรียนรู้

ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำสิ่งต่อไปนี้

  • วิธีใช้ Gemini CLI สำหรับงานทั่วไปของนักพัฒนาซอฟต์แวร์

ข้อกำหนดเบื้องต้น

  • แล็บนี้มีสมมติฐานว่าคุณคุ้นเคยกับสภาพแวดล้อมของ Cloud Console และ Cloud Shell

2. การตั้งค่าและข้อกำหนด

การตั้งค่าโปรเจ็กต์ Cloud

  1. ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณอาจลองใช้ชื่อของคุณเองและดูว่ามีชื่อนั้นหรือไม่ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
  1. จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้จะไม่เสียค่าใช้จ่ายมากนัก หรืออาจไม่เสียเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

การตั้งค่าสภาพแวดล้อม

เปิด Gemini Chat

bc3c899ac8bcf488.png

หรือพิมพ์ "ขอความช่วยเหลือจาก Gemini" ในแถบค้นหา

e1e9ad314691368a.png

วิธีเปิดใช้ Gemini สำหรับ Google Cloud API

636114fa6e5f0abf.png

เปิดใช้ GCA ในหน้าจอถัดไป

8e234b2e282c4413.png

คลิก "Start chatting" แล้วลองใช้คำถามตัวอย่างหรือพิมพ์พรอมต์ของคุณเอง

ed120d672468b412.png

พรอมต์ให้ลองใช้

  • อธิบาย Cloud Run ใน 5 ประเด็นสำคัญ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบาย Cloud Run ให้แก่นักเรียน/นักศึกษาโดยใช้ประเด็นสำคัญสั้นๆ 5 ข้อ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบาย Cloud Run ให้กับนักพัฒนา Kubernetes ที่ได้รับการรับรองโดยใช้ประเด็นสำคัญสั้นๆ 5 ข้อ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบายว่าเมื่อใดที่ควรใช้ Cloud Run แทน GKE ให้กับนักพัฒนาแอปอาวุโสโดยสรุปเป็นประเด็นสำคัญ 5 ข้อ

ปิดหน้าต่างแชท Gemini Cloud Assist หลังจากดำเนินการเสร็จแล้ว

ดูคู่มือการใช้พรอมต์เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเขียนพรอมต์ให้ดียิ่งขึ้น

วิธีที่ Gemini สำหรับ Google Cloud ใช้ข้อมูลของคุณ

ความมุ่งมั่นของ Google ในการปกป้องความเป็นส่วนตัว

Google เป็นหนึ่งในบริษัทแรกๆ ในอุตสาหกรรมที่เผยแพร่ความมุ่งมั่นด้านความเป็นส่วนตัวของ AI/ML ซึ่งระบุความเชื่อของเราว่าลูกค้าควรมีการรักษาความปลอดภัยและการควบคุมข้อมูลในระดับสูงสุดที่จัดเก็บไว้ในระบบคลาวด์

ข้อมูลที่คุณส่งและรับ

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

การเข้ารหัสพรอมต์

เมื่อคุณส่งพรอมต์ไปยัง Gemini ระบบจะเข้ารหัสข้อมูลของคุณขณะรับส่งเป็นอินพุตไปยังโมเดลพื้นฐานใน Gemini

ข้อมูลโปรแกรมที่สร้างจาก Gemini

Gemini ได้รับการฝึกด้วยโค้ดของ Google Cloud ที่เป็นของบุคคลที่หนึ่ง รวมถึงโค้ดของบุคคลที่สามที่เลือก คุณมีหน้าที่รับผิดชอบต่อความปลอดภัย การทดสอบ และประสิทธิภาพของโค้ด รวมถึงการเติมโค้ด การสร้าง หรือการวิเคราะห์ที่ Gemini มอบให้คุณ

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Google จัดการพรอมต์ของคุณ

3. ตัวเลือกในการทดสอบพรอมต์

หากต้องการเปลี่ยนพรอมต์ที่มีอยู่ คุณมีตัวเลือกหลายอย่าง

Vertex AI Studio เป็นส่วนหนึ่งของแพลตฟอร์ม Vertex AI ของ Google Cloud ซึ่งออกแบบมาโดยเฉพาะเพื่อลดความซับซ้อนและเร่งการพัฒนาและการใช้โมเดล Generative AI

Google AI Studio เป็นเครื่องมือบนเว็บสำหรับการสร้างต้นแบบและการทดลองใช้การออกแบบพรอมต์และ Gemini API

เว็บแอป Google Gemini (gemini.google.com) เป็นเครื่องมือบนเว็บที่ออกแบบมาเพื่อช่วยให้คุณสำรวจและใช้ประโยชน์จากความสามารถของโมเดล AI ของ Google Gemini

4. ดาวน์โหลดและตรวจสอบแอปพลิเคชัน

เปิดใช้งาน Cloud Shell โดยคลิกไอคอนทางด้านขวาของแถบค้นหา

3e0c761ca41f315e.png

หากระบบแจ้งให้ให้สิทธิ์ ให้คลิก "ให้สิทธิ์" เพื่อดำเนินการต่อ

6356559df3eccdda.png

ในเทอร์มินัล ให้เรียกใช้คำสั่งด้านล่างเพื่อโคลนที่เก็บ Git ในเครื่อง

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

เริ่ม "Cloud Shell Editor"

18ca8f879206a382.png

เปิดโฟลเดอร์ "calendar-app-lab"

7cef847802b51038.png

เริ่มเทอร์มินัลใหม่ใน Cloud Shell Editor

3336bea9c0e999b9.png

สภาพแวดล้อมของคุณควรมีลักษณะคล้ายกับภาพหน้าจอด้านล่าง

ae9475871b7d28a6.png

5. ข้อมูลเบื้องต้นเกี่ยวกับ Gemini CLI

Gemini CLI คือเอเจนต์ AI แบบโอเพนซอร์สที่ผสานรวมกับโมเดล Gemini ของ Google Cloud ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์ทำงานต่างๆ ได้โดยตรงจากเทอร์มินัล เช่น ทำความเข้าใจโค้ดเบส สร้างเอกสารและการทดสอบหน่วย และปรับโครงสร้างโค้ด ประโยชน์หลักของ Gemini CLI คือความสามารถในการปรับปรุงเวิร์กโฟลว์การพัฒนาด้วยการนำพลังของ Generative AI มาไว้ในสภาพแวดล้อมบรรทัดคำสั่งของนักพัฒนาซอฟต์แวร์โดยตรง ซึ่งจะช่วยลดการสลับบริบทและเพิ่มประสิทธิภาพการทำงาน

ขั้นตอนนี้ในการตั้งค่าตัวแปรสภาพแวดล้อมไม่จำเป็นสำหรับสภาพแวดล้อม Qwiklabs ทำต่อในขั้นตอนถัดไป

ในสภาพแวดล้อมในเครื่อง หากคุณใช้ใบอนุญาต Code Assist แบบชำระเงินจากองค์กร อย่าลืมตั้งค่าโปรเจ็กต์ Google Cloud ในเทอร์มินัล รายละเอียดเพิ่มเติม

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"

ตรวจสอบว่าคุณอยู่ในรูทของโฟลเดอร์โปรเจ็กต์โดยทำดังนี้

cd ~/calendar-app-lab

เริ่ม Gemini CLI ในหน้าต่างเทอร์มินัลโดยทำดังนี้

gemini

สภาพแวดล้อมของคุณควรมีลักษณะคล้ายกับภาพหน้าจอด้านล่าง

หากทำตามขั้นตอนในสภาพแวดล้อมในเครื่อง คุณจะเปิดใช้การผสานรวมกับ IDE ได้

คุณเปลี่ยนการตั้งค่านี้ได้ทุกเมื่อโดยเรียกใช้ /ide disable | enable

eaee08868abb4ccd.png

หากคุณกำลังใช้งาน Lab ในสภาพแวดล้อม Qwiklabs ให้เลือก "Use Cloud Shell user credentials"

หรือตรวจสอบสิทธิ์ Gemini CLI โดยเรียกใช้คำสั่งต่อไปนี้ แล้วเลือก "Login with Google"

/auth

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

390e8cbd9a32e8eb.png

เปิดลิงก์และทำตามขั้นตอนเพื่อลงชื่อเข้าใช้ด้วยข้อมูลเข้าสู่ระบบของนักเรียน Qwiklabs 24c1671a3c14b61d.png

คัดลอกรหัสยืนยันแล้วกลับไปที่เทอร์มินัลเพื่อดำเนินการให้เสร็จสมบูรณ์โดยวางรหัส

หากต้องการยืนยันวิธีการตรวจสอบสิทธิ์ ให้เรียกใช้คำสั่งต่อไปนี้

/about

f15a4036437b84d5.png

6. การทำความเข้าใจฐานของโค้ด

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

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับโค้ดเบส ให้ส่งพรอมต์ต่อไปนี้ใน Gemini CLI

Don't suggest any changes. Explain this codebase to me.

ตรวจสอบเอาต์พุต

63b57c91fd0e90a8.png

7. เริ่มแอปพลิเคชันในเครื่อง

Gemini CLI ช่วยให้การเรียกใช้แอปพลิเคชัน Python ในเครื่องง่ายขึ้นอย่างมากด้วยการช่วยสร้างไฟล์กำหนดค่าที่จำเป็นโดยอัตโนมัติ เช่น requirements.txt หรือ Dockerfile พื้นฐาน นอกจากนี้ ยังเหมาะอย่างยิ่งสำหรับการจัดการการขึ้นต่อกันของ Python และการแก้ปัญหา เนื่องจากสามารถอธิบายข้อผิดพลาดในการติดตามได้อย่างรวดเร็วซึ่งเกิดจากแพ็กเกจที่ขาดหายไปหรือเวอร์ชันที่ขัดแย้งกัน และมักจะแนะนำคำสั่ง pip install ที่แม่นยำเพื่อแก้ไขปัญหา

หากต้องการเปิดแอปพลิเคชันในเครื่อง ให้ป้อนพรอมต์ต่อไปนี้ในเทอร์มินัล Gemini CLI

Run this app locally

ทำตามข้อความแจ้งเพื่อเริ่มสมัคร

d1fefa449b733c15.png

คลิกลิงก์เพื่อดูตัวอย่างแอปพลิเคชัน

695fc8a1abab0aa7.png

ตัวอย่างเอาต์พุต

e9f986d9088b4419.png

d2bb703195b4f99.png

8. การเพิ่มเอกสารประกอบ

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

หากต้องการเพิ่มความคิดเห็นในไฟล์ Python ทุกไฟล์ในแอปพลิเคชัน ให้ใช้เทอร์มินัล Gemini CLI และป้อนพรอมต์ต่อไปนี้

Add docstrings to all files

อนุมัติการเปลี่ยนแปลงที่แนะนำ หากเปิดใช้การผสานรวม IDE คุณจะยอมรับและดำเนินการต่อได้โดยใช้ตัวควบคุม UI หรือกด Enter ในเทอร์มินัล นอกจากนี้ คุณยังเปิดใช้โหมดอนุมัติอัตโนมัติ(YOLO) ด้วย "ctrl+y" ได้ด้วย

a41d76b77290cc10.png

อัปเดตไฟล์ .gitignore ด้วยพรอมต์ต่อไปนี้

update .gitignore and add __pycache__ folder

เปลี่ยนไปที่มุมมองการควบคุมแหล่งที่มาและตรวจสอบการเปลี่ยนแปลงที่คุณทำไปแล้ว

2c41f8b842573384.png

9. การเพิ่มการทดสอบหน่วย

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

หากต้องการสร้างการทดสอบหน่วยโดยใช้พรอมต์ด้านล่าง ให้ทำดังนี้

Generate unit tests for @calendar.py

ยอมรับการเปลี่ยนแปลงหลังจากตรวจสอบแล้ว

6b59d78b83152a22.png

ติดตั้งการอ้างอิงใหม่และเรียกใช้การทดสอบ Gemini CLI จะสังเกต แก้ไข และเรียกใช้โค้ดที่สร้างขึ้นอีกครั้งในลูปจนกว่าการทดสอบจะผ่านและโค้ดได้รับการตรวจสอบ

ec1a4fbb2d340384.png

10. ตรวจสอบข้อบกพร่อง

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

หากต้องการตรวจสอบข้อบกพร่องในตรรกะ Conversion ให้ส่งพรอมต์ต่อไปนี้ใน Gemini CLI

Are there any bugs in the conversion logic? Check if negative numbers are handled properly.

ตรวจสอบการเปลี่ยนแปลงที่แนะนำและยอมรับในแชทโดยทำดังนี้

54ef65ded5462b34.png

11. UI การปรับโครงสร้าง

Gemini CLI ช่วยในการปรับโครงสร้าง UI ได้อย่างมากด้วยการช่วยแปลรูปแบบ UI เก่า (เช่น คอมโพเนนต์คลาส) เป็นกระบวนทัศน์ฟังก์ชันที่ใหม่กว่าและทันสมัยกว่า (เช่น Hook ใน React) หรือแนะนำการปรับปรุงโครงสร้างเพื่อการบำรุงรักษาที่ดีขึ้น คุณสามารถใช้เครื่องมือนี้เพื่อวิเคราะห์และปรับโครงสร้างโค้ด UI ที่มีอยู่ให้เป็นคอมโพเนนต์แบบโมดูลที่นำกลับมาใช้ใหม่ได้มากขึ้น เพื่อให้มั่นใจว่าการออกแบบอินเทอร์เฟซจะสะอาดตาและเป็นมาตรฐานมากขึ้น

ปรับโครงสร้าง UI โดยใช้ไลบรารี Bootstrap ด้วยการส่งพรอมต์ต่อไปนี้ไปยัง Gemini CLI

Refactor UI to use Bootstrap library

ตรวจสอบและยอมรับการเปลี่ยนแปลง

16e6ca14e703127.png

ก่อนอื่นให้เปิดแอปพลิเคชัน หากกำลังทำงานอยู่แล้ว ให้โหลดหน้าเว็บซ้ำ

python3 main.py

โหลดหน้าเว็บซ้ำและตรวจสอบการเปลี่ยนแปลง

b52a709e902040e3.png

54664e527bcd9227.png

ใช้การจัดการข้อผิดพลาดเพื่อให้แน่ใจว่าหน้าข้อผิดพลาดจะแสดงเมื่อเกิดปัญหา

Implement error handling to display an error page when issues occur.

โปรดรีเฟรชหน้าเพื่อดูข้อมูลอัปเดต

ส่งตัวเลขติดลบเพื่อยืนยันหน้าข้อผิดพลาด

82e16d4cf25933db.png

12. ปรับโครงสร้างแบ็กเอนด์

Gemini CLI มีประสิทธิภาพในการปรับโครงสร้างโค้ดแบ็กเอนด์โดยช่วยในการย้ายข้อมูลโค้ดเฟรมเวิร์กเดิมไปยังทางเลือกที่ทันสมัย หรือช่วยปรับโครงสร้างบริการแบบ Monolithic ให้เป็นคอมโพเนนต์ของ Microservice ที่จัดการได้ง่ายขึ้น โดยสามารถวิเคราะห์ตรรกะฝั่งเซิร์ฟเวอร์เพื่อแนะนํารูปแบบการค้นหาฐานข้อมูลที่ปรับปรุงแล้วหรือการออกแบบปลายทาง API ที่มีประสิทธิภาพมากขึ้น เพื่อให้มั่นใจว่าประสิทธิภาพและความสามารถในการปรับขนาดจะได้รับการรักษาหรือปรับปรุง

แก้ไขแบ็กเอนด์เพื่อบันทึกคำขอ Conversion ไว้ในหน่วยความจำ

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

ตรวจสอบและยอมรับการเปลี่ยนแปลงในแชทโดยทำดังนี้

19cfa20552fb3a01.png

ส่งคำขอหลายรายการไปยังแอปพลิเคชัน จากนั้นตรวจสอบหน้าประวัติ

ac5639d18b341b0a.png

ตรวจสอบประวัติคำขอ Conversion

9ca680e193510640.png

หากต้องการอัปเดตไฟล์ README.md ด้วยสถานะโค้ดเบสปัจจุบัน ให้ส่งพรอมต์นี้ผ่าน Gemini CLI

analyze README.md file and update it with latest codebase state

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

13. เครื่องมือในตัวของ Gemini CLI

Gemini CLI มีเครื่องมือในตัวที่โมเดล Gemini ใช้เพื่อโต้ตอบกับสภาพแวดล้อมในเครื่อง เข้าถึงข้อมูล และดำเนินการ เครื่องมือเหล่านี้จะช่วยเพิ่มความสามารถของ CLI ทำให้ CLI ทำได้มากกว่าการสร้างข้อความและช่วยงานได้หลากหลาย

ส่งพรอมต์นี้ใน Gemini CLI เพื่อดูเครื่องมือที่พร้อมใช้งาน

/tools

ตรวจสอบเอาต์พุต

e5ef2d9b81f6c10.png

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

14. คำสั่งเริ่มต้นที่เก็บ Gemini CLI

Gemini CLI มีคำสั่งในการวิเคราะห์โปรเจ็กต์และสร้างไฟล์ GEMINI.md ที่ปรับแต่งแล้ว

หากต้องการสร้างไฟล์ GEMINI.md ให้ส่งพรอมต์ต่อไปนี้โดยใช้ Gemini CLI

/init

ตรวจสอบเอาต์พุต คำสั่งนี้จะสร้างไฟล์ GEMINI.md ซึ่งสรุปวัตถุประสงค์ของโปรเจ็กต์ เทคโนโลยี คำสั่งการสร้าง/เรียกใช้ และข้อตกลงในการพัฒนาสำหรับบริบทในอนาคต

หากต้องการทำความเข้าใจวิธีการหรือบริบทที่จะรวมไว้ในไฟล์ GEMINI.md ของโปรเจ็กต์ จุดเริ่มต้นที่ดีคือการตรวจสอบไฟล์ GEMINI.md ที่อยู่ในgemini-cli ที่เก็บ

15. คำสั่งที่กำหนดเองของ Gemini CLI

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

ที่เก็บมาพร้อมกับคำสั่งที่กำหนดเองหลายรายการซึ่งอยู่ในโฟลเดอร์ .gemini/commands

คำสั่งที่กำหนดเองเพื่อสร้างไดอะแกรม

ส่งพรอมต์นี้ใน Gemini CLI เพื่อสร้างไดอะแกรมโฟลว์คำขอในรูปแบบ Mermaid

ยอมรับการเรียกใช้เครื่องมือ เช่น การสร้างโฟลเดอร์และการบันทึกไฟล์

/diagram:new request flow for this app

ตรวจสอบเอาต์พุต

a85a31f482a2cc7d.png

หากต้องการดูตัวอย่างไดอะแกรม ให้ติดตั้งส่วนขยาย Mermaid Chart จาก Marketplace

22d4a002e2137b55.png

เปิดไฟล์แล้วเลือก "แสดงตัวอย่าง" จากเมนูตามบริบท

bccf0ae8ac46415f.png

c669fcd96c34662.png

คำสั่งที่กำหนดเองเพื่อสร้างสำรับ

ส่งพรอมต์นี้ใน Gemini CLI เพื่อสร้างชุดสไลด์ที่มีประเด็นสำคัญในรูปแบบ Marp

ยอมรับการเรียกใช้เครื่องมือ เช่น การสร้างโฟลเดอร์และการบันทึกไฟล์

/deck:new key points and details for this app

ตรวจสอบเอาต์พุต

c9aa767796204c7c.png

ขั้นตอนนี้ใช้กับ Cloud Shell ไม่ได้ เนื่องจากส่วนขยาย Marp ต้องมีการติดตั้งเว็บเบราว์เซอร์

ติดตั้งส่วนขยาย Marp สำหรับ VS Code จาก Marketplace เพื่อบันทึกสำรับ

a9d339718cbfcd9.png

หรือคุณจะเปิดไฟล์ที่สร้างขึ้นในเครื่องมือแก้ไข แล้วเลือก "Marp: Export Slide Deck" จากจานสีคำสั่งก็ได้

91143fe81f7f5d71.png

คำสั่งที่กำหนดเองเพื่อวางแผนการติดตั้งใช้งานฟีเจอร์ใหม่

ส่งพรอมต์นี้ใน Gemini CLI เพื่อปรับโครงสร้าง UI

ยอมรับการเรียกใช้เครื่องมือ เช่น การสร้างโฟลเดอร์และการบันทึกไฟล์

/plan:new refactor UI to use Materialize CSS

ตรวจสอบเอาต์พุต

552dbe189a493f91.png

เริ่มกระบวนการปรับโครงสร้าง UI โดยส่งพรอมต์นี้ผ่าน Gemini CLI ตามแผนที่สร้างไว้ก่อนหน้านี้

ยอมรับการเรียกใช้เครื่องมือ เช่น การสร้างโฟลเดอร์และการบันทึกไฟล์ คุณเปิดใช้โหมดอนุมัติอัตโนมัติของเครื่องมือ(YOLO mode) ได้โดยใช้ "ctrl+y"

/plan:impl implement the plan to refactor the app

a3ceec7146f285e0.png

เริ่ม/โหลดแอปพลิเคชันซ้ำและตรวจสอบเอาต์พุต

fd0675f713d361e4.png

7352b93acabfb5be.png

16. โหมดไม่โต้ตอบของ Gemini CLI

เมื่อเรียกใช้ Gemini CLI ในโหมดที่ไม่โต้ตอบภายในไปป์ไลน์ CI/CD คุณจะทำให้งานต่างๆ เป็นไปโดยอัตโนมัติได้ด้วยการส่งพรอมต์และคำสั่งไปยัง CLI โดยตรงโดยไม่ต้องมีการแทรกแซงด้วยตนเอง ซึ่งช่วยให้ผสานรวมเข้ากับเวิร์กโฟลว์อัตโนมัติได้อย่างราบรื่นสำหรับการวิเคราะห์โค้ด การสร้างเอกสาร และงานพัฒนาอื่นๆ

เปิดเทอร์มินัลใหม่หรือปิดเซสชัน Gemini CLI ที่มีอยู่ แล้วเรียกใช้คำสั่งนี้

gemini -p "Explain the architecture of this codebase"

ตรวจสอบเอาต์พุต

หากงานของคุณต้องมีการอนุมัติเครื่องมือ คุณสามารถเปิดใช้โหมด YOLO ด้วยแฟล็ก -y

gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y

ตรวจสอบเอาต์พุต

การใช้ประโยชน์จาก Gemini CLI ในโหมดที่ไม่โต้ตอบจะช่วยเพิ่มความสามารถในการทำงานอัตโนมัติของไปป์ไลน์ CI/CD ได้อย่างมาก ซึ่งจะช่วยให้วงจรการพัฒนามีประสิทธิภาพมากขึ้นและคุณภาพของโค้ดดีขึ้น

17. โหมดเชลล์ของ Gemini CLI

แม้ว่า LLM จะจัดการงานที่ซับซ้อนได้ แต่คำสั่งโดยตรงจะมีประสิทธิภาพมากกว่าสำหรับการดำเนินการที่ไม่ซับซ้อน ! prefix ช่วยให้สลับระหว่างอินเทอร์เฟซบรรทัดคำสั่ง AI กับอินเทอร์เฟซบรรทัดคำสั่งแบบเดิมได้อย่างราบรื่น

!ls

ตรวจสอบเอาต์พุต กด Escape เพื่อออกจากโหมดเชลล์

18. การรองรับ MCP ของ Gemini CLI

Gemini CLI สามารถผสานรวมกับระบบของบุคคลที่สาม เช่น Jira, Confluence หรือ GitHub ผ่าน Model Context Protocol (MCP) ซึ่งทำได้ผ่านการผสานรวมเครื่องมือที่กำหนดเองของเซิร์ฟเวอร์ MCP ทำให้ Gemini CLI สร้างหรืออัปเดตตั๋ว JIRA ดึงข้อมูลจากหน้า Confluence สร้างคำขอพุล ฯลฯ ได้

เรียกใช้คำสั่งนี้ในเทอร์มินัลเพื่อสร้างไฟล์กำหนดค่าหรือใช้โหมดเชลล์

echo '{
    "mcpServers": {
        "context7": {
            "httpUrl": "https://mcp.context7.com/mcp"
        }
    }
}' > .gemini/settings.json

เริ่มเซสชัน Gemini CLI

gemini

ตรวจสอบเซิร์ฟเวอร์ MCP ที่กำหนดค่าแล้ว

/mcp

ตรวจสอบเอาต์พุต

c80d95544cc3436a.png

ส่งพรอมต์เพื่อทดสอบเซิร์ฟเวอร์ MCP ที่กำหนดค่าไว้

use context7 tools to look up how to implement flex grid in react mui library 

อนุมัติเครื่องมือและตรวจสอบเอาต์พุต

b51db5af09bd3f02.png

19. ตัวอย่างการกำหนดค่าเซิร์ฟเวอร์ MCP สำหรับสภาพแวดล้อมในเครื่อง

คุณกำหนดค่าเซิร์ฟเวอร์ MCP หลายเครื่องในสภาพแวดล้อมในพื้นที่ได้โดยใช้การกำหนดค่าต่อไปนี้

{
    "mcpServers": {
        "Snyk Security Scanner": {
            "command": "snyk",
            "args": [
                "mcp",
                "-t",
                "stdio",
                "--experimental"
            ],
            "env": {}
        },
        "atlassian": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-remote",
                "https://mcp.atlassian.com/v1/sse"
            ]
        },
        "playwright": {
            "command": "npx",
            "args": [
                "@playwright/mcp@latest"
            ]
        },
        "github": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-github"
            ],
            "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "******"
            }
        }
    }
}

เซิร์ฟเวอร์ MCP ในการกำหนดค่านี้จะเปลี่ยนเอเจนต์ Gemini CLI ให้เป็นเครื่องมือพัฒนาและการทำงานร่วมกันแบบไดนามิกโดยให้สิทธิ์เข้าถึงระบบภายนอกที่ได้มาตรฐาน โดยเฉพาะอย่างยิ่ง เซิร์ฟเวอร์ Snyk Security Scanner ช่วยให้ตัวแทนตรวจสอบโค้ดและการขึ้นต่อกันเพื่อหาช่องโหว่ได้โดยไม่ต้องออกจากพื้นที่ทํางานปัจจุบัน ขณะที่เซิร์ฟเวอร์ Atlassian จะเชื่อมต่อกับ Jira และ Confluence เพื่อให้ Gemini CLI สร้าง ค้นหา และอัปเดตปัญหาหรือเอกสารโดยใช้ภาษาที่เป็นธรรมชาติได้ นอกจากนี้ เซิร์ฟเวอร์ Playwright ยังให้ความสามารถในการทำงานอัตโนมัติของเบราว์เซอร์แก่เอเจนต์ ซึ่งช่วยให้เอเจนต์ไปยังส่วนต่างๆ และโต้ตอบกับเว็บสำหรับงานต่างๆ เช่น การทดสอบหรือการแยกข้อมูลได้ สุดท้าย เซิร์ฟเวอร์ Github จะให้สิทธิ์เข้าถึงที่เก็บโดยตรงตามบริบทแก่เอเจนต์ ซึ่งช่วยให้เอเจนต์จัดการ PR จัดเรียงปัญหา และวิเคราะห์โค้ดเบสได้ ซึ่งจะช่วยลดการสลับบริบทและเพิ่มประสิทธิภาพการทำงานในเวิร์กโฟลว์การพัฒนาทั้งหมดได้อย่างมาก

20. สรุป Gemini CLI

สรุปได้ว่า Gemini CLI เป็นเอเจนต์ AI แบบโอเพนซอร์สที่ทรงพลังและอเนกประสงค์ ซึ่งผสานรวมกับโมเดล Gemini ของ Google Cloud ได้อย่างราบรื่น จึงช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาซอฟต์แวร์ได้อย่างมาก ตลอดแล็บนี้ เราได้สำรวจความสามารถของโมเดลในการเพิ่มประสิทธิภาพงานพัฒนาทั่วไปต่างๆ ตั้งแต่การทำความเข้าใจโค้ดเบสที่ซับซ้อนและการสร้างเอกสารประกอบที่จำเป็นและ Unit Test ไปจนถึงการรีแฟกเตอร์ทั้งคอมโพเนนต์ส่วนหน้าและส่วนหลังของเว็บแอปพลิเคชัน Python อย่างมีประสิทธิภาพ การใช้ประโยชน์จาก Gemini CLI ช่วยให้นักพัฒนาซอฟต์แวร์ลดการสลับบริบท ทำให้กระบวนการที่ทำซ้ำๆ เป็นไปโดยอัตโนมัติ และส่งมอบโค้ดที่มีคุณภาพสูงขึ้นอย่างมีประสิทธิภาพ ความสามารถในการนำศักยภาพของ Generative AI มาใช้ในบรรทัดคำสั่งโดยตรงเป็นการปฏิวัติเวิร์กโฟลว์การพัฒนาอย่างแท้จริง

21. ยินดีด้วย

ยินดีด้วย คุณทำ Codelab เสร็จแล้ว

สิ่งที่เราได้พูดถึงไปแล้ว

  • การใช้ Gemini CLI สำหรับงานทั่วไปของนักพัฒนาซอฟต์แวร์

ขั้นตอนต่อไปที่ทำได้

  • เราจะจัดเซสชันเชิงปฏิบัติเพิ่มเติมในเร็วๆ นี้

ล้างข้อมูล

โปรดลบโปรเจ็กต์ที่มีทรัพยากรหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการเพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

การลบโปรเจ็กต์

วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างขึ้นสำหรับบทแนะนำ

©2024 Google LLC สงวนลิขสิทธิ์ Google และโลโก้ของ Google เป็นเครื่องหมายการค้าของ Google LLC ชื่อบริษัทและผลิตภัณฑ์อื่นๆ ทั้งหมดอาจเป็นเครื่องหมายการค้าของบริษัทที่เป็นเจ้าของ