สิ่งที่คุณจะได้จากบทความนี้
- การพัฒนาแบบ AI Full-Stack คือรูปแบบการทำงานที่ AI มีส่วนร่วมในหลายขั้นตอนของการส่งมอบ ขณะที่มนุษย์เป็นผู้ตัดสินใจ ตรวจสอบ และอนุมัติการนำขึ้นใช้งานจริง
- จัดกระบวนการทำงานตามลำดับ ตั้งแต่ความต้องการ การออกแบบ การพัฒนาเป็นขั้นตอน การทดสอบและตรวจสอบ ไปจนถึงการปรับใช้และติดตามผล
- โค้ดที่สร้างขึ้นไม่สามารถใช้แทนการตรวจรับความต้องการ การตรวจสอบโดยมนุษย์ และการอนุมัติการเผยแพร่สู่ระบบจริงได้
- เลือกเครื่องมือและรูปแบบการทำงานร่วมกันตามความอ่อนไหวของข้อมูล ความซับซ้อนของโครงการ และความสามารถในการบำรุงรักษา
การพัฒนา Full Stack ด้วย AI คืออะไร
การพัฒนา Full Stack ด้วย AI คือแนวทางการทำงานที่นำเครื่องมือ AI เข้ามาช่วยในหลายขั้นตอนของการส่งมอบซอฟต์แวร์ ตั้งแต่การรวบรวมและจัดระเบียบความต้องการ การพัฒนาส่วนติดต่อผู้ใช้และระบบหลังบ้าน ไปจนถึงการออกแบบโครงสร้างข้อมูล การทดสอบ และการเตรียมความพร้อมสำหรับการนำระบบขึ้นใช้งาน ทั้งนี้ไม่ได้หมายถึงการพัฒนาอัตโนมัติโดยไม่มีคนเข้ามาเกี่ยวข้อง การตัดสินใจเลือกระหว่างข้อกำหนดต่าง ๆ การตัดสินใจด้านสถาปัตยกรรม การตรวจสอบโค้ด และความรับผิดชอบในการนำระบบขึ้นใช้งาน ยังคงเป็นหน้าที่ของบุคคลที่ได้รับมอบหมายอย่างชัดเจน
คำว่า “Full Stack” หมายถึงการครอบคลุมหลายขั้นตอนของกระบวนการ ไม่ได้หมายความว่าเพียงป้อนคำสั่งครั้งเดียวแล้วจะได้ผลิตภัณฑ์ที่พร้อมใช้งานจริงอย่างน่าเชื่อถือ แนวทางที่รอบคอบกว่าคือแบ่งเป้าหมายออกเป็นงานย่อยที่ตรวจสอบได้ ให้คนยืนยันข้อมูลนำเข้าและผลลัพธ์ในแต่ละขั้นตอน พร้อมคงทางเลือกในการหยุดหรือย้อนกลับไว้
สถานการณ์ที่เหมาะสมและขอบเขต
เมื่อขอบเขตงานชัดเจนและอธิบายวิธีตรวจรับได้ อาจพิจารณาใช้ AI ช่วยในการตรวจสอบแนวคิดต้นแบบ เครื่องมือภายใน หรือการปรับปรุงฟังก์ชันที่มีอยู่แล้ว อย่างไรก็ตาม ทีมยังต้องพิจารณาว่าโค้ดเป็นไปตามกฎทางธุรกิจ ข้อจำกัดของระบบเดิม และข้อกำหนดด้านการบำรุงรักษาหรือไม่
หากระบบเกี่ยวข้องกับข้อมูลละเอียดอ่อน การกำหนดสิทธิ์ที่ซับซ้อน กระบวนการทางธุรกิจที่สำคัญ หรือข้อกำหนดด้านความน่าเชื่อถือที่เข้มงวด ควรอ้างอิงนโยบายที่เกี่ยวข้องขององค์กรและเอกสารทางเทคนิคอย่างเป็นทางการ เพื่อระบุความเสี่ยงและผู้รับผิดชอบการตรวจสอบก่อน แล้วจึงตัดสินใจว่าเครื่องมือจะเข้าถึงข้อมูลและดำเนินการได้ในขอบเขตใด อย่าถือว่า “สร้างโค้ดได้” เป็นเงื่อนไขเพียงพอสำหรับการส่งมอบ
แนวทางการทำงานตั้งแต่ความต้องการจนถึงการนำระบบขึ้นใช้งาน
กรอบต่อไปนี้จัดทำขึ้นเพื่อช่วยหารือในโครงการ ไม่ใช่กระบวนการเดียวที่มาตรฐานใดมาตรฐานหนึ่งกำหนดไว้:
1. แยกย่อยความต้องการและเขียนเกณฑ์การตรวจรับ
แบ่งเป้าหมายทางธุรกิจออกเป็นงานย่อย ระบุข้อมูลนำเข้า พฤติกรรมที่คาดหวัง กรณีผิดปกติ และวิธีตรวจรับให้ชัดเจน ยืนยันก่อนว่าเนื้อหาใดอยู่ในขอบเขต และเรื่องใดต้องให้คนเป็นผู้ตัดสินใจ
2. ออกแบบขอบเขตและแนวทางทางเทคนิค
ทำความเข้าใจระบบที่มีอยู่ การไหลของข้อมูล อินเทอร์เฟซ สิทธิ์การเข้าถึง และความรับผิดชอบในการบำรุงรักษา จากนั้นให้ทีมกำหนดสถาปัตยกรรมและเลือกเทคโนโลยี AI สามารถช่วยจัดระเบียบแนวทางหรืออธิบายโค้ดเบสได้ แต่ผู้ที่เข้าใจโครงการเป็นอย่างดีต้องเป็นผู้ตรวจทานและอนุมัติการออกแบบขั้นสุดท้าย
3. พัฒนาทีละขั้นและตรวจสอบอย่างต่อเนื่อง
สร้างหรือแก้ไขโค้ดทีละส่วนตามฟังก์ชัน พร้อมอธิบายจุดประสงค์ของการเปลี่ยนแปลง ขอบเขตผลกระทบ และวิธีตรวจสอบ ทบทวนว่าแต่ละการเปลี่ยนแปลงสอดคล้องกับความต้องการหรือไม่ และมีการเพิ่มการพึ่งพา สิทธิ์ หรือความเสี่ยงในการเปิดเผยข้อมูลโดยไม่จำเป็นหรือไม่ อย่ารวมผลงานที่สร้างขึ้นโดยยังไม่เข้าใจ
4. การทดสอบ การตรวจสอบ และการอนุมัติเผยแพร่
เลือกการทดสอบตามข้อกำหนด แล้วตรวจสอบเส้นทางการทำงานที่สำคัญและกรณีผิดปกติ การตรวจสอบ dependencies ใบอนุญาต คีย์ การจัดการข้อมูล และการควบคุมการเข้าถึง ควรดำเนินการตามสภาพจริงของโครงการและนโยบายที่เกี่ยวข้อง บทความนี้ไม่ได้ระบุแนวทางใดแนวทางหนึ่งว่าเป็นมาตรฐานการปฏิบัติตามข้อกำหนดที่ใช้ได้ทั่วไป ผู้รับผิดชอบโครงการเป็นผู้ตัดสินใจเผยแพร่สู่ระบบจริงตามกระบวนการขององค์กร และควรตกลงแนวทางรับมือปัญหาไว้ล่วงหน้า
5. เฝ้าสังเกตและปรับปรุงหลังการติดตั้ง
อาจรวมการเฝ้าสังเกตการทำงานหลังเปิดใช้งาน การบันทึกปัญหา และแนวทางจัดการไว้ในแผนโครงการ รายการที่ต้องเฝ้าสังเกต รวมถึงความจำเป็นในการหยุดหรือย้อนกลับการเปลี่ยนแปลง ควรกำหนดโดยทีมตามความเสี่ยงทางธุรกิจ สภาพแวดล้อมการทำงาน และข้อกำหนดที่เกี่ยวข้อง
หมวดหมู่เครื่องมือ: เลือกตามงาน ไม่ใช่ตามอันดับ
สามารถพิจารณาเครื่องมือตามความต้องการ เช่น การสร้างและอธิบายโค้ด การถามตอบเกี่ยวกับ codebase การช่วยทดสอบ การสนับสนุนการพัฒนาฐานข้อมูลและ API ตลอดจนระบบอัตโนมัติในขั้นตอนการ build และ deploy ในการประเมิน ควรทำความเข้าใจว่าเครื่องมือเข้าถึงโค้ดและข้อมูลใดได้บ้าง ดำเนินการอะไรได้บ้าง และทีมจะตรวจทานผลลัพธ์อย่างไร ชื่อและความสามารถของเครื่องมืออาจเปลี่ยนแปลงได้ บทความนี้ไม่ได้จัดอันดับผลิตภัณฑ์
คุณภาพและความเสี่ยง: แนวทางประเมินโครงการ
ข้อความต่อไปนี้เป็นแนวทางทั่วไปสำหรับผู้เรียบเรียง ไม่ใช้แทนข้อกำหนดด้านความปลอดภัย คำแนะนำทางกฎหมาย หรือนโยบายขององค์กร ผู้รับผิดชอบโครงการควรยืนยันข้อกำหนดการควบคุมที่เฉพาะเจาะจง โดยอ้างอิงเอกสารทางการที่เกี่ยวข้องและสภาพแวดล้อมจริง
- การตรวจทานโดยมนุษย์: กำหนดให้ชัดเจนว่าใครตรวจสอบการเปลี่ยนแปลงและผลกระทบทางธุรกิจ โดยกำหนดระดับการตรวจทานตามความเสี่ยงของโครงการ
- การทดสอบและการยอมรับงาน: แยกผลการทดสอบออกจากการยอมรับงานตามข้อกำหนด และกำหนดขอบเขตการตรวจสอบตามโครงการ
- ข้อมูลและการเข้าถึง: ระบุข้อมูลและสิทธิ์ที่เครื่องมือจะจัดการก่อน แล้วจึงกำหนดขอบเขตที่อนุญาตตามนโยบายขององค์กร ผู้รับผิดชอบควรตรวจสอบวิธีจัดการข้อมูลอ่อนไหว
- dependencies และการเผยแพร่: ตรวจสอบ dependencies และใบอนุญาตตามข้อกำหนดของโครงการ ทีมควรกำหนดการอนุมัติเผยแพร่ การเฝ้าสังเกตระบบ และแนวทางรับมือปัญหาให้สอดคล้องกับสภาพแวดล้อมของระบบ
รายการประเมินก่อนเริ่มโครงการ
แนะนำให้ตอบคำถามต่อไปนี้ก่อนเริ่ม:
- เป้าหมายทางธุรกิจและเกณฑ์การยอมรับงานชัดเจนหรือไม่ และมีการตัดสินใจใดบ้างที่ต้องให้มนุษย์เป็นผู้ตัดสินใจ?
- โครงการจะเชื่อมต่อกับ codebase ระบบอินเทอร์เฟซ หรือข้อมูลระบบจริงที่มีอยู่หรือไม่ ข้อกำหนดด้านข้อมูลมีอะไรบ้าง?
- ทีมมีความสามารถในการตรวจทาน ทดสอบ และบำรุงรักษาระบบหรือไม่?
- ใครรับผิดชอบการบำรุงรักษาระยะยาว การจัดการเหตุขัดข้อง และการอนุมัติเปิดใช้งาน?
- จะกำหนดงบประมาณ ขอบเขตงาน และข้อกำหนดด้านคุณภาพอย่างไร และจะจัดการการเปลี่ยนแปลงอย่างไร?
นี่คือกรอบการตัดสินใจสำหรับให้ผู้อ่านประเมินด้วยตนเอง ไม่ใช่การรับรองเชิงปริมาณด้านต้นทุน ระยะเวลา หรือผลลัพธ์
พัฒนาเอง ทีมภายใน หรือขอความช่วยเหลือจากภายนอก
เลือกแนวทางตามความซับซ้อนของโครงการ ความรับผิดชอบด้านการบำรุงรักษา ข้อกำหนดด้านข้อมูล และความสามารถที่มีอยู่: หากมีความสามารถด้านวิศวกรรมและต้องการดูแลระบบในระยะยาว ทีมภายในอาจเป็นผู้ดำเนินการหลัก หากขอบเขตชัดเจนและต้องการตรวจสอบแนวทาง อาจเริ่มจากโครงการนำร่องขนาดเล็ก หากขาดความสามารถที่เกี่ยวข้อง หรือต้องจัดการการเชื่อมต่อที่ซับซ้อนและขอบเขตการส่งมอบ อาจพิจารณาความช่วยเหลือจากผู้เชี่ยวชาญภายนอก ความเหมาะสมของแต่ละแนวทางขึ้นอยู่กับสภาพจริงของโครงการ
ไม่ว่าจะเลือกแนวทางใด ควรกำหนดขอบเขต ผลงานส่งมอบ วิธีการตรวจรับ ขอบเขตการเข้าถึงข้อมูลและโค้ด การบำรุงรักษา และกระบวนการจัดการการเปลี่ยนแปลงให้ชัดเจนในข้อตกลงโครงการ หากต้องการดูตัวอย่างงานส่งมอบที่เผยแพร่ให้สาธารณชนเข้าชมได้ โปรดดูหน้ากรณีศึกษา ทั้งนี้ บทความนี้ไม่ได้ใช้ตัวอย่างดังกล่าวเพื่ออนุมานผลลัพธ์หรือประสิทธิผลเฉพาะเจาะจง นอกจากนี้ คุณสามารถอ่าน คำแนะนำเกี่ยวกับ FDE บนเว็บไซต์ก่อน แล้วประเมินแนวทางการสนับสนุนตามเงื่อนไขของโครงการของคุณ
คำถามที่พบบ่อย
**AI สามารถทำโครงการซอฟต์แวร์ทั้งหมดได้ด้วยตัวเองหรือไม่?**ไม่ควรมอง AI เป็นผู้รับผิดชอบโครงการที่ไม่ต้องมีผู้กำกับดูแล AI สามารถมีส่วนร่วมในหลายขั้นตอนของการพัฒนาได้ แต่การตัดสินใจเกี่ยวกับความต้องการ การพิจารณาสถาปัตยกรรม การตรวจรับผลลัพธ์ และความรับผิดชอบในการนำขึ้นใช้งานจริงต้องเป็นหน้าที่ของผู้รับผิดชอบที่เกี่ยวข้อง การแบ่งหน้าที่ควรพิจารณาตามความเสี่ยงของโครงการและความสามารถของทีม
**โค้ดที่ AI สร้างสามารถนำขึ้นใช้งานจริงได้ทันทีหรือไม่?**บทความนี้ไม่แนะนำให้ถือว่าผลลัพธ์ที่สร้างขึ้นเป็นงานส่งมอบที่ผ่านการตรวจรับแล้ว ก่อนนำขึ้นใช้งานจริง ควรตรวจสอบ ทดสอบ และขออนุมัติจากผู้รับผิดชอบตามกระบวนการของโครงการ ขอบเขตการตรวจสอบที่แน่ชัดขึ้นอยู่กับความเสี่ยงของโครงการ นโยบายองค์กร และมาตรฐานทางเทคนิคที่เกี่ยวข้อง
**จะปกป้องโค้ดและข้อมูลได้อย่างไร?**เริ่มจากทำความเข้าใจว่าเครื่องมืออาจเข้าถึงโค้ด เนื้อหาที่ป้อน บันทึกข้อมูล และบริการภายนอกใดบ้าง จากนั้นกำหนดขอบเขตการจัดการโดยอ้างอิงนโยบายองค์กรและข้อมูลทางการที่เกี่ยวข้อง หากเกี่ยวข้องกับข้อมูลอ่อนไหวหรืออยู่ภายใต้การกำกับดูแล ให้ผู้รับผิดชอบที่เกี่ยวข้องตรวจสอบข้อกำหนดที่ใช้บังคับ อย่าใช้บทความทั่วไปเพียงอย่างเดียวในการตัดสินความสอดคล้องตามข้อกำหนด
**จะประเมินต้นทุนและคุณภาพการส่งมอบของโครงการได้อย่างไร?**เริ่มจากกำหนดขอบเขต เงื่อนไขการตรวจรับ ความรับผิดชอบในการบำรุงรักษา และกระบวนการจัดการการเปลี่ยนแปลง จากนั้นประเมินทรัพยากรที่ต้องใช้โดยพิจารณาความสามารถของทีมและข้อกำหนดด้านข้อมูล หากไม่มีข้อมูลเฉพาะของโครงการ ก็ไม่ควรใช้ตัวเลขทั่วไปเพื่อคาดการณ์ต้นทุน ระยะเวลา หรือผลลัพธ์
คำถามที่พบบ่อย
แหล่งอ้างอิงและแหล่งข้อมูลเชิงปฏิบัติ
ตรวจสอบเพิ่มเติมกับเอกสารต้นฉบับ หรือดาวน์โหลดเอกสารประกอบไปใช้ในการหารือโครงการ ข้อมูลจากแหล่งภายนอกให้ยึดตามคำอธิบายล่าสุดบนเว็บไซต์ต้นทาง