10 คะแนน โดย GN⁺ 2024-04-04 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • SWE-agent แปลงโมเดลภาษา (LMs) อย่าง GPT-4 ให้เป็นเอเจนต์วิศวกรรมซอฟต์แวร์เพื่อแก้บั๊กและ issue ใน GitHub repository จริง
  • แก้ issue ได้ 12.29% บนชุดทดสอบ SWE-bench ทั้งหมด ทำสถิติประสิทธิภาพสูงสุดบนชุดทดสอบทั้งหมด

อินเทอร์เฟซเอเจนต์-คอมพิวเตอร์ (ACI)

  • ผลลัพธ์นี้เกิดขึ้นจากการออกแบบรูปแบบคำสั่งและฟีดแบ็กที่ยึด LM เป็นศูนย์กลาง เพื่อให้เอเจนต์สามารถสำรวจ repository ดู แก้ไข และรันไฟล์โค้ดได้ง่าย
  • เรียกสิ่งนี้ว่าอินเทอร์เฟซเอเจนต์-คอมพิวเตอร์ (ACI) และได้สร้าง repository ของ SWE-agent เพื่อให้สามารถทำซ้ำการออกแบบ ACI สำหรับเอเจนต์เขียนโค้ดระดับ repository ได้อย่างง่ายดาย
  • แสดงให้เห็นว่าการออกแบบ ACI ที่ดีให้ผลลัพธ์ที่ดีกว่ามากเมื่อใช้งานเอเจนต์

การตั้งค่า

  • ติดตั้ง Docker และเริ่มใช้งาน Docker บนเครื่องโลคัล
  • ติดตั้ง Miniconda และสร้างสภาพแวดล้อม swe-agent ด้วย conda env create -f environment.yml
  • เปิดใช้งานด้วย conda activate swe-agent
  • รัน ./setup.sh เพื่อสร้าง Docker image ของ swe-agent
  • สร้างไฟล์ keys.cfg ที่ root ของ repository นี้ แล้วกรอก API key และ GitHub token ที่จำเป็น

วิธีใช้งาน

  • ไปป์ไลน์ของ SWE-agent มี 2 ขั้นตอน ขั้นแรกคือขั้นตอนอนุมานที่รับ GitHub issue เป็นอินพุตและส่งคืน pull request ที่พยายามแก้ issue นั้น
  • ขั้นตอนที่สองทำได้เฉพาะกับ issue ที่อยู่ในเบนช์มาร์ก SWE-bench เท่านั้น และเป็นขั้นตอนประเมินผลเพื่อตรวจสอบว่า pull request ที่สร้างขึ้นสามารถแก้ issue ได้จริงหรือไม่

การประเมินผล

  • ขั้นตอนนี้ทำได้เฉพาะกับ issue ในชุด SWE-bench เท่านั้น
  • เพื่อประเมิน pull request ที่สร้างขึ้น ให้ย้ายไปยังไดเรกทอรี evaluation/ แล้วรัน ./run_eval.sh

ความเห็นของ GN⁺

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

3 ความคิดเห็น

 
botplaysdice 2024-04-05

ถ้าเอเจนต์แบบนั้นทำงานไปพร้อมกับถามนักพัฒนาแบบนี้ได้ ก็น่าจะดีมากเลยนะครับ

"ผมลองเอาวิธีทำให้เกิดซ้ำที่อธิบายไว้ในบั๊กรายงานมาทำเป็นโค้ดทดสอบสำหรับจำลองปัญหาแล้ว ช่วยดูโค้ดนี้หน่อยได้ไหมว่า สิ่งที่ผมเข้าใจถูกต้องหรือเปล่า?"

"แทนดีไซน์นี้ ถ้ารีแฟกเตอร์แบบนี้แบบนี้ น่าจะลดโค้ดได้ 20,312 บรรทัดทั้งโปรเจกต์เลยนะ do you approve?"

 
fastkoder 2024-04-04

เป็นโอเพนซอร์สที่น่าสนใจนะ

 
GN⁺ 2024-04-04
ความคิดเห็นจาก Hacker News
  • ความคิดเห็นเกี่ยวกับรายงานบั๊ก:

    • เดโมแสดงรายงานบั๊กที่ชัดเจนเกี่ยวกับการดำเนินการเมทริกซ์
    • รายงานบั๊กจริงส่วนใหญ่มักคลุมเครือในลักษณะว่า "คลิก X แล้วเกิด Y"
    • ความยากของการแก้บั๊กอยู่ที่การหาสาเหตุ
    • รู้ว่า LLMs สามารถแก้ข้อบกพร่องง่าย ๆ ได้ แต่ก็ตั้งคำถามว่าสิ่งนี้พิสูจน์อะไร
    • สงสัยว่ามีใครอ่านงานวิจัยอย่างละเอียดหรือยัง และความแตกต่างจากปัญหาเหล่านี้คืออะไร
  • ความคิดเห็นเกี่ยวกับโปรเจกต์:

    • มองว่าเป็นโปรเจกต์ที่เจ๋งมาก
    • เคยลองทำการทดลองคล้ายกันมาก่อน แต่บ่อยครั้งจบลงด้วยความล้มเหลวที่สับสนวุ่นวายและมีค่าใช้จ่ายสูง
    • แม้จะแสดงอัตราความสำเร็จ 12% บน swe-bench แต่ก็มีคำถามว่าแล้วอีก 88% เป็นอย่างไร
    • สงสัยว่า swe-bench ถูกสร้างโดยกลุ่มนั้นเองหรือไม่ และเคยวัดคะแนน "ขีดจำกัดของมนุษย์ที่มีทักษะ" หรือยัง
    • แชร์ประสบการณ์ว่างานใน swe-bench ที่สุ่มเลือกมาบางงานก็ "แก้ได้ยาก" แม้แต่สำหรับมนุษย์ที่มีทักษะ
  • ความคิดเห็นเกี่ยวกับวิธีวิทยาที่ใช้:

    • ดูเหมือนว่าจะใช้วิธีวิทยาแบบ langchain
    • ยกตัวอย่างพรอมป์ต์บางส่วนพร้อมให้ลิงก์ GitHub
  • ความคิดเห็นเกี่ยวกับ AI และ bug tracker:

    • คาดว่าหาก pull request ที่ AI สร้างได้รับความนิยม ก็อาจเป็นจุดจบของ bug tracker แบบสาธารณะ
    • มองว่าปัญหาไม่ใช่บั๊กจะหายไป แต่เป็นว่าต้นทุนในการรีวิว pull request จะกลายเป็นความสูญเสียอย่างมากเมื่อเทียบกับประโยชน์ที่โปรเจกต์ได้รับ
  • ความคิดเห็นเกี่ยวกับเบนช์มาร์ก SWEbench:

    • เบนช์มาร์ก SWEbench มีเฉพาะโปรเจกต์โค้ด Python เท่านั้น จึงไม่ได้เป็นตัวแทนของทุกภาษาโปรแกรมและเฟรมเวิร์ก
    • แนะนำว่ากำลังพัฒนากรอบการประเมินงาน SWE ที่ทั่วไปกว่าสำหรับ JS, SQL, Python เป็นต้น
  • ความคิดเห็นเกี่ยวกับการเปรียบเทียบเดโม:

    • มีความเห็นว่าเดโมคล้ายกับโปรเจกต์ Devin มาก จึงไปตรวจสอบดู
    • ตั้งข้อสงสัยต่อความน่าเชื่อถือของเดโม และอยากฟังการประเมินจากบุคคลที่สาม
  • ความคิดเห็นเกี่ยวกับงานรีวิว:

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

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

    • ชี้ว่าอัตราความสำเร็จมีความหมายต่อผู้วิจัยเท่านั้น และเสนอให้เพิ่มตัวอย่างการทดสอบที่ SWE-agent ผ่านและไม่ผ่านไว้ใน README
  • ความคิดเห็นเกี่ยวกับการมีส่วนร่วมในโปรเจกต์โอเพนซอร์ส:

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