ข้ามไปเนื้อหาหลัก

เจาะลึกวิธีตรวจโค้ด AI และบทเรียนจากบั๊ก INTERNET หาย

นักพัฒนาเดี่ยวแชร์ประสบการณ์ใช้ Claude Code และ Cursor สร้างแอป CoalTrack พร้อมเผยบั๊ก AndroidManifest ที่โค้ดปกติมองไม่เห็นจนต้องแกะไฟล์แอป

เรียบเรียงโดย AI
Inewgen
07 Nov 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
เจาะลึกวิธีตรวจโค้ด AI และบทเรียนจากบั๊ก INTERNET หาย

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • นักพัฒนาเดี่ยวใช้ AI ช่วยเขียนแอป CoalTrack แต่ตั้งกฎเหล็กต้องตรวจโค้ดตัวจริงทุกบรรทัดก่อนส่งมอบ
  • เกิดปัญหาแอปเชื่อมต่อเซิร์ฟเวอร์ไม่ได้บนอุปกรณ์ทดสอบบางเครื่อง แต่โค้ดและ API ปกติดีทุกอย่าง
  • การตรวจสอบซอร์สโค้ดไม่พบความผิดปกติ จนกระทั่งแกะไฟล์แอปแอนดรอยด์บันเดิลที่ส่งให้ Google Play
  • พบบรรทัดคำขอสิทธิ์ android.permission.INTERNET หายไปจากการรวมไฟล์เมนิเฟสต์ของมัลติโมดูล

ในยุคที่เครื่องมือปัญญาประดิษฐ์เข้ามามีบทบาทสูง การพัฒนาซอฟต์แวร์โดยมี AI ช่วยเหลือกลายเป็นเรื่องปกติของผู้พัฒนาอิสระรายหนึ่ง ซึ่งเป็นผู้ออกแบบสถาปัตยกรรมระบบ กำหนดสเปก และใช้เครื่องมืออย่าง Claude Code กับ Cursor ในการเขียนโค้ดทั้งหมด ทว่ากฎเหล็กข้อสำคัญที่ยึดถือมาโดยตลอดคือการตรวจสอบสิ่งที่ถูกส่งออกไปใช้งานจริงอย่างละเอียด ไม่ใช่เชื่อมั่นเพียงสิ่งที่โมเดลรายงานว่าทำเสร็จแล้ว

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

android mobile app development screen code

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

เมื่อการอ่านซอร์สโค้ดไม่พบเบาะแสใดๆ จึงต้องเปลี่ยนวิธีเป็นการตรวจสอบตัวอัปเดตหรืออาร์ทิแฟกต์แทน ผู้พัฒนาตัดสินใจแกะไฟล์แพ็กเกจแอปพลิเคชันที่เซ็นลายเซ็นเรียบร้อยแล้ว ออกมาตรวจสอบไฟล์ AndroidManifest.xml ฉบับรวมที่ Google Play ได้รับจริงๆ และนั่นคือจุดที่พบความผิดปกติ

AndroidManifestจุดตรวจจับความผิดพลาดในไฟล์บิวด์

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

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

เหตุการณ์นี้สะท้อนให้เห็นข้อจำกัดสำคัญของการพึ่งพา AI ในงานเขียนโปรแกรม แม้โมดูลปัญญาประดิษฐ์จะช่วยเร่งความเร็วในการพิมพ์ชุดคำสั่งได้อย่างมหาศาล แต่ปัญหาในระดับโครงสร้างการคอมไพล์และการจัดการไฟล์แพ็กเกจ เช่น การรวม Manifest ของ Flutter หรือการกำหนดค่า Gradle เป็นสิ่งที่อยู่นอกเหนือการมองเห็นของโค้ดเอนจินทั่วไป การตรวจสอบบิวด์ตัวจริง (Shipped Artifact) จึงเป็นเกราะป้องกันสุดท้ายที่ไม่ควรมองข้าม

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

"Ship the audit, not the optimism."

นักพัฒนาอิสระ

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้