การศึกษาและการประเมินนักพัฒนาในยุคเอเจนต์
บทวิเคราะห์นี้สะท้อนภูมิทัศน์ด้านการศึกษาและการรับรอง ณ วันที่ 26 กรกฎาคม 2026
บทนำ
เอเจนต์เขียนโค้ดอัตโนมัติกำลังเปลี่ยนการพัฒนาซอฟต์แวร์จากงานที่เน้น การพิมพ์โค้ด ไปสู่การเน้น การกำหนดขอบเขตงาน, การมอบหมายงาน, การกำกับดูแลการทำงาน, และการตรวจสอบผลลัพธ์
เอเจนต์เขียนโค้ดสมัยใหม่สามารถตรวจสอบ repository, พัฒนาแผนการนำไปใช้, ปรับเปลี่ยนไฟล์หลายไฟล์, รันการทดสอบ, ตอบสนองต่อข้อผิดพลาด, และเปิด pull request เพื่อให้มนุษย์ตรวจสอบ เอกสารปัจจุบันของ GitHub อธิบายเวิร์กโฟลว์ที่นักพัฒนามอบหมายปัญหาให้เอเจนต์, ตรวจสอบการทำงานของเอเจนต์, ร้องขอการตรวจสอบโค้ด, ให้ข้อเสนอแนะ, และอนุมัติหรือปฏิเสธผลลัพธ์ (docs.github.com)
สิ่งนี้สร้างคำถามที่ยากลำบากสำหรับการศึกษา:
หากนักเรียนสามารถขอให้เอเจนต์สร้างโปรแกรมที่ใช้งานได้ นักเรียนควรต้องเข้าใจอะไรบ้าง?
คำตอบไม่ใช่การละทิ้งพื้นฐานการเขียนโปรแกรม แต่เป็นการเปลี่ยนสิ่งที่พื้นฐานเหล่านั้นถูกนำไปใช้
นักเรียนยังคงต้องเข้าใจโครงสร้างข้อมูล, อัลกอริทึม, ภาษาโปรแกรม, การออกแบบระบบ, ความปลอดภัย, การทดสอบ, และการดีบั๊ก อย่างไรก็ตาม พวกเขาจำเป็นต้องนำความรู้เหล่านั้นไปประยุกต์ใช้กับสิ่งต่อไปนี้มากขึ้น:
- แยกย่อยปัญหาที่คลุมเครือให้เป็นงานที่จัดการได้
- เขียนข้อกำหนดและเกณฑ์การยอมรับที่แม่นยำ
- ให้บริบทที่เป็นประโยชน์แก่เอเจนต์เขียนโค้ด
- ตัดสินว่าโค้ดที่สร้างขึ้นนั้นถูกต้องและบำรุงรักษาได้หรือไม่
- ออกแบบการทดสอบที่เผยให้เห็นข้อผิดพลาดที่ซ่อนอยู่
- ตรวจสอบความเสี่ยงด้านความปลอดภัย, ความเป็นส่วนตัว, ประสิทธิภาพ, และสถาปัตยกรรม
- ประสานงานเอเจนต์หรือเครื่องมือหลายอย่างโดยไม่สูญเสียการควบคุม
- อธิบายและปกป้องการตัดสินใจทางเทคนิค
ดังนั้น การศึกษาสำหรับนักพัฒนารุ่นต่อไปจะประเมินความสามารถของนักเรียนในการสร้างโค้ดจำนวนมากลดลง และจะประเมินความสามารถของนักเรียนในการ ทำความเข้าใจ, สั่งงาน, ตรวจสอบ, และปรับปรุงระบบซอฟต์แวร์ มากขึ้น
การเปลี่ยนแปลงหลัก: จากการสร้างโค้ดสู่การตัดสินใจเชิงวิศวกรรม
เอเจนต์เขียนโค้ดไม่ใช่แค่การเติมคำอัตโนมัติที่เร็วขึ้น
ผู้ช่วยเขียนโค้ดแบบดั้งเดิมจะแนะนำบรรทัด, ฟังก์ชัน หรือบล็อกโค้ดขนาดเล็ก เอเจนต์เขียนโค้ดอัตโนมัติทำงานในวงกว้างกว่า พวกเขาสามารถทำงานข้ามไฟล์, เรียกใช้เครื่องมือพัฒนา, รันการทดสอบ, ตรวจสอบเอกสาร, และดำเนินงานได้หลายขั้นตอน
สิ่งนี้เปลี่ยนหน่วยของงาน เวิร์กโฟลว์ของนักพัฒนาจึงมีลักษณะดังนี้มากขึ้น:
- ทำความเข้าใจปัญหาของผู้ใช้หรือทางธุรกิจ
- กำหนดพฤติกรรมที่ต้องการ
- แยกย่อยงานออกเป็นงานย่อยๆ
- มอบหมายงานที่เหมาะสมให้เอเจนต์
- ตรวจสอบแผนของเอเจนต์
- ให้เอเจนต์ดำเนินการภายในสภาพแวดล้อมที่ควบคุม
- รันการทดสอบและตรวจสอบความปลอดภัย
- ตรวจสอบผลลัพธ์
- ร้องขอการเปลี่ยนแปลงหรือปรับปรุงการออกแบบ
- อนุมัติ, ผสาน, และติดตามซอฟต์แวร์
ผู้ที่ข้ามขั้นตอนการวางแผนและการตรวจสอบอาจยังคงสร้างโค้ดได้ แต่ไม่สามารถสร้างผลิตภัณฑ์ที่น่าเชื่อถือได้อย่างสม่ำเสมอ
ข้อจำกัดของผลลัพธ์โค้ดดิบ
การสร้างโค้ดดิบกำลังกลายเป็นมาตรวัดความสามารถที่อ่อนแอลง เนื่องจากเอเจนต์สามารถสร้างโค้ดที่ดูน่าเชื่อถือจำนวนมากได้อย่างรวดเร็ว ในขณะเดียวกัน เอเจนต์ยังคงมีปัญหาในการพัฒนาซอฟต์แวร์ในระยะยาว, การเปลี่ยนแปลงหลายไฟล์, ข้อกำหนดที่ไม่ชัดเจน, และการรักษาพฤติกรรมในการปรับเปลี่ยนซ้ำๆ การศึกษาเกณฑ์มาตรฐานในปี 2025 พบช่องว่างอย่างมากระหว่างประสิทธิภาพของเอเจนต์ในการแก้ไขปัญหาแยกส่วน กับงานพัฒนาซอฟต์แวร์ที่ซับซ้อนและระยะยาวกว่า (arxiv.org)
สิ่งนี้สร้างความแตกต่างทางการศึกษาที่สำคัญ:
- นักเรียนที่สามารถสร้างโค้ดได้ อาจไม่เข้าใจมัน
- นักเรียนที่สามารถอธิบาย, ทดสอบ, ตั้งคำถาม, และซ่อมแซมโค้ดได้ แสดงให้เห็นถึงความสามารถที่ลึกซึ้งกว่า
ดังนั้น เป้าหมายทางการศึกษาควรกลายเป็น การตัดสินใจเชิงวิศวกรรมที่ได้รับการตรวจสอบแล้ว ไม่ใช่แค่การสร้างโค้ดที่สำเร็จ
หลักสูตรกำลังปรับตัวอย่างไร
หลักสูตรมหาวิทยาลัยกำลังมุ่งสู่ความเข้าใจและการตรวจสอบ
รายงาน Computer Science Curricula 2023 ของ ACM, Institute of Electrical and Electronics Engineers Computer Society, และ Association for the Advancement of Artificial Intelligence คาดการณ์ว่าปัญญาประดิษฐ์เชิงกำเนิดจะเปลี่ยนแปลงการศึกษาด้านการเขียนโปรแกรม คำแนะนำของรายงานชี้ว่านักเรียนจะต้องให้ความสำคัญกับการอ่าน, ทำความเข้าใจ, ตรวจสอบ, แก้ไข, ปรับเปลี่ยน, ดัดแปลง, และทดสอบโค้ดมากขึ้น นอกจากนี้ยังระบุว่า การแยกย่อยปัญหา เป็นเรื่องที่มีแนวโน้มจะมีความสำคัญมากขึ้น (csed.acm.org)
คำแนะนำเดียวกันนี้ยังชี้ประเด็นสำคัญ: แม้ว่าเอเจนต์จะเขียนโปรแกรมให้ แต่มนุษย์ยังคงต้องรับผิดชอบในการพิจารณาว่าโปรแกรมนั้นถูกต้องหรือไม่ ซึ่งหมายความว่าการศึกษาด้านการเขียนโปรแกรมไม่สามารถลดลงเหลือแค่การเขียน prompt นักเรียนจำเป็นต้องมีความเข้าใจทางเทคนิคเพียงพอที่จะประเมินผลลัพธ์ได้
รายงานยังคาดการณ์การเปลี่ยนแปลงในการศึกษาด้านวิศวกรรมซอฟต์แวร์ ซึ่งรวมถึงการใช้ปัญญาประดิษฐ์มากขึ้นสำหรับการสร้างโค้ด, การดีบั๊ก, การวิเคราะห์แบบ static, และการตรวจสอบโค้ด การใช้เครื่องมือเหล่านี้อย่างมีประสิทธิภาพต้องใช้ทักษะการออกแบบและความเข้าใจโค้ดที่แข็งแกร่งขึ้น ไม่ใช่อ่อนแอลง (csed.acm.org)
การรับรองกำลังเริ่มให้รางวัลกับผลลัพธ์ทางวิศวกรรมที่กว้างขึ้น
เกณฑ์การรับรองคอมพิวเตอร์ปัจจุบันจาก Accreditation Board for Engineering and Technology (ABET) เน้นย้ำสิ่งต่อไปนี้แล้ว:
- การวิเคราะห์ปัญหาคอมพิวเตอร์ที่ซับซ้อน
- การออกแบบและประเมินโซลูชันคอมพิวเตอร์
- การสื่อสารอย่างมืออาชีพ
- ความรับผิดชอบทางกฎหมายและจริยธรรม
- ความปลอดภัยและความเป็นส่วนตัว
- ผลกระทบทางสังคมของคอมพิวเตอร์
- โครงการที่ครอบคลุมหรือองค์ประกอบเชิงประสบการณ์ (abet.org)
ผลลัพธ์เหล่านี้เหมาะกับสภาพแวดล้อมการพัฒนาที่ใช้เอเจนต์ เนื่องจากพวกเขาวัดการตัดสินใจและความรับผิดชอบมากกว่าการกดแป้นพิมพ์
ณ วันที่ 26 กรกฎาคม 2026 การเปลี่ยนแปลงที่เสนอโดย Accreditation Board for Engineering and Technology สำหรับรอบปี 2026–2027 รวมถึงเกณฑ์โปรแกรมปัญญาประดิษฐ์เพิ่มเติมและข้อกำหนดที่ผู้สำเร็จการศึกษาจะต้องสามารถนำทฤษฎี, โมเดล, และเทคนิคของปัญญาประดิษฐ์ไปประยุกต์ใช้กับปัญหาที่ซับซ้อนได้ การเปลี่ยนแปลงที่เสนอยังคงรอการอนุมัติขั้นสุดท้าย และคาดว่าจะมีผลบังคับใช้หลังจากการประชุมฤดูใบไม้ร่วงปี 2026 โดยมีการประยุกต์ใช้ครั้งแรกในระหว่างรอบการตรวจสอบปี 2027–2028 (abet.org)
ทิศทางที่น่าจะเป็นนั้นชัดเจน: โปรแกรมจะต้องแสดงให้เห็นว่านักเรียนสามารถสร้างและประเมินระบบได้ ไม่ใช่แค่การทำแบบฝึกหัดการเขียนโปรแกรมแยกส่วนเท่านั้น
หลักสูตรใหม่กำลังสอนการใช้งานเอเจนต์ในฐานะสาขาวิชาวิศวกรรม
หลักสูตรมหาวิทยาลัยล่าสุดหลายแห่งแสดงให้เห็นรูปแบบที่กำลังเกิดขึ้น
หลักสูตรในปี 2025 ของ University of Maryland เกี่ยวกับการใช้ผู้ช่วยเขียนโค้ดและเอเจนต์ AI อย่างมีประสิทธิภาพครอบคลุมเครื่องมือที่สามารถเรียกใช้ระบบ build, รันการทดสอบ, และแก้ไขข้อผิดพลาด นอกจากนี้ยังกล่าวถึงความสามารถในการบำรุงรักษา, สถาปัตยกรรม, การออกแบบ API, ประสิทธิภาพ, ความสามารถในการปรับขนาด, ความปลอดภัย, Continuous Integration, การตรวจสอบโค้ด, เอเจนต์แบบ asynchronous, และการตรวจสอบโค้ดอัตโนมัติ (cs.umd.edu)
University of Pennsylvania ได้เสนอหลักสูตรวิทยาการคอมพิวเตอร์ระดับชั้นปีที่สองที่เน้นการพัฒนาซอฟต์แวร์ที่ขับเคลื่อนด้วย AI หัวข้อที่เสนอได้แก่ การมอบหมายงานเขียนโค้ด, การออกแบบแบบ modular, การทดสอบที่ปรับขนาดได้, การบริหารความเสี่ยง, ความสามารถในการทำซ้ำ, การทำงานร่วมกัน, และจริยธรรม (seas.upenn.edu)
หลักสูตร Applied Agentic Software Engineering ของ University of Michigan ในฤดูใบไม้ร่วงปี 2026 ชัดเจนยิ่งกว่านั้น โดยจัดเป็นสามขั้นตอน:
- ใช้เอเจนต์เขียนโค้ดอย่างมีประสิทธิภาพ
- สร้างเอเจนต์โดยใช้ API ของ Large Language Model
- ออกแบบ, ประเมิน, และปรับใช้ตัวจัดการเอเจนต์
หลักสูตรนี้ใช้โครงการ, ห้องปฏิบัติการ, การสาธิต, และการตรวจสอบแทนการสอบแบบดั้งเดิม โดยระบุว่าการให้เกรดจะให้รางวัลความเข้าใจมากกว่าผลลัพธ์ และให้นักเรียนอธิบายว่าเหตุใดเอเจนต์จึงล้มเหลวและวิธีการแก้ไขระบบโดยรอบ (eecs498-aase.github.io)
นี่คือการเปลี่ยนแปลงการออกแบบที่สำคัญ หลักสูตรนี้ไม่ได้สอนให้นักเรียนสร้างโค้ดได้เร็วขึ้น แต่กำลังสอนให้พวกเขากลายเป็น ผู้กำกับดูแลทางเทคนิคของระบบที่สร้างโค้ด
Bootcamps กำลังเปลี่ยนแปลงอย่างไร
Bootcamps กำลังปรับตัวเร็วกว่าหลักสูตรดั้งเดิมหลายแห่ง เพราะหลักสูตรของพวกเขาเชื่อมโยงอย่างใกล้ชิดกับความต้องการในการจ้างงาน อย่างไรก็ตาม คุณภาพของการปรับตัวนั้นแตกต่างกันไป
รูปแบบ Bootcamp AI โดยเฉพาะ
Bootcamp Artificial Intelligence Software Development ปัจจุบันของ Le Wagon รวมการพัฒนาแบบ full-stack เข้ากับการบูรณาการ AI หลักสูตรที่เผยแพร่ประกอบด้วยการเขียนโค้ดโดยใช้ AI, การบูรณาการ Large Language Model, การปรับใช้ใน production, Retrieval-Augmented Generation, และเอเจนต์ AI อัตโนมัติ (lewagon.com)
รูปแบบนี้ถือว่า AI เป็นเส้นทางที่ดำเนินไปตลอดโปรแกรม แทนที่จะเป็นบทเรียนเสริมเพียงบทเดียว นักเรียนคาดว่าจะได้เรียนรู้ทั้ง:
- ระบบซอฟต์แวร์ทั่วไปทำงานอย่างไร
- วิธีใช้เครื่องมือ AI เพื่อสร้างและใช้งานระบบเหล่านั้น
การรวมกันนี้สำคัญมาก ผู้เรียนที่รู้วิธีการใช้งานเอเจนต์เท่านั้นอาจไม่สามารถรับรู้ถึงสถาปัตยกรรมที่มีข้อบกพร่องได้ ผู้เรียนที่รู้แต่การเขียนโปรแกรมแบบทั่วไปอาจไม่พร้อมสำหรับเวิร์กโฟลว์การพัฒนาสมัยใหม่
รูปแบบ “เพิ่มหน่วย AI”
Bootcamp วิศวกรรมซอฟต์แวร์ของ Springboard ยังคงยึดหลักพื้นฐานในการพัฒนาเว็บ, API, การพัฒนา front-end, back-end, และโครงการ full-stack พร้อมเพิ่มหน่วย AI ที่เน้น prompt engineering และการทำงานร่วมกับเครื่องมือ generative (springboard.com)
รูปแบบนี้มีประโยชน์สำหรับผู้เรียนที่ต้องการพื้นฐานการเขียนโปรแกรมที่แข็งแกร่งก่อน นอกจากนี้ยังสะท้อนความเป็นจริงในทางปฏิบัติ: นักเรียนจำนวนมากไม่ควรเริ่มต้นด้วยการสร้างเอเจนต์อัตโนมัติ พวกเขาควรเรียนรู้วิธีการทำงานของซอฟต์แวร์, วิธีใช้ version control, วิธีอ่านข้อความแสดงข้อผิดพลาด, และวิธีทดสอบโปรแกรมก่อน
จุดอ่อนคือ โมดูล prompt-engineering สั้นๆ อาจตื้นเกินไป หลักสูตรยุคเอเจนต์ที่จริงจังควรสอนมากกว่าแค่วิธีขอโค้ด ควรสอนสิ่งต่อไปนี้:
- วิธีสร้างไฟล์บริบทของ repository
- วิธีเขียนข้อกำหนดทางเทคนิค
- วิธีนิยามขอบเขตของงาน
- วิธีจำกัดสิทธิ์ของเอเจนต์
- วิธีตรวจสอบแผนของเอเจนต์
- วิธีประเมินการทดสอบที่สร้างขึ้น
- วิธีตรวจจับปัญหาด้านความปลอดภัย
- วิธีเปรียบเทียบการออกแบบทางเลือก
- วิธีจัดทำเอกสารการมีส่วนร่วมของเอเจนต์
นักเรียน Bootcamp ควรมองหาอะไร
ผู้ที่สนใจเป็นนักเรียนควรสอบถามว่าโปรแกรมประเมินสิ่งต่อไปนี้หรือไม่:
- นักเรียนสามารถอธิบายโค้ดที่พวกเขาไม่ได้พิมพ์ด้วยตนเองได้หรือไม่?
- นักเรียนตรวจสอบและแก้ไขผลลัพธ์ของเอเจนต์ที่มีข้อบกพร่องหรือไม่?
- มีการให้คะแนนการทดสอบ, ความปลอดภัย, และความสามารถในการบำรุงรักษาหรือไม่?
- มีการนำเสนอสดหรือการป้องกันทางเทคนิคหรือไม่?
- นักเรียนดูแลประวัติโครงการที่มีการควบคุมเวอร์ชันหรือไม่?
- นักเรียนถูกสอนวิธีทำงานโดยไม่มีเอเจนต์เมื่อจำเป็นหรือไม่?
- โปรแกรมสอนการค้นหาผลิตภัณฑ์และการวิเคราะห์ความต้องการหรือไม่?
- ทักษะเฉพาะเครื่องมือสมดุลกับหลักการทางวิศวกรรมที่คงทนหรือไม่?
โปรแกรมที่โฆษณาว่า “สร้างแอปพลิเคชันได้ในหนึ่งสัปดาห์ด้วย AI” อาจยอดเยี่ยมสำหรับการสร้างต้นแบบอย่างรวดเร็ว แต่นั่นไม่เหมือนกับการเตรียมใครบางคนให้พร้อมสำหรับวิศวกรรมซอฟต์แวร์มืออาชีพ
การรับรองกำลังปรับตัวอย่างไร
ผู้ให้บริการการรับรองกำลังพัฒนาคุณสมบัติสามประเภทหลักๆ
การรับรองความรู้เฉพาะเครื่องมือ
การรับรอง GitHub Copilot จาก Microsoft ประเมินการใช้งานอย่างรับผิดชอบ, คุณสมบัติของ Copilot, สถาปัตยกรรมข้อมูล, การสร้างบริบทและ prompt, ประสิทธิภาพของนักพัฒนา, ความเป็นส่วนตัว, การยกเว้นเนื้อหา, และการป้องกัน การสอบมีการควบคุม ใช้เวลาหนึ่งร้อยนาที และอาจมีส่วนประกอบแบบโต้ตอบ (learn.microsoft.com)
คุณสมบัตินี้รับรองความรู้ในที่ทำงานที่เป็นประโยชน์ มันสามารถแสดงให้เห็นว่าบุคคลนั้นเข้าใจวิธีใช้แพลตฟอร์มการพัฒนาเฉพาะอย่างรับผิดชอบ
ข้อจำกัดของมันคือมันผูกติดกับผลิตภัณฑ์เดียวอย่างมาก ผู้เชี่ยวชาญที่รู้วิธีใช้งาน GitHub Copilot อาจยังขาดความสามารถในการแยกย่อยความต้องการผลิตภัณฑ์ที่ซับซ้อน, ตั้งคำถามกับการเลือกสถาปัตยกรรม, หรือตรวจสอบการเปลี่ยนแปลงที่เกี่ยวข้องกับความปลอดภัย
การรับรองการพัฒนา AI บนแพลตฟอร์ม
การรับรอง AWS Certified Generative AI Developer – Professional นั้นกว้างกว่า คู่มือการสอบประกอบด้วยการบูรณาการโมเดลพื้นฐาน, การจัดการข้อมูล, การปฏิบัติตามข้อกำหนด, การนำไปใช้, โซลูชัน AI แบบเอเจนต์, ความปลอดภัย, ธรรมาภิบาล, การทดสอบ, การแก้ไขปัญหา, การตรวจสอบ, และการเพิ่มประสิทธิภาพ (docs.aws.amazon.com)
อย่างไรก็ตาม การสอบส่วนใหญ่เป็นแบบปรนัยและเลือกตอบหลายข้อ เป็นการทดสอบความรู้ที่สำคัญ แต่ไม่ได้แสดงให้เห็นอย่างสมบูรณ์ว่าผู้สมัครสามารถสร้าง, ตรวจสอบ, หรือปกป้องระบบที่ใช้งานได้หรือไม่ (aws.amazon.com)
สิ่งนี้แสดงให้เห็นถึงปัญหาที่กว้างขึ้น: การสอบความรู้นั้นขยายขนาดได้ง่ายกว่าการสอบปฏิบัติ องค์กรการรับรองสามารถทดสอบศัพท์เฉพาะและหลักการออกแบบได้อย่างมีประสิทธิภาพ แต่ความสามารถในทางปฏิบัติจำเป็นต้องมีสภาพแวดล้อมที่ผู้สมัครต้องตัดสินใจและจัดการกับความล้มเหลว
ใบรับรองที่อิงตามห้องปฏิบัติการและโครงการ
ใบรับรอง Microsoft Applied Skills ให้รูปแบบที่มีแนวโน้มดีกว่า พวกเขากำหนดให้ผู้เรียนต้องทำงานแบบโต้ตอบที่สอดคล้องกับงานจริงในการประเมินแบบห้องปฏิบัติการ Microsoft วางตำแหน่งใบรับรองเหล่านี้เป็นหลักฐานว่าผู้สมัครสามารถแก้ปัญหาจริงบนคลาวด์และ AI ได้ ไม่ใช่แค่จำข้อมูลได้ (learn.microsoft.com)
หลักสูตร Agentic Artificial Intelligence Program ของ Carnegie Mellon University สำหรับผู้บริหารการศึกษาเป็นการรวมการสอนสด, ห้องปฏิบัติการที่มีการแนะนำ, การมอบหมายงาน, เวิร์กโฟลว์หลายเอเจนต์, การประเมิน, guardrails, การบันทึก, การตรวจสอบ (observability), และโครงการ capstone (execonline.cs.cmu.edu)
โปรแกรมเหล่านี้ไม่เหมือนกับการรับรองวิชาชีพอิสระ แต่แสดงทิศทางที่ใบรับรองมีแนวโน้มจะไป:
- การประเมินเชิงปฏิบัติที่สั้นลง
- สภาพแวดล้อมการพัฒนาแบบ Sandboxed
- repository ที่เหมือนจริง
- งานประเมินและการตรวจสอบ (observability)
- ระบบ Capstone
- คำอธิบายทางเทคนิคด้วยวาจาหรือบันทึก
- หลักฐานการใช้เครื่องมืออย่างรับผิดชอบ
เทคนิคการประเมินที่วัดความเข้าใจ
กลยุทธ์การประเมินที่ดีที่สุดไม่ได้ห้ามเอเจนต์จากทุกงาน มันใช้เอเจนต์ในส่วนที่สะท้อนการปฏิบัติงานจริง และสงวนกิจกรรมบางอย่างไว้สำหรับการวัดความเข้าใจที่เป็นอิสระ
1. เอกสารข้อกำหนดและการแยกย่อย
ก่อนเขียนโค้ด กำหนดให้นักเรียนส่งสิ่งต่อไปนี้:
- ปัญหาของผู้ใช้
- ข้อกำหนดเชิงฟังก์ชัน
- ข้อกำหนดไม่เชิงฟังก์ชัน
- ข้อสันนิษฐาน
- ข้อจำกัด
- โครงสร้างข้อมูล
- อินเทอร์เฟซ
- เกณฑ์การยอมรับ
- การแยกย่อยงาน
- ความเสี่ยงที่ทราบ
เอกสารควรอธิบายว่าเหตุใดปัญหาจึงถูกแบ่งออกเป็นงานเฉพาะต่างๆ
สิ่งนี้วัดว่านักเรียนเข้าใจปัญหาหรือไม่ก่อนที่จะขอให้เอเจนต์ดำเนินการ
2. จุดตรวจสอบแผนของเอเจนต์
กำหนดให้นักเรียนแสดงแผนที่เสนอโดยเอเจนต์ก่อนเริ่มดำเนินการ นักเรียนต้องระบุ:
- ส่วนใดของแผนที่ยอมรับได้
- ส่วนใดไม่สมบูรณ์
- ข้อสันนิษฐานใดไม่ปลอดภัย
- งานใดที่ต้องได้รับการอนุมัติจากมนุษย์
- ควรเพิ่มการทดสอบใดบ้าง
คะแนนสุดท้ายควรให้รางวัลคุณภาพการตัดสินใจของนักเรียน ไม่ใช่ความยาวของแผนของเอเจนต์
3. การประเมินการตรวจสอบโค้ด
ให้นักเรียนได้รับ repository ที่สร้างโดยเอเจนต์ซึ่งมีข้อบกพร่องที่ตั้งใจ ข้อบกพร่องสามารถรวมถึง:
- การจัดการกรณีขอบ (edge-case) ที่ไม่ถูกต้อง
- การตรวจสอบสิทธิ์ที่ไม่ปลอดภัย
- การจัดการข้อผิดพลาดที่ไม่ดี
- ปัญหาประสิทธิภาพที่ซ่อนอยู่
- ตรรกะที่ซ้ำซ้อน
- อินเทอร์เฟซที่ไม่ชัดเจน
- การทดสอบไม่เพียงพอ
- การละเมิดความเป็นส่วนตัว
- ความเสี่ยงจากการพึ่งพา (dependency risks)
ให้นักเรียนจัดทำรายงานการตรวจสอบพร้อมระดับความรุนแรง, หลักฐาน, ข้อเสนอแนะในการแก้ไข, และการทดสอบ regression
สิ่งนี้ใกล้เคียงกับงานซอฟต์แวร์มืออาชีพมากกว่าการให้นักเรียนสร้างแอปพลิเคชันขนาดเล็กใหม่ตั้งแต่ต้น
4. การอธิบายย้อนกลับและการนำเสนอด้วยวาจา
นักเรียนควรจะสามารถอธิบายสิ่งต่อไปนี้ได้:
- ระบบทำอะไร
- เหตุใดจึงเลือกสถาปัตยกรรมนั้น
- ส่วนใดที่ถูกสร้างขึ้น
- ข้อสันนิษฐานใดที่เอเจนต์ทำขึ้น
- การทดสอบแสดงความถูกต้องอย่างไร
- อะไรที่ยังคงอาจล้มเหลวได้
- มีการยอมรับการแลกเปลี่ยนอะไรบ้าง
การนำเสนอด้วยวาจาสั้นๆ สามารถทำได้เป็นรายบุคคลหรือเป็นกลุ่มเล็กๆ ไม่จำเป็นต้องน่ากลัว คำถามที่เน้นเพียงห้าถึงสิบข้อก็มักจะเพียงพอที่จะเผยให้เห็นว่านักเรียนเข้าใจงานที่ส่งหรือไม่
5. งานถ่ายทอดความรู้
หลังจากนักเรียนทำโครงการที่ได้รับความช่วยเหลือจากเอเจนต์เสร็จสิ้น ให้กำหนดความต้องการใหม่ที่ไม่สามารถแก้ไขได้ด้วยการทำซ้ำ prompt เดิมๆ
ตัวอย่างเช่น:
- เพิ่มแหล่งข้อมูลใหม่
- เปลี่ยนเป้าหมายประสิทธิภาพ
- รองรับรูปแบบอินพุตที่ไม่คาดคิด
- ลบ dependency
- เพิ่มการควบคุมการเข้าถึง
- อธิบายการทดสอบที่ล้มเหลว
- Refactor โมดูลโดยไม่เปลี่ยนพฤติกรรม
นักเรียนอาจใช้เอเจนต์ แต่ต้องอธิบายแผน, ตรวจสอบการเปลี่ยนแปลง, และปกป้องผลลัพธ์
งานถ่ายทอดความรู้วัดว่านักเรียนได้เรียนรู้วิธีการทั่วไปหรือไม่ แทนที่จะจดจำปฏิสัมพันธ์ที่สำเร็จ
6. การออกแบบการทดสอบและการทดสอบแบบ adversarial
นักเรียนควรได้รับการให้คะแนนตามคุณภาพของการทดสอบของพวกเขา ไม่ใช่เพียงแค่ว่าโค้ดที่สร้างขึ้นผ่านการทดสอบที่ให้มาหรือไม่
ข้อกำหนดที่เป็นประโยชน์ได้แก่:
- เขียนการทดสอบขอบเขต (boundary tests)
- สร้างการทดสอบเชิงลบ (negative tests)
- ทดสอบอินพุตที่ไม่ถูกต้อง
- ทดสอบการกู้คืนความล้มเหลว
- ตรวจสอบข้อสันนิษฐานด้านประสิทธิภาพ
- ใช้การทดสอบแบบ property-based ตามความเหมาะสม
- ทดสอบพฤติกรรมที่อ่อนไหวต่อความปลอดภัย
- อธิบายว่าส่วนใดที่ยังไม่ได้ทดสอบ
คำถามสำคัญไม่ใช่ “โค้ดผ่านหรือไม่?” แต่เป็น “นักเรียนรู้หรือไม่ว่าอะไรที่จำเป็นต้องได้รับการทดสอบ?”
7. ประวัติเวอร์ชันและพอร์ตโฟลิโอการทำงาน
พอร์ตโฟลิโอโครงการสามารถรวมถึง:
- ข้อกำหนดเบื้องต้น
- การแยกย่อยงาน
- แผนของเอเจนต์
- prompt หรือคำแนะนำหลักๆ
- การ commit
- ผลลัพธ์การทดสอบ
- ความคิดเห็นในการตรวจสอบ
- แนวทางที่ล้มเหลว
- การเปลี่ยนแปลงการออกแบบ
- การสะท้อนคิดขั้นสุดท้าย
พอร์ตโฟลิโอการทำงานไม่ควรกำหนดให้ส่งทุกบรรทัดของการสนทนาส่วนตัว บันทึกที่เป็นตัวแทนมักจะมีประโยชน์มากกว่าบันทึกการถอดเสียงจำนวนมาก
ตัวอย่างเช่น หลักสูตรการเขียนโปรแกรมปี 2025 ของ Princeton อนุญาตให้ใช้เครื่องมือ AI เชิงกำเนิดได้ แต่นักเรียนต้องอธิบายการใช้งานในไฟล์ readme โดยสรุปที่เป็นตัวแทน แทนที่จะเป็นบันทึกการถอดเสียงที่ละเอียดถี่ถ้วน (cs.princeton.edu)
8. การตรวจสอบโดยเพื่อนร่วมงานแบบมีโครงสร้าง
การตรวจสอบโดยเพื่อนร่วมงานเปลี่ยนนักเรียนจากการเป็นเพียงผู้สร้างโค้ดไปสู่การเป็นนักวิจารณ์โค้ด งานวิจัยเบื้องต้นชี้ให้เห็นว่าการประเมินโดยเพื่อนร่วมงานแบบ rubric-based สามารถประมาณการประเมินของอาจารย์ได้อย่างแม่นยำปานกลาง พร้อมทั้งพัฒนาความคิดเชิงประเมินและการมีส่วนร่วม (arxiv.org)
นักเรียนควรถูกกำหนดให้ต้องให้เหตุผลสำหรับความคิดเห็นของพวกเขาพร้อมหลักฐาน การพูดว่า “โค้ดนี้ไม่ดี” ไม่ใช่การตรวจสอบ การพูดว่า “ฟังก์ชันนี้ทำการ query ฐานข้อมูลภายใน loop ซึ่งสร้างปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้นเมื่อ collection เติบโตขึ้น” คือการตรวจสอบ
9. ปัญหาเกี่ยวกับ Prompt และข้อกำหนด
Prompt Problems คือแบบฝึกหัดการเขียนโปรแกรมที่นักเรียนเขียนคำแนะนำด้วยภาษาธรรมชาติที่ทำให้ระบบ AI สร้างโค้ดที่ตรงตามข้อกำหนด แนวทางนี้สอนให้นักเรียนสื่อสารข้อกำหนดการคำนวณไปยังระบบสร้างโค้ดอย่างชัดเจน (arxiv.org)
สิ่งนี้มีประโยชน์ แต่ไม่ควรเป็นวิธีการประเมินเพียงวิธีเดียว การศึกษาในปี 2026 ที่มีนักเรียนมากกว่าเก้าร้อยคนพบว่าข้อผิดพลาดทั่วไปรวมถึงการละเว้นรายละเอียดที่สำคัญจาก prompt เมื่อโค้ดที่สร้างขึ้นล้มเหลว นักเรียนมักจะเน้นที่การชี้แจงเจตนาของพวกเขา แทนที่จะติดตามโค้ดหรือตรวจสอบกรณีทดสอบ (arxiv.org)
ดังนั้น การใช้ prompt สามารถเผยให้เห็นทักษะการแยกย่อยและการสื่อสารได้ แต่ต้องรวมกับการอ่านโค้ด, การทดสอบ, การดีบั๊ก, และการตรวจสอบ
โครงสร้างการประเมินตัวอย่าง
โครงการเชิงปฏิบัติสามารถใช้น้ำหนักดังต่อไปนี้:
| องค์ประกอบ | น้ำหนัก | สิ่งที่วัดผล |
|---|---|---|
| การกำหนดปัญหาและข้อกำหนด | 15 เปอร์เซ็นต์ | ความเข้าใจปัญหาที่แท้จริง |
| การแยกย่อยและการออกแบบทางเทคนิค | 20 เปอร์เซ็นต์ | ความสามารถในการแบ่งงานและเลือกสถาปัตยกรรม |
| การนำไปใช้โดยใช้เอเจนต์ | 15 เปอร์เซ็นต์ | ความสามารถในการสั่งงานเครื่องมืออย่างมีประสิทธิภาพ |
| การทดสอบและการตรวจสอบ | 20 เปอร์เซ็นต์ | หลักฐานว่าระบบทำงานได้ดีกว่ากรณีปกติ |
| การตรวจสอบโค้ดและการวิเคราะห์ความเสี่ยง | 15 เปอร์เซ็นต์ | การตัดสินใจเกี่ยวกับคุณภาพ, ความปลอดภัย, และการบำรุงรักษา |
| บันทึกกระบวนการและการเปิดเผย | 5 เปอร์เซ็นต์ | ความโปร่งใสและการฝึกปฏิบัติสะท้อนคิด |
| การนำเสนอส่วนบุคคลหรืองานถ่ายทอดความรู้ | 10 เปอร์เซ็นต์ | ความเข้าใจที่เป็นอิสระ |
โครงสร้างนี้ยังคงให้รางวัลแก่ผลิตภัณฑ์ที่ใช้งานได้ แต่จะป้องกันไม่ให้นักเรียนได้รับเกรดสูงเพียงเพราะเอเจนต์สร้าง codebase ขนาดใหญ่
ความซื่อสัตย์ทางวิชาการในงานที่ได้รับความช่วยเหลือจากเอเจนต์
การห้ามโดยสิ้นเชิงและการใช้งานอย่างไม่จำกัดนั้นไม่เพียงพอทั้งคู่
การห้ามโดยสิ้นเชิงอาจเหมาะสมสำหรับการประเมินพื้นฐานเฉพาะอย่างยิ่งเมื่อวัตถุประสงค์การเรียนรู้คือการฝึกปฏิบัติการเขียนโปรแกรมที่เป็นอิสระ อย่างไรก็ตาม การห้ามทั่วไปนั้นยากขึ้นเรื่อยๆ ในการบังคับใช้ และอาจขัดขวางไม่ให้นักเรียนเรียนรู้เครื่องมือที่พวกเขาจะต้องเจอในงานอาชีพ
การใช้งานอย่างไม่จำกัดก็ไม่เพียงพอเช่นกัน หากนักเรียนสามารถส่งงานที่สร้างโดยเอเจนต์โดยไม่มีคำอธิบาย การประเมินอาจวัดการเข้าถึงเครื่องมือมากกว่าการเรียนรู้
แนวทางที่แข็งแกร่งที่สุดคือ นโยบายที่ชัดเจนในระดับงาน
สามรูปแบบนโยบายที่เป็นประโยชน์
โหมดหนึ่ง: ห้ามใช้เอเจนต์
ใช้สิ่งนี้สำหรับ:
- การสอบ
- แบบฝึกหัดการเขียนโปรแกรมพื้นฐาน
- การสาธิตการดีบั๊กรายบุคคล
- แบบฝึกหัดอัลกอริทึมหลัก
- การประเมินที่ออกแบบมาเพื่อวัดการระลึกหรือการนำไปใช้โดยไม่ได้รับความช่วยเหลือ
หลักสูตร Principles of Imperative Computation ของ Carnegie Mellon ห้ามใช้เครื่องมือ AI สำหรับงานที่ได้รับคะแนนทุกส่วน รวมถึงการสร้างโซลูชัน, การอธิบายโซลูชัน, การจัดรูปแบบโค้ด, และการสร้างกรณีทดสอบ (cs.cmu.edu)
โหมดสอง: จำกัดการใช้เอเจนต์
ใช้สิ่งนี้เมื่อนักเรียนอาจขอสิ่งต่อไปนี้:
- คำอธิบายแนวคิด
- ความช่วยเหลือด้านเอกสาร
- การตีความข้อความแสดงข้อผิดพลาด
- การชี้แจงไลบรารีหรือ API
- การระดมสมอง
- การวิจารณ์การออกแบบที่นักเรียนสร้างขึ้น
- การ refactoring เล็กน้อย
หลักสูตรระบบของ Carnegie Mellon อนุญาตให้ใช้เครื่องมือ AI เพื่อทำความเข้าใจ API, ไลบรารี, เฟรมเวิร์ก, โค้ดที่ให้มา, และข้อความแสดงข้อผิดพลาด ในขณะที่ห้ามขอโซลูชันการมอบหมายงานบางส่วนหรือทั้งหมด (cs.cmu.edu)
โหมดสาม: อนุญาตให้ใช้เอเจนต์โดยต้องเปิดเผย
ใช้สิ่งนี้สำหรับโครงการวิศวกรรมซอฟต์แวร์ที่เหมือนจริง กำหนดให้นักเรียนต้องเปิดเผยสิ่งต่อไปนี้:
- เครื่องมือใดที่ใช้
- งานใดที่มอบหมายให้
- โค้ดที่สร้างขึ้นถูกคัดลอก, แก้ไข, หรือเขียนใหม่หรือไม่
- ผลลัพธ์ได้รับการทดสอบอย่างไร
- นักเรียนเรียนรู้อะไร
- ส่วนใดของการออกแบบที่ยังคงเป็นความรับผิดชอบของนักเรียน
คำแนะนำด้านความซื่อสัตย์ทางวิชาการของ Princeton ระบุว่าการใช้ AI ที่ได้รับอนุญาตยังคงต้องเปิดเผย และการนำเสนอผลลัพธ์ที่สร้างขึ้นว่าเป็นของตนเองหรือการไม่เปิดเผยการใช้งานอาจถือเป็นการละเมิดความซื่อสัตย์ (scholarlyintegrity.princeton.edu)
Harvard Graduate School of Education ก็อนุญาตให้ใช้งาน เช่น การชี้แจง, การระดมสมอง, และการสำรวจ ในขณะที่ห้ามนักเรียนส่งงานที่สร้างโดย AI เป็นของตนเอง นอกจากนี้ยังกำหนดให้มีการจัดทำเอกสารการใช้งานที่ได้รับอนุญาต และเตือนว่านักเรียนยังคงต้องรับผิดชอบต่อความถูกต้อง, ความเป็นส่วนตัว, ลิขสิทธิ์, และอคติ (registrar.gse.harvard.edu)
คำแถลงการเปิดเผยข้อมูลที่เป็นประโยชน์
หลักสูตรสามารถจัดหาแม่แบบง่ายๆ ดังนี้:
ฉันใช้ [ชื่อเครื่องมือ] สำหรับ [การวางแผน, การดีบั๊ก, การสร้างโค้ด, การทดสอบ, เอกสาร, หรือการตรวจสอบ] ฉันมอบหมาย [งานเฉพาะ] ฉันได้ตรวจสอบและแก้ไขผลลัพธ์, ทดสอบระบบที่ได้, และยังคงรับผิดชอบต่อความถูกต้อง, ความปลอดภัย, และความเป็นต้นฉบับของงานที่ส่ง
นักเรียนไม่ควรกำหนดให้เปิดเผยการแก้ไขการสะกดคำทั่วไปในลักษณะเดียวกับการดำเนินการที่ได้รับมอบหมาย นโยบายควรกำหนดความแตกต่างระหว่างความช่วยเหลือเล็กน้อยและการมีส่วนร่วมทางความคิดหรือทางเทคนิคที่สำคัญ
ความเป็นส่วนตัวและการเข้าถึงที่เท่าเทียม
สถาบันควรจัดหาเครื่องมือที่ได้รับอนุมัติหรือทางเลือกอื่น นักเรียนไม่ควรกำหนดให้อัปโหลดงานที่เป็นความลับ, ข้อมูลส่วนบุคคล, งานวิจัยที่ยังไม่ได้ตีพิมพ์, หรือโค้ดที่เป็นกรรมสิทธิ์ไปยังระบบสาธารณะ
คำแนะนำของ UNESCO เรียกร้องให้มีแนวทางที่เน้นมนุษย์เป็นศูนย์กลางซึ่งกล่าวถึงความเป็นส่วนตัว, ความปลอดภัย, ความเท่าเทียม, การรวมเข้าด้วยกัน, และความพร้อมของสถาบัน (unesco.org)
หลักสูตรควรพิจารณานักเรียนที่ไม่สามารถจ่ายค่าเครื่องมือแบบเสียเงินหลายอย่างได้ หลักสูตรที่เป็นธรรมสามารถทำได้ดังนี้:
- จัดหาเครื่องมือของสถาบันที่ใช้ร่วมกัน
- เสนอทางเลือกแบบ local หรือ open-source
- ออกแบบงานที่ไม่ได้ขึ้นอยู่กับผู้ขายรายเดียว
- ให้คะแนนเหตุผลมากกว่าการเข้าถึงโมเดลที่ทรงพลังที่สุด
- อนุญาตเส้นทางที่ไม่ใช่เอเจนต์สำหรับผลลัพธ์การเรียนรู้ที่จำเป็นทุกอย่าง
วิธีการปฏิบัติเพื่อรวมเอเจนต์เข้ากับการทำงานอย่างมีประสิทธิภาพ
ใช้ repository ที่มีการควบคุม
ให้นักเรียนได้รับ repository ที่มีสิ่งต่อไปนี้:
- ไฟล์ readme ที่ชัดเจน
- codebase ขนาดเล็กแต่เหมือนจริง
- การทดสอบอัตโนมัติ
- เวิร์กโฟลว์ Continuous Integration
- รายการปัญหาที่ทราบ
- คู่มือสไตล์โค้ด
- รายการตรวจสอบความปลอดภัย
- บันทึกการเปลี่ยนแปลง
สิ่งนี้ทำให้การใช้เอเจนต์สามารถสังเกตได้และให้นักเรียนได้สิ่งที่เหมือนจริงมากกว่าแบบฝึกหัดการเขียนโค้ดที่ว่างเปล่า
กำหนดให้มีแผนก่อนการนำไปใช้งาน
นักเรียนไม่ควรเริ่มต้นด้วยการขอให้เอเจนต์ “สร้างแอปพลิเคชันทั้งหมด” กำหนดให้มีลำดับขั้นตอนดังนี้:
- ขอให้เอเจนต์ตรวจสอบ repository
- ขอสรุปสถาปัตยกรรม
- สอบถามเกี่ยวกับความเสี่ยงและข้อมูลที่ขาดหายไป
- เขียนแผนงานของนักเรียนเอง
- อนุมัติงานนำไปใช้ขนาดเล็กหนึ่งงาน
- ตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้น
- รันการทดสอบก่อนดำเนินการต่อ
สิ่งนี้สอนการมอบหมายงานที่มีการควบคุมมากกว่าการมอบหมายงานแบบไม่คิดหน้าคิดหลัง
ใช้ทีมเอเจนต์ที่มีบทบาทชัดเจน
รูปแบบการจัดระบบที่เรียบง่ายสามารถรวมสิ่งต่อไปนี้ได้:
-
ผู้วางแผน: เสนอการแยกย่อยงาน
-
ผู้ดำเนินการ: ปรับเปลี่ยนโค้ด
-
ผู้ทดสอบ: สร้างและรันการทดสอบ
-
ผู้ตรวจสอบ: ค้นหาข้อบกพร่องและความเสี่ยง
-
ผู้ประเมินที่เป็นมนุษย์: อนุมัติหรือปฏิเสธการเปลี่ยนแปลง
นักเรียนควรเรียนรู้ว่าการเพิ่มเอเจนต์มากขึ้นไม่ได้หมายความว่าคุณภาพจะดีขึ้นโดยอัตโนมัติ เอเจนต์ที่มากขึ้นสามารถสร้างคำสั่งที่ขัดแย้งกัน, งานซ้ำซ้อน, ต้นทุนที่เพิ่มขึ้น, และความรับผิดชอบที่ไม่ชัดเจน
เป้าหมายทางการศึกษาไม่ใช่การสร้างระบบหลายเอเจนต์ที่ใหญ่ที่สุด แต่เป็นการเลือก เวิร์กโฟลว์ที่ง่ายที่สุดที่สร้างผลลัพธ์ที่น่าเชื่อถือ
สร้างจุดอนุมัติโดยมนุษย์
กำหนดให้มีการอนุมัติอย่างชัดเจนก่อนที่เอเจนต์จะสามารถทำสิ่งต่อไปนี้:
- เปลี่ยนการตรวจสอบสิทธิ์
- ปรับเปลี่ยนสกีมาข้อมูล
- เพิ่ม dependency
- เข้าถึงระบบ production
- เปลี่ยนการตั้งค่าการปรับใช้
- ลบไฟล์
- ผสาน pull request
สิ่งนี้สอนนักเรียนว่าความเป็นอิสระต้องถูกจำกัดด้วยสิทธิ์และการตรวจสอบ
ให้คะแนนข้อผิดพลาดอย่างตั้งใจ
เอเจนต์ให้การศึกษาได้ดีที่สุดเมื่อพวกเขาล้มเหลวในลักษณะที่ให้ข้อมูล ผู้สอนควรรวมสิ่งต่อไปนี้:
- ข้อกำหนดที่คลุมเครือ
- ข้อจำกัดที่ขัดแย้งกัน
- การทดสอบที่ไม่สมบูรณ์
- การดำเนินการที่อ่อนไหวต่อความปลอดภัย
- เอกสารที่ทำให้เข้าใจผิด
- การทดสอบที่ไม่เสถียร (flaky tests)
- ข้อจำกัดด้านประสิทธิภาพ
- การเปลี่ยนแปลงที่ดูเหมือนถูกต้องแต่ทำลายคุณสมบัติอื่น
งานของนักเรียนคือการวินิจฉัยความล้มเหลวและปรับปรุงกระบวนการ
กรอบความสามารถสำหรับปี 2026 ถึง 2031
กรอบต่อไปนี้ได้รับการออกแบบมาเพื่อให้ยังคงเป็นประโยชน์แม้ว่าเครื่องมือเฉพาะจะเปลี่ยนแปลงไปก็ตาม
สาขาที่หนึ่ง: พื้นฐานทางเทคนิคและความรู้ความเข้าใจด้านโค้ด
นักพัฒนาที่มีความสามารถสามารถ:
- อ่านโค้ดที่ไม่คุ้นเคย
- อธิบายการไหลของการควบคุม (control flow) และการไหลของข้อมูล (data flow)
- เข้าใจอินเทอร์เฟซและ dependency
- วิเคราะห์ความซับซ้อนของอัลกอริทึม
- ใช้ version control
- ดีบั๊กโดยไม่ต้องพึ่งพาเอเจนต์ทั้งหมด
หลักฐาน: การอธิบายโค้ด, งานดีบั๊กด้วยตนเอง, การวิจารณ์การออกแบบ, และการฝึกถ่ายทอดความรู้รายบุคคล
สาขาที่สอง: การกำหนดปัญหาและการแยกย่อย
นักพัฒนาที่มีความสามารถสามารถ:
- ชี้แจงเป้าหมายของผู้ใช้
- ระบุข้อจำกัดและข้อสันนิษฐาน
- แยกข้อกำหนดที่จำเป็นออกจากข้อกำหนดเสริม
- แยกย่อยงานออกเป็นงานย่อยที่สามารถทดสอบได้อย่างอิสระ
- กำหนดเกณฑ์การยอมรับ
- รับรู้เมื่อภารกิจกว้างเกินไปสำหรับการมอบหมายงานที่เชื่อถือได้
หลักฐาน: ข้อกำหนด, task graph, ทะเบียนความเสี่ยง, และคำอธิบายการเลือกการแยกย่อย
สาขาที่สาม: การสั่งงานเอเจนต์และการออกแบบบริบท
นักพัฒนาที่มีความสามารถสามารถ:
- ให้บริบทของ repository ที่เกี่ยวข้อง
- ให้คำแนะนำที่แม่นยำ
- กำหนดขอบเขตและสิทธิ์
- เลือกเวลาที่จะใช้เอเจนต์และเวลาที่จะไม่ใช้
- เปรียบเทียบแผนทางเลือก
- กู้คืนเมื่อเอเจนต์ตีความผิดพลาด
หลักฐาน: จุดตรวจสอบแผน, บันทึกการโต้ตอบที่เป็นตัวแทน, และงานแก้ไขสด
สาขาที่สี่: การตรวจสอบและการทบทวน
นักพัฒนาที่มีความสามารถสามารถ:
- ตรวจสอบโค้ดที่สร้างขึ้น
- ออกแบบการทดสอบที่มีความหมาย
- ระบุข้อสันนิษฐานที่ซ่อนอยู่
- ตรวจสอบความเสี่ยงด้านความปลอดภัยและความเป็นส่วนตัว
- ประเมินความสามารถในการบำรุงรักษา
- อธิบายว่าการทดสอบไม่ได้พิสูจน์อะไร
หลักฐาน: การตรวจสอบโค้ด, การทดสอบแบบ adversarial, แบบฝึกหัดการค้นหาข้อบกพร่อง, และการนำเสนอด้วยวาจา
สาขาที่ห้า: การจัดระบบและการปฏิบัติงาน
นักพัฒนาที่มีความสามารถสามารถ:
- ประสานงานเครื่องมือการวางแผน, การนำไปใช้, การทดสอบ, และการตรวจสอบ
- ใช้จุดตรวจสอบและจุดอนุมัติโดยมนุษย์
- ติดตามต้นทุน, เวลา, และพฤติกรรมของเครื่องมือ
- รักษากระบวนการทำงานที่ทำซ้ำได้
- สังเกตความล้มเหลวและปรับปรุงระบบ
- ตัดสินใจว่าเอเจนต์หลายตัวเพิ่มคุณค่าหรือไม่
หลักฐาน: เวิร์กโฟลว์การจัดระบบที่ทำงานได้, บันทึก, รายงานการประเมิน, และการวิเคราะห์ต้นทุนหรือประสิทธิภาพ
สาขาที่หก: การออกแบบผลิตภัณฑ์และระบบ
นักพัฒนาที่มีความสามารถสามารถ:
- เลือกระดับอัตโนมัติที่เหมาะสม
- ออกแบบระบบ modular
- รักษาสมดุลระหว่างความเร็ว, คุณภาพ, ต้นทุน, และความเสี่ยง
- เชื่อมโยงการตัดสินใจทางเทคนิคกับผลลัพธ์ของผู้ใช้
- รับรู้เมื่อโซลูชันง่ายๆ ที่ไม่ใช่เอเจนต์ดีกว่า
หลักฐาน: เอกสารสรุปผลิตภัณฑ์, บันทึกการตัดสินใจทางสถาปัตยกรรม, ต้นแบบ, และการสาธิตที่เน้นผู้ใช้เป็นศูนย์กลาง
สาขาที่เจ็ด: การปฏิบัติงานอย่างมืออาชีพด้วยความรับผิดชอบ
นักพัฒนาที่มีความสามารถสามารถ:
- เปิดเผยความช่วยเหลือจาก AI
- ปกป้องข้อมูลส่วนตัวและข้อมูลที่เป็นกรรมสิทธิ์
- เคารพลิขสิทธิ์และข้อผูกมัดด้านใบอนุญาต
- ระบุอคติและความเสี่ยงด้านความน่าเชื่อถือ
- สื่อสารความไม่แน่นอน
- ยอมรับความรับผิดชอบสำหรับระบบสุดท้าย
หลักฐาน: คำแถลงการเปิดเผยข้อมูล, การประเมินความเสี่ยง, การตรวจสอบความเป็นส่วนตัว, และการนำเสนออย่างมืออาชีพ
ระดับความเชี่ยวชาญที่แนะนำ
| ระดับ | คำอธิบาย |
|---|---|
| ผู้เรียนที่ได้รับความช่วยเหลือ | ใช้เอเจนต์สำหรับการอธิบายและงานเล็กๆ น้อยๆ พร้อมแสดงความเข้าใจพื้นฐานด้านโค้ด |
| ผู้สร้างภายใต้การกำกับดูแล | แยกย่อยงาน, สั่งงานเอเจนต์, รันการทดสอบ, และอธิบายผลลัพธ์ |
| ผู้จัดการอิสระ | ออกแบบเวิร์กโฟลว์ที่เชื่อถือได้ซึ่งเกี่ยวข้องกับการวางแผน, การนำไปใช้, การทดสอบ, การตรวจสอบ, และการอนุมัติโดยมนุษย์ |
| ผู้ดูแลระบบ | กำหนดการใช้เอเจนต์ทั่วทั้งทีม, ประเมินความเสี่ยง, ปรับปรุงกระบวนการ, และตัดสินใจแลกเปลี่ยนในระดับผลิตภัณฑ์ |
ภายในปี 2031 ใบรับรองวิชาชีพควรแสดงให้เห็นถึงความก้าวหน้าผ่านระดับเหล่านี้ แทนที่จะยืนยันเพียงความคุ้นเคยกับเครื่องมือซอฟต์แวร์เฉพาะ
ข้อเสนอแนะสำหรับผู้มีส่วนได้ส่วนเสียต่างๆ
มหาวิทยาลัย
- เพิ่มโมดูลวิศวกรรมซอฟต์แวร์ที่ตระหนักถึงเอเจนต์ลงในหลักสูตรที่มีอยู่
- รักษาการเขียนโปรแกรมพื้นฐานและอัลกอริทึมไว้
- แทนที่งานสร้างโค้ดบางส่วนด้วยงานตรวจสอบและงานถ่ายทอดความรู้
- กำหนดให้นักเรียนต้องอธิบายและปกป้องงานสำคัญ
- ฝึกอบรมคณาจารย์ในด้านเครื่องมือเอเจนต์, การออกแบบการประเมิน, ความเป็นส่วนตัว, และนโยบายความซื่อสัตย์
- สร้าง repository ที่ใช้ร่วมกันและสภาพแวดล้อมแบบ sandbox
Bootcamps
- สอนการพัฒนาแบบดั้งเดิมและการพัฒนาโดยใช้เอเจนต์ไปพร้อมกัน
- ทำให้การทดสอบ, สถาปัตยกรรม, และความปลอดภัยเป็นส่วนสำคัญของหลักสูตร
- กำหนดให้มีโครงการ portfolio พร้อมบันทึกกระบวนการ
- เพิ่มการสาธิตทางเทคนิคสด
- สอนการค้นหาผลิตภัณฑ์และการเขียนข้อกำหนด
- หลีกเลี่ยงการสัญญาว่าการใช้ prompt เพียงอย่างเดียวจะสร้างวิศวกรที่พร้อมทำงานได้
ผู้ให้บริการการรับรอง
- เพิ่มการใช้การประเมินแบบห้องปฏิบัติการ
- รวมการตรวจสอบโค้ด, การทดสอบ, การดีบั๊ก, และการวิเคราะห์ภัยคุกคาม
- ใช้ repository ที่เหมือนจริงแทนคำถามแบบปรนัยแยกส่วน
- ทดสอบการตัดสินใจที่ไม่ขึ้นกับเครื่องมือ
- เพิ่มคำอธิบายด้วยวาจาสั้นๆ หรือการสาธิตที่บันทึกไว้
- ปรับปรุงเนื้อหาบ่อยครั้งโดยไม่ทำให้ใบรับรองขึ้นอยู่กับอินเทอร์เฟซของผู้ขายรายเดียว
ผู้สอน
- ระบุอย่างชัดเจนว่าอะไรได้รับอนุญาตสำหรับการประเมินแต่ละครั้ง
- ออกแบบงานตามผลลัพธ์การเรียนรู้ที่ตั้งใจไว้
- จัดหาเครื่องมือที่ได้รับอนุมัติหรือทางเลือกที่เทียบเท่าให้นักเรียน
- ประเมินกระบวนการ, เหตุผล, และการตรวจสอบ
- ใช้บันทึกเป็นหลักฐาน ไม่ใช่เป็นเพียงหลักฐานเดียว
- หลีกเลี่ยงการพึ่งพาซอฟต์แวร์ตรวจจับ AI เป็นกลไกหลักในการรักษาความซื่อสัตย์
ผู้เรียนและผู้สร้างผลิตภัณฑ์
- เรียนรู้การเขียนโปรแกรมแบบทั่วไปให้เพียงพอที่จะอ่านและท้าทายโค้ดที่สร้างขึ้น
- เริ่มต้นด้วยผลิตภัณฑ์ขนาดเล็กแทนที่จะเป็นแอปพลิเคชันขนาดใหญ่ที่คลุมเครือ
- เขียนข้อกำหนดก่อนเปิดเอเจนต์
- มอบหมายงานทีละประเด็น
- ตรวจสอบทุกการเปลี่ยนแปลงและทดสอบทุกข้อสันนิษฐาน
- เก็บบันทึกการตัดสินใจที่สำคัญ
- ปฏิบัติต่อเอเจนต์เหมือนผู้ร่วมงานรุ่นเยาว์ที่รวดเร็ว ไม่ใช่ผู้เชี่ยวชาญที่ไม่มีข้อโต้แย้ง
ขั้นตอนต่อไปอันดับแรก
สำหรับผู้ที่เริ่มต้นการเดินทางสร้างผลิตภัณฑ์ ขั้นตอนแรกที่เป็นประโยชน์ที่สุดคือ:
เลือกปัญหาผู้ใช้ขนาดเล็กหนึ่งปัญหาและเขียนข้อกำหนดหนึ่งหน้าก่อนที่จะขอให้เอเจนต์เขียนโค้ด
รวมถึงสิ่งต่อไปนี้:
- ผู้ใช้คือใคร
- พวกเขามีปัญหาอะไร
- เวอร์ชันแรกต้องทำอะไร
- ต้องไม่ทำอะไร
- การทดสอบการยอมรับสามข้อ
- ข้อกังวลด้านความปลอดภัยหรือความเป็นส่วนตัวที่สำคัญหนึ่งข้อ
- งานนำไปใช้ขนาดเล็กสามข้อ
จากนั้นขอให้เอเจนต์ ตรวจสอบข้อกำหนดและระบุข้อกำหนดที่ขาดหายไป ไม่ใช่ให้สร้างผลิตภัณฑ์ทั้งหมด
หลังจากแก้ไขข้อกำหนดแล้ว ให้มอบหมายงานแรกเท่านั้น ตรวจสอบแผนที่เสนอ, ตรวจสอบการเปลี่ยนแปลง, รันการทดสอบ, และจดบันทึกว่าเอเจนต์ทำอะไรผิดพลาดไปบ้าง
แบบฝึกหัดเดียวนี้สอนบทเรียนที่สำคัญที่สุดของยุคเอเจนต์: คุณภาพของผลลัพธ์ไม่ได้ขึ้นอยู่กับปริมาณโค้ดที่เอเจนต์สามารถสร้างได้มากเท่ากับความชัดเจนที่มนุษย์ใช้ในการกำหนด, กำกับดูแล, และประเมินงาน
บทสรุป
การศึกษาสำหรับนักพัฒนากำลังก้าวไปสู่จุดสมดุลใหม่
นักเรียนยังคงต้องเขียนโค้ด โดยเฉพาะอย่างยิ่งในขณะที่เรียนรู้แนวคิดพื้นฐาน แต่ความสามารถระดับมืออาชีพจะถูกแสดงให้เห็นมากขึ้นผ่าน การแยกย่อยปัญหา, การกำหนดข้อกำหนด, ความเข้าใจโค้ด, การตรวจสอบ, การทดสอบ, การจัดการ, การตัดสินใจด้านผลิตภัณฑ์, และการใช้งานระบบอัตโนมัติอย่างรับผิดชอบ
หลักสูตรที่แข็งแกร่งที่สุดจะไม่ปฏิบัติต่อเอเจนต์เขียนโค้ดเหมือนเครื่องมือโกงหรือครูสอนวิเศษ พวกเขาจะปฏิบัติต่อมันเหมือนเครื่องมือทางวิศวกรรมที่ทรงพลังแต่ก็ผิดพลาดได้ นักเรียนจะได้เรียนรู้เมื่อใดควรใช้, วิธีจำกัด, วิธีประเมินผลลัพธ์, และวิธีรับผิดชอบต่อระบบสุดท้าย
นักพัฒนาที่ทนทานที่สุดในอีกห้าปีข้างหน้าจะไม่ใช่คนที่สามารถสร้างโค้ดด้วยมือได้มากที่สุด หรือสร้าง prompt ที่ยาวที่สุด แต่จะเป็นคนที่สามารถเปลี่ยนเป้าหมายที่ไม่ชัดเจนให้เป็นกระบวนการที่เชื่อถือได้, ชี้นำเครื่องมือหลายอย่างไปสู่เป้าหมายนั้น, ตรวจจับความล้มเหลวตั้งแต่เนิ่นๆ, และอธิบายได้ว่าเหตุใดซอฟต์แวร์ที่ได้จึงสมควรได้รับความไว้วางใจ
Auto