3 Java Champions เผยเคล็ดลับใช้ GitHub Copilot ให้มีประสิทธิภาพ

เครื่องมือเขียนโค้ดด้วย AI สามารถสร้างโค้ดได้อย่างรวดเร็ว แต่ความเร็วเพียงอย่างเดียวไม่สามารถแก้ปัญหาทางวิศวกรรมซอฟต์แวร์ที่ยากที่สุดได้ นักพัฒนายังคงต้องให้บริบท ตรวจสอบผลลัพธ์ รักษาความสามารถในการบำรุงรักษา และรับผิดชอบต่อสิ่งที่ส่งมอบ เพื่อเรียนรู้วิธีที่นักพัฒนาผู้มีประสบการณ์สร้างสมดุลดังกล่าว เราได้พูดคุยกับ Java Champions สามท่านที่มีประสบการณ์นานกว่าทศวรรษ พวกเขาได้แบ่งปันตัวอย่างการใช้ GitHub Copilot ในงานด้านโปรดักชันและโอเพนซอร์ส พร้อมแนวทางปฏิบัติเพื่อเปลี่ยนผลลัพธ์จาก AI ให้กลายเป็นซอฟต์แวร์ที่เชื่อถือได้
พบกับ Java Champions
- Vlad Mihalcea ผู้ก่อตั้ง Hypersistence และผู้เขียนหนังสือ High-Performance Java Persistence
- Patrick Baumgartner นักสร้างสรรค์ซอฟต์แวร์ที่ 42talents พร้อมประสบการณ์ Java กว่า 20 ปี
- Frank Delporte นักเขียนด้านเทคนิคอาวุโสที่ Azul และผู้ดูแล Foojay.io พร้อมประสบการณ์ Java กว่า 15 ปี
Vlad Mihalcea
โปรไฟล์ GitHub: @vladmihalcea
GitHub Copilot ช่วยคุณอย่างไรบ้างในช่วงนี้?
ผมใช้มันวิเคราะห์และออกแบบฟีเจอร์ใน Hypersistence Utils และ Optimizer ตัวอย่างเช่น ผมเคยผัดวันประกันพรุ่งการพัฒนาเว็บแอปสำหรับ Optimizer มาตลอดเพราะคิดว่าต้องใช้เวลาหลายสัปดาห์ แต่เมื่อมี Copilot ผมใช้เวลาเพียงสองวันก็ส่งมอบงานได้สำเร็จเหมือนมีสมาชิกในทีมเพิ่มมาอีกคน
รูปแบบการใช้งานทั่วไปของคุณเป็นอย่างไร?
ผมใช้ GitHub Copilot ใน IntelliJ IDEA เพราะสะดวกต่อการตรวจสอบซอร์สโค้ดและดีบั๊ก มันช่วยเร่งการตรวจสอบและการสร้างต้นแบบได้ดีมาก แต่ผมยังคงตรวจสอบโค้ดที่สร้างโดย AI เสมอ เพราะเป้าหมายคือการเพิ่มประสิทธิภาพ ไม่ใช่การเข้ามาแทนที่ผมทั้งหมด บางครั้งคำตอบจาก AI ก็ยังต้องการการแทรกแซงจากมนุษย์
คุณสามารถแบ่งปันเคล็ดลับและแนวทางปฏิบัติที่ดีที่สุดได้ไหม?
ผมสร้างทักษะของตัวเองขึ้นมาเพื่อให้เนื้อหาที่ Copilot สร้างมีน้ำเสียงและสไตล์เหมือนบล็อกที่ผมเขียนมาตลอด 12 ปี ช่วยให้เอกสารประกอบโปรเจกต์มีความชัดเจนและเรียบง่ายตามหลักการของผม
เคล็ดลับอีกอย่างคือการเลือกโมเดลให้เหมาะกับงาน สำหรับงานซับซ้อนผมใช้ Opus พร้อมการใช้เหตุผลระดับสูงสุด แต่ถ้าเป็นงานง่ายๆ อย่างการเขียนรายงานหรือบันทึกการปล่อยตัว (release notes) ผมจะใช้โมเดลที่เบากว่าเพื่อประหยัดทรัพยากร
Patrick Baumgartner
โปรไฟล์ GitHub: @patbaumgartner
งานของคุณเกี่ยวข้องกับการโค้ชทีม แนวทางของคุณคืออะไร?
ผมเน้นการทำงานร่วมกับทีมเพื่อแก้ปัญหาเร่งด่วนและก้าวไปข้างหน้าทีละขั้น โดยใช้แนวทาง Software Craft เช่น TDD และ Refactoring ผมชอบที่ AI เป็นเครื่องมือที่ทรงพลังในการเรียนรู้และทดลองร่วมกับผู้คน
คุณช่วยเล่าวิธีที่ GitHub Copilot ช่วยงานคุณเมื่อเร็วๆ นี้ได้ไหม?
มีสามตัวอย่างสำคัญครับ อย่างแรกคือการย้ายสไลด์การสอน 900 สไลด์จาก Reveal.js ไปยัง Marp ซึ่งถ้าทำเองคงใช้เวลาหลายสัปดาห์ แต่ด้วย Copilot ผมใช้เวลาเพียง 8-10 ชั่วโมง โดยเน้นการตรวจสอบความถูกต้องด้วยการเปรียบเทียบสกรีนช็อตและ PDF ทำให้ผมมั่นใจในผลลัพธ์ภายใต้หลักการที่ว่า "มอบหมายการดำเนินการได้ แต่ห้ามมอบหมายความรับผิดชอบ"
ตัวอย่างที่สองคือการแก้บั๊กในแอปพลิเคชัน terminal UI ที่พบปัญหาบน Windows เราใช้ Copilot จำลองปัญหาและสร้างการแก้ไขจนสามารถส่ง upstream fix ได้สำเร็จ นอกจากนี้ AI ยังช่วยแนะนำวิธีนำเสนอข้อมูลบนหน้าจอให้มีประสิทธิภาพมากขึ้นด้วย
ส่วนตัวอย่างสุดท้ายคือการสร้างแอปเรียนคณิตศาสตร์สำหรับเด็ก Copilot ช่วยท้าทายสมมติฐานเดิมของผม ทำให้ผมเปลี่ยนจากการสร้างแอปแบบกว้างๆ มาเป็นการเน้นหลักสูตรเฉพาะในสวิตเซอร์แลนด์และรองรับหลายภาษา พร้อมระบบ spaced repetition ที่ช่วยให้เด็กเรียนรู้ได้ดีขึ้น
โดยปกติคุณใช้ Copilot อย่างไร?
ปัจจุบันผมเปลี่ยนมาใช้เวิร์กโฟลว์แบบ agentic เกือบทั้งหมด ผมใช้ VS Code เมื่อต้องการวงจรฟีดแบ็กที่เห็นภาพชัดเจน แต่ถ้าเป็นงานใหญ่ผมมักสั่งการ coding agent ผ่านเทอร์มินัล หรือแม้แต่ควบคุมเอเจนต์จากโทรศัพท์มือถือระหว่างเดินทางเพื่อพัฒนาปลั๊กอิน Maven ซึ่งช่วยให้ผมทำงานได้ทุกที่โดยไม่ต้องเขียนโค้ดเองทั้งหมด
คุณมีเคล็ดลับทิ้งท้ายไหม?
เลิกใช้ one-shot prompting ครับ ผมมักให้เอเจนต์สัมภาษณ์ผมก่อนเพื่อทำความเข้าใจความต้องการให้ถูกต้อง เพราะการเดินผิดทางนั้นมีราคาแพง นอกจากนี้ควรเปลี่ยนบทเรียนที่ได้รับให้เป็น "ทักษะที่นำกลับมาใช้ใหม่ได้" (Agent Skills) และใช้เครื่องมือวิศวกรรมที่ให้ผลลัพธ์แน่นอน (deterministic) มาช่วยตรวจสอบผลลัพธ์จากโมเดล AI
AI กำลังนำความเป็นวิศวกรรมกลับมาสู่ซอฟต์แวร์ เราในฐานะมนุษย์ต้องเป็นผู้รับผิดชอบการกำหนดโซลูชันและใช้ AI ช่วยในการดำเนินการ
Frank Delporte
โปรไฟล์ GitHub: @FDelporte
GitHub Copilot ช่วยคุณอย่างไรบ้างในช่วงนี้?
มันเป็นผู้ช่วยที่ยอดเยี่ยมในการรีวิว pull requests ล่าสุดผมใช้แก้บั๊กในไลบรารี Pi4J บน Raspberry Pi ซึ่งเป็นปัญหาที่หาต้นตอได้ยากเพราะไม่มีการแจ้งเตือนข้อผิดพลาดใดๆ
ผมส่งไฟล์ที่เกี่ยวข้องให้ Copilot coding agent วิเคราะห์ เพียงครึ่งชั่วโมงมันก็พบว่าปัญหาเกิดจาก virtual threads ที่บล็อกการทำงานบน native call จน carrier threads ของ CPU ทั้งสี่คอร์เต็ม ทำให้ปุ่มที่ห้าทำงานไม่ได้ AI ไม่เพียงแต่แก้บั๊กได้ แต่ยังอธิบายเหตุผลเบื้องลึกได้อย่างชัดเจนผ่านการสนทนาในรีวิว
คุณมีแนวทางปฏิบัติที่อยากแนะนำไหม?
ระบุขอบเขตให้ชัดเจนว่าควรตรวจสอบไฟล์ไหนเพื่อลดเวลาการทำงานของ AI และต้องขอหลักฐานการทดสอบเสมอเพื่อยืนยันว่าการแก้ไขนั้นถูกต้อง สิ่งสำคัญที่สุดคือต้องคงการควบคุมไว้ มนุษย์ต้องเป็นคนตรวจสอบและอนุมัติโค้ดเสมอเพื่อรักษาคุณภาพและความง่ายในการบำรุงรักษา
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
