ต้นขั้ว ChatDev : ตัวแทนการสื่อสารเพื่อการพัฒนาซอฟต์แวร์ - Unite.AI
เชื่อมต่อกับเรา

ปัญญาประดิษฐ์

ChatDev : ตัวแทนการสื่อสารเพื่อการพัฒนาซอฟต์แวร์

mm
วันที่อัพเดท on
ChatDev : การพัฒนาซอฟต์แวร์เสริมด้วย AI

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

วันนี้ เราจะมาพูดถึง ChatDev ซึ่งเป็นแนวทางเชิงนวัตกรรมที่ใช้ Large Language Model (LLM) ซึ่งมีจุดมุ่งหมายเพื่อปฏิวัติขอบเขตการพัฒนาซอฟต์แวร์ กระบวนทัศน์นี้พยายามที่จะขจัดความจำเป็นในการใช้แบบจำลองพิเศษในแต่ละขั้นตอนของกระบวนการพัฒนา เฟรมเวิร์ก ChatDev ใช้ประโยชน์จากความสามารถของเฟรมเวิร์ก LLM โดยใช้การสื่อสารด้วยภาษาธรรมชาติเพื่อรวมและปรับปรุงกระบวนการพัฒนาซอฟต์แวร์ที่สำคัญ

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

  1. การออกแบบ 
  2. การเข้ารหัส 
  3. การทดสอบ 
  4. เอกสาร 

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

ChatDev : การพัฒนาซอฟต์แวร์เสริมด้วย AI

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

ChatDev: ข้อมูลเบื้องต้นเกี่ยวกับการพัฒนาซอฟต์แวร์ที่ขับเคลื่อนโดย LLM

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

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

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

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

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

  1. การออกแบบ 
  2. การเข้ารหัส 
  3. การทดสอบ 
  4. เอกสาร 

แต่ละขั้นตอนเหล่านี้ใช้ทีมตัวแทนเสมือน เช่น โปรแกรมเมอร์โค้ดหรือผู้ทดสอบที่ทำงานร่วมกันโดยใช้บทสนทนาที่ส่งผลให้เวิร์กโฟลว์ราบรื่น นอกจากนี้ ChatDev ยังใช้ห่วงโซ่การแชทที่ทำงานเป็นผู้อำนวยความสะดวก และแบ่งแต่ละขั้นตอนของกระบวนการพัฒนาออกเป็นงานย่อยแบบอะตอมมิก ซึ่งทำให้เกิดบทบาทคู่ ทำให้สามารถเสนอข้อเสนอและตรวจสอบความถูกต้องของโซลูชันได้โดยใช้การสื่อสารแบบ Context-Aware ซึ่งช่วยให้นักพัฒนาสามารถดำเนินการได้อย่างมีประสิทธิภาพ แก้ไขงานย่อยที่ระบุ สายการแชทประกอบด้วยหลายโหนดโดยแต่ละโหนดแสดงถึงงานย่อยเฉพาะ และบทบาททั้งสองนี้มีส่วนร่วมในการอภิปรายแบบหลายรอบโดยคำนึงถึงบริบท เพื่อไม่เพียงแต่เสนอเท่านั้น แต่ยังตรวจสอบความถูกต้องของโซลูชันด้วย 

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

ChatDev : สถาปัตยกรรมและการทำงาน

ตอนนี้เรามีข้อมูลเบื้องต้นเกี่ยวกับ ChatDev สั้นๆ แล้ว เรามาดูสถาปัตยกรรมและการทำงานของเฟรมเวิร์ก ChatDev ที่เริ่มต้นด้วย Chat Chain กันดีกว่า 

แชทเชน

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

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

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

การออกแบบ

ในขั้นตอนการออกแบบ กรอบงาน ChatDev จำเป็นต้องมีแนวคิดเริ่มต้นเป็นข้อมูลจากไคลเอนต์ที่เป็นมนุษย์ และมีบทบาทที่กำหนดไว้ล่วงหน้าสามบทบาทในขั้นตอนนี้ 

  1. CEO หรือประธานเจ้าหน้าที่บริหาร 
  2. CPO หรือประธานเจ้าหน้าที่ฝ่ายผลิตภัณฑ์ 
  3. CTO หรือประธานเจ้าหน้าที่ฝ่ายเทคนิค 

ห่วงโซ่การแชทเข้ามามีบทบาทในการแบ่งขั้นตอนการออกแบบออกเป็นงานสนทนาย่อยตามลำดับ ซึ่งรวมถึงภาษาการเขียนโปรแกรม (CTO และ CEO) และรูปแบบซอฟต์แวร์เป้าหมาย (CPO และ CEO) ขั้นตอนการออกแบบเกี่ยวข้องกับกลไกสำคัญ XNUMX ประการ ได้แก่ การกำหนดบทบาทหรือความเชี่ยวชาญเฉพาะด้าน สตรีมหน่วยความจำ และการสะท้อนกลับตนเอง 

การกำหนดบทบาท

เจ้าหน้าที่แต่ละคนในกรอบงาน Chat Dev จะได้รับมอบหมายบทบาทโดยใช้ข้อความพิเศษหรือข้อความแจ้งพิเศษในระหว่างกระบวนการแสดงบทบาท แตกต่างจากโมเดลภาษาการสนทนาอื่นๆ ตรงที่เฟรมเวิร์ก ChatDev จำกัดตัวเองเพียงเพื่อเริ่มสถานการณ์สมมติระหว่างเจ้าหน้าที่เท่านั้น ข้อความแจ้งเหล่านี้ใช้เพื่อกำหนดบทบาทให้กับเจ้าหน้าที่ก่อนการสนทนา 

ในขั้นต้น ผู้สอนจะรับหน้าที่รับผิดชอบของ CEO และมีส่วนร่วมในการวางแผนเชิงโต้ตอบ ในขณะที่ความรับผิดชอบของ CPO จะได้รับการจัดการโดยตัวแทนที่ดำเนินงาน และจัดเตรียมคำตอบที่จำเป็น กรอบใช้ “การเริ่มต้นกระตุ้น” สำหรับความเชี่ยวชาญตามบทบาทที่ช่วยให้ตัวแทนสามารถปฏิบัติตามบทบาทของตนได้อย่างมีประสิทธิภาพ การแจ้งเตือนของผู้ช่วยและผู้สอนประกอบด้วยรายละเอียดที่สำคัญเกี่ยวกับบทบาทและงานที่กำหนด เกณฑ์การยุติ โปรโตคอลการสื่อสาร และข้อจำกัดหลายประการที่มีจุดมุ่งหมายเพื่อป้องกันพฤติกรรมที่ไม่พึงประสงค์ เช่น การวนซ้ำไม่สิ้นสุด การตอบสนองที่ไม่ให้ข้อมูล และความซ้ำซ้อนของคำสั่ง 

สตรีมหน่วยความจำ

สตรีมหน่วยความจำเป็นกลไกที่ใช้โดยกรอบงาน ChatDev ที่จะเก็บรักษาบันทึกการสนทนาที่ครอบคลุมของบทสนทนาก่อนหน้าของตัวแทน และช่วยในกระบวนการตัดสินใจที่ตามมาในลักษณะที่รับรู้คำพูด กรอบงาน ChatDev ใช้พร้อมต์เพื่อสร้างโปรโตคอลการสื่อสารที่จำเป็น ตัวอย่างเช่น เมื่อทุกฝ่ายที่เกี่ยวข้องบรรลุฉันทามติ ข้อความปิดท้ายที่ตรงตามข้อกำหนดการจัดรูปแบบเฉพาะ เช่น ( : แอปพลิเคชันเดสก์ท็อป”) เพื่อให้มั่นใจว่าสอดคล้องกับรูปแบบที่กำหนด กรอบงานจะติดตามอย่างต่อเนื่อง และสุดท้ายก็อนุญาตให้บทสนทนาปัจจุบันได้ข้อสรุป 

สะท้อนตัวเอง

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

ด้วยความช่วยเหลือของกลไกช่วยเหลือตนเอง ผู้ช่วย ChatDev ได้รับการส่งเสริมให้ไตร่ตรองและวิเคราะห์การตัดสินใจที่ได้เสนอไว้ 

การเข้ารหัส

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

การจัดการรหัส

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

คำแนะนำทางความคิด

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

การทดสอบ

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

เอกสาร

หลังจากที่กรอบงาน ChatDev เสร็จสิ้นด้วยขั้นตอนการออกแบบ การเขียนโค้ด และการทดสอบแล้ว ก็จะมีการจ้างตัวแทนสี่ราย ได้แก่ CEO, CTO, CPO และโปรแกรมเมอร์เพื่อสร้างเอกสารประกอบสำหรับโครงการซอฟต์แวร์ กรอบงาน ChatDev ใช้ LLM เพื่อใช้ประโยชน์จากการแจ้งเตือนแบบไม่กี่ช็อตพร้อมตัวอย่างในบริบทเพื่อสร้างเอกสาร CTO แนะนำให้โปรแกรมเมอร์ให้คำแนะนำในการกำหนดค่าการพึ่งพาด้านสิ่งแวดล้อม และสร้างเอกสาร เช่น “dependency problems.txt” ในขณะเดียวกัน CEO จะสื่อสารข้อกำหนดและการออกแบบระบบไปยัง CPO เพื่อสร้างคู่มือผู้ใช้สำหรับผลิตภัณฑ์ 

ผลสอบ

สถิติซอฟต์แวร์

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

การวิเคราะห์ระยะเวลา

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

กรณีศึกษา

รูปต่อไปนี้สาธิต ChatDev ที่กำลังพัฒนาเกม Five in a Row หรือ Gomoku 

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

ข้อคิด

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

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