ChatGPT กับ Codex: อัปเกรดเพื่อการเขียนโค้ด

OpenAI ได้เปิดตัว Codex AI agent ซึ่งเป็นนวัตกรรมล่าสุดที่นำเสนอแนวทางการเขียนโค้ดแบบใหม่ โดยใช้สภาพแวดล้อม "vibe-coding" ที่ขับเคลื่อนด้วยอินเทอร์เฟซที่คล้ายกับ ChatGPT แม้ว่าแนวคิดนี้อาจดูเหมือนเป็นลูกเล่นในตอนแรก แต่ความสามารถของ Codex agent นั้นน่าประทับใจอย่างมาก

OpenAI ระบุว่า Codex เป็นการแสดงตัวอย่างงานวิจัย ซึ่งบ่งชี้ว่ายังอยู่ระหว่างการพัฒนาอย่างต่อเนื่อง ปัจจุบัน สามารถเข้าถึงได้สำหรับผู้ใช้ ChatGPT Pro, Enterprise และ Team-tier โดยมีแผนที่จะขยายการใช้งานไปยังผู้ใช้ Plus และ Edu ในอนาคตอันใกล้นี้

ตามประกาศของ OpenAI ชื่อ Codex มีความเกี่ยวข้องกับเครื่องมือเขียนโค้ดที่พัฒนามาตั้งแต่ปี 2021 ในการสนทนานี้ "Codex" หมายถึงเวอร์ชันที่ประกาศใหม่

Codex อยู่บนเซิร์ฟเวอร์ของ OpenAI และผสานรวมกับ GitHub repositories การสาธิตแสดงให้เห็นว่า Codex ทำงานเป็นโปรแกรมเมอร์เพิ่มเติมภายในทีม

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

Codex สามารถวิเคราะห์และแก้ไขโค้ด ระบุปัญหาเฉพาะ เจาะจงจุดที่ต้องปรับปรุง และทำงานเขียนโค้ดและบำรุงรักษาอื่นๆ แต่ละงานจะเริ่มต้นสภาพแวดล้อมเสมือนใหม่ ทำให้ AI สามารถจัดการทุกอย่างตั้งแต่แนวคิดและการออกแบบไปจนถึงการทดสอบหน่วย

การเปลี่ยนแปลงกระบวนทัศน์ในการเขียนโค้ด

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

เทคโนโลยีได้ก้าวหน้าไปถึงจุดที่ AI สามารถเขียนหรือแก้ไขข้อบกพร่องของส่วนเล็กๆ ของโค้ดได้ นี่คือแง่มุมที่ฉันสนใจเป็นพิเศษเกี่ยวกับการทดสอบการเขียนโปรแกรมของ ZDNET

อีกบทบาทหนึ่งของ AI คือการวิเคราะห์ระบบโดยรวม เมื่อเร็วๆ นี้ ฉันได้สำรวจเครื่องมือ Deep Research ใหม่ที่สามารถแยกโครงสร้างโค้ดทั้งหมดและให้การตรวจสอบโค้ดและคำแนะนำได้

Codex มาถึงจุดที่งานเขียนโปรแกรมทั้งหมดสามารถมอบหมายให้ AI ในระบบคลาวด์ได้ คล้ายกับการมอบหมายงานให้กับโปรแกรมเมอร์คนอื่นๆ ในทีม หรือโปรแกรมเมอร์รุ่นเยาว์ที่เรียนรู้การบำรุงรักษาโค้ด

OpenAI อธิบายสิ่งนี้ว่าเป็น "การพัฒนาซอฟต์แวร์แบบ Agent-native ที่ AI ไม่เพียงแต่ช่วยเหลือคุณในขณะที่คุณทำงาน แต่ยังรับงานอย่างอิสระ"

วิดีโอเปิดตัวแสดงให้เห็นถึงความสามารถของ Codex ในการจัดการหลายงานพร้อมกัน โดยแต่ละงานทำงานในสภาพแวดล้อมเสมือนที่แยกจากกัน

โปรแกรมเมอร์มอบหมายงานให้กับ agent ซึ่งจะดำเนินการทำงานโดยอิสระ เมื่อเสร็จสิ้น agent จะให้ผลการทดสอบและแนะนำการเปลี่ยนแปลงโค้ด

การสาธิตนี้แสดงให้เห็น Codex ทำการแก้ไขข้อผิดพลาด การสแกนหาข้อผิดพลาดในการพิมพ์ การเสนอคำแนะนำงาน และการปรับโครงสร้างโครงการทั้งหมดใหม่ (การแก้ไขโค้ดเพื่อปรับปรุงโครงสร้างโดยไม่เปลี่ยนพฤติกรรม)

นักพัฒนาและนักออกแบบอาวุโสคุ้นเคยกับการกำหนดข้อกำหนดและตรวจสอบงานของผู้อื่น การใช้ Codex จะไม่ทำให้เกิดการเปลี่ยนแปลงที่สำคัญสำหรับพวกเขา อย่างไรก็ตาม นักพัฒนาที่ขาดทักษะในการกำหนดข้อกำหนดและการตรวจสอบที่แข็งแกร่งอาจพบว่าการจัดการ Codex เป็นเรื่องท้าทายเล็กน้อย

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

ข้อผิดพลาดที่อาจเกิดขึ้นและกลยุทธ์การลดความเสี่ยง

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

เพื่อแก้ไขปัญหานี้ OpenAI ได้ฝึกอบรม Codex ให้ปฏิบัติตามคำแนะนำที่ระบุไว้ในไฟล์ AGENTS.md ไฟล์นี้ซึ่งอยู่ใน repository ช่วยให้โปรแกรมเมอร์และทีมสามารถแนะนำพฤติกรรมของ Codex ได้ ซึ่งสามารถรวมคำแนะนำเกี่ยวกับแบบแผนการตั้งชื่อ กฎการจัดรูปแบบ และแนวทางที่สอดคล้องกันอื่นๆ ที่ต้องการตลอดกระบวนการเขียนโค้ด โดยพื้นฐานแล้วมันขยายการตั้งค่าส่วนบุคคลของ ChatGPT ไปสู่สภาพแวดล้อมทีมที่เน้น repository เป็นศูนย์กลาง

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

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

ต้นแบบการวิจัยที่มีศักยภาพ

การสาธิตนั้นน่าประทับใจ แต่นักพัฒนาเน้นย้ำว่าสิ่งที่พวกเขากำลังแสดงและเผยแพร่นั้นเป็นต้นแบบการวิจัย แม้ว่าจะมีสิ่งที่พวกเขาเรียกว่า "ช่วงเวลาที่มหัศจรรย์" แต่ก็ยังต้องมีการพัฒนาอีกมาก

ฉันพยายามทำความเข้าใจความหมายเฉพาะของเทคโนโลยีนี้สำหรับอนาคตของการพัฒนาและกระบวนการพัฒนาของฉันเอง ผลิตภัณฑ์หลักของฉันคือ WordPress plugin แบบโอเพนซอร์ส พร้อมด้วย add-on plugins ที่เป็นกรรมสิทธิ์ Codex สามารถวิเคราะห์ public repository สำหรับ core plugin แบบโอเพนซอร์สได้

อย่างไรก็ตาม Codex สามารถจัดการความสัมพันธ์ระหว่าง public repository และ private repositories หลายรายการซึ่งเป็นส่วนหนึ่งของโครงการโดยรวมได้หรือไม่ และมันจะทำงานอย่างไรเมื่อการทดสอบไม่เพียงแต่เกี่ยวข้องกับโค้ดของฉันเท่านั้น แต่ยังรวมถึงการเปิดใช้งานระบบนิเวศเพิ่มเติมทั้งหมด (WordPress) เพื่อประเมินประสิทธิภาพด้วย

ในฐานะโปรแกรมเมอร์เดี่ยว ฉันตระหนักถึงประโยชน์ที่เป็นไปได้ของเครื่องมืออย่าง Codex แม้แต่การสมัครสมาชิก Pro เดือนละ $200 ก็อาจคุ้มค่า การจ้างโปรแกรมเมอร์ที่เป็นมนุษย์จะมีค่าใช้จ่ายมากกว่ามาก สมมติว่าฉันสามารถได้รับมูลค่าที่จับต้องได้และสร้างรายได้จากมันได้

ในฐานะผู้จัดการทีมและผู้สื่อสารที่มีประสบการณ์ ฉันรู้สึกสบายใจที่จะมอบหมายงานให้กับสิ่งต่างๆ เช่น Codex มันไม่แตกต่างจากการสื่อสารกับสมาชิกในทีมผ่าน Slack อย่างมีนัยสำคัญ

ข้อเท็จจริงที่ว่า Codex ให้คำแนะนำ สร้าง versions ร่าง และรอการอนุมัติจากฉันให้ความรู้สึกปลอดภัยเมื่อเทียบกับการอนุญาตให้ดำเนินการอย่างอิสระภายในโค้ดของฉัน สิ่งนี้เปิดโอกาสที่น่าสนใจสำหรับวงจรชีวิตการพัฒนาใหม่ ที่ซึ่งมนุษย์กำหนดเป้าหมาย AI สร้าง implementations ที่เป็นไปได้ และจากนั้นมนุษย์ก็อนุมัติหรือเปลี่ยนเส้นทาง AI สำหรับการทำซ้ำอีกครั้ง

คำถามที่ยังไม่มีคำตอบและผลกระทบในอนาคต

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

เป็นที่น่าสังเกตว่าการเขียนโค้ดด้วย AI กำลังพัฒนาไปในหลายบริษัทในอัตราที่คล้ายคลึงกัน ในเร็วๆ นี้ ฉันจะเผยแพร่บทความอื่นเกี่ยวกับ GitHub Copilot’s Coding Agent ซึ่งมีฟังก์ชันบางอย่างร่วมกับ Codex

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

"Into the Unknown" ของอุตสาหกรรมซอฟต์แวร์

มีเพลงใน Disney’s Frozen II ชื่อ "Into the Unknown" ร้องโดย Idina Menzel เพลงนี้สะท้อนถึงความขัดแย้งภายในตัวละครหลักระหว่างการรักษาสถานะที่เป็นอยู่กับการผจญภัย "into the unknown"

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

เวลาจะเผยให้เห็นคำตอบ และหวังว่าการเปิดเผยนี้จะไม่เกิดขึ้นเมื่อเราหมดเวลา

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