3 คะแนน โดย GN⁺ 2025-01-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Devin คืออะไร

  • ในเดือนมีนาคม 2024 มีบริษัท AI หน้าใหม่ปรากฏขึ้น โดยระดมทุน Series A มูลค่า 21 ล้านดอลลาร์สหรัฐ ด้วยการสนับสนุนจาก Founders Fund, พี่น้อง Collison, Elad Gil และผู้นำในวงการเทคอีกหลายคน
  • ทีมของบริษัทนี้ประกอบด้วยผู้ชนะเหรียญทอง IOI และแนะนำตัวว่ามีความสามารถในการแก้ปัญหาการเขียนโปรแกรมที่ซับซ้อนได้ด้วยตัวเอง
  • พวกเขาอ้างว่าผลิตภัณฑ์ของตนอย่าง Devin สามารถสนทนาเหมือนเพื่อนร่วมงานมนุษย์ และจัดการกระบวนการวิศวกรรมซอฟต์แวร์ได้แบบอัตโนมัติครบวงจร ตั้งแต่เรียนรู้เทคโนโลยีใหม่ ดีบักโค้ดเดิม ดีพลอยแอปพลิเคชันทั้งตัว ไปจนถึงฝึกโมเดล AI
  • ในวิดีโอเดโมที่เผยแพร่ Devin แก้งาน bounty บน Upwork ได้ด้วยตัวเอง และติดตั้งพร้อมรันโปรเจ็กต์ PyTorch ได้[1]
  • บริษัทระบุว่า จากเกณฑ์ SWE-bench นั้น Devin สามารถแก้ GitHub issue จริงได้สมบูรณ์ราว 13.86% และย้ำว่านี่เป็นประสิทธิภาพที่ดีกว่าระบบก่อนหน้าเกือบ 3 เท่า
  • ในช่วงแรกมีเพียงผู้ใช้ที่ถูกคัดเลือกเท่านั้นที่เข้าถึงได้ และความคาดหวังว่าเครื่องมือนี้จะปฏิวัติการพัฒนาซอฟต์แวร์ก็แพร่กระจายผ่าน SNS
  • ทีม Answer.AI มักทดลองเครื่องมือพัฒนา AI อยู่เสมอ และมีลางสังหรณ์ว่า Devin อาจแสดงให้เห็นบางอย่างที่แตกต่างจากเดิม
  • พวกเขาจึงนำ Devin ไปใช้กับสภาพแวดล้อมการทำงานจริงโดยตรง ทดลองหลายงาน และสรุปประสบการณ์การใช้งานออกมา

กรณีความสำเร็จในช่วงแรก

  • งานแรกที่ลองคือการดึงข้อมูลจากฐานข้อมูล Notion ไปยัง Google Sheets
  • Devin สำรวจเอกสารของ Notion และ Google API พร้อมแนะนำขั้นตอนการตั้งค่า credential ที่จำเป็นใน Google Cloud Console อย่างเป็นลำดับ
  • มันไม่ได้แค่โยนวิธีใช้ API มาให้เท่านั้น แต่ยังบอกตำแหน่งเมนูและปุ่มที่ต้องกดจริง ๆ ทำให้ลดเวลางานจุกจิกลงได้มาก
  • โค้ดที่ Devin เขียนค่อนข้างเยิ่นเย้อ แต่ก็ทำงานได้ตามปกติ
  • ประสบการณ์นี้ทำให้เห็นศักยภาพของ AI ที่ช่วยรับช่วงงานประเภท “glue code” แทนได้
  • สมาชิกทีมอีกคนก็สามารถโต้ตอบกับ Devin ผ่านโทรศัพท์มือถือเพียงอย่างเดียว และสร้างแอปพลิเคชันสำหรับติดตามตำแหน่งในอดีตของดาวพฤหัสบดีและดาวเสาร์ได้

การขยายการทดสอบ

  • หลังจากความสำเร็จช่วงแรก ทีมก็ได้รับกำลังใจและเริ่มลองใช้ Devin แบบอะซิงโครนัสมากขึ้น เช่น มอบหมายให้เขียนเอกสาร หรือขอให้ช่วยดีบักระหว่างที่พวกเขากำลังทำงานด้านดีไซน์
  • แต่เมื่อเวลาผ่านไปก็เริ่มเห็นปัญหาว่า Devin มักติดอยู่ในทางตันทางเทคนิคแม้กับงานที่ดูเรียบง่าย หรือสร้างโค้ดซับซ้อนที่ไม่มีประโยชน์ออกมา
  • โดยเฉพาะอย่างยิ่ง มันมักพยายามทำงานที่เป็นไปไม่ได้จริง ๆ ด้วย เช่น การดีพลอยหลายแอปพร้อมกันภายใต้ deployment เดียวบน Railway ทำให้เจอสถานการณ์ที่มัน “หลอน (hallucination)” ความสามารถขึ้นมาบ่อยครั้ง
  • ปัญหาไม่ได้มีแค่การล้มเหลว แต่คือการเสียเวลาไปกับการพยายามใช้วิธีแก้ที่เป็นไปไม่ได้

การสังเกตเชิงลึกต่อปัญหา

  • ทีมเริ่มสงสัยว่าทำไม Devin จึงดูมีความสามารถมากในบางงาน แต่กลับล้มเหลวในอีกหลายงาน
  • หลังใช้งานตลอดหนึ่งเดือน พวกเขาแบ่งงานที่ลองทั้งหมด 20 งานออกเป็น 3 หมวดดังนี้
    • (1) สร้างโปรเจ็กต์ใหม่
    • (2) งานวิจัย/ค้นคว้า
    • (3) วิเคราะห์และแก้ไขโปรเจ็กต์เดิม
  • ผลลัพธ์คือจาก 20 งาน มี 14 งานล้มเหลว, 3 งานสำเร็จ (รวมกรณีสำเร็จช่วงแรก), และ 3 งานยังสรุปไม่ได้ (Inconclusive)
  • ไม่พบแพตเทิร์นชัดเจนที่จะช่วยคาดเดาความสำเร็จหรือความล้มเหลวได้ แม้งานจะดูคล้ายกัน Devin ก็ยังล้มเหลวในรูปแบบที่คาดไม่ถึง
  • กรณีตัวอย่างโดยละเอียดถูกรวบรวมไว้ในภาคผนวกท้ายบทความ

1. สร้างโปรเจ็กต์ใหม่

  • เมื่อดูจากวิดีโอเดโมของบริษัทและตัวอย่างความสำเร็จในช่วงแรก ทีมเคยคาดว่า Devin น่าจะทำงานสร้างโปรเจ็กต์ใหม่ตั้งแต่ต้นจนจบได้ดี
  • แต่ในความเป็นจริง มันมักสร้างโครงสร้างโค้ดที่ซับซ้อนเกินจำเป็น หรือแม้แต่งาน web scraping แบบง่าย ๆ ก็ยังทำไม่สำเร็จ
  • ตัวอย่างเช่น งานอัปโหลดข้อมูลสังเคราะห์ไปยัง Braintrust ล้มเหลว เพราะโค้ดของ Devin ซับซ้อนเกินไปและไม่สามารถหลุดจากข้อผิดพลาดได้
  • ความพยายามเชื่อมต่อ Spiral.computer กับ Circleback ซึ่งเป็น AI note taker ก็ต้องยอมแพ้ เพราะโค้ดที่ได้ออกมาซับซ้อนยุ่งเหยิงแบบสปาเกตตี
  • งานดึงข้อมูล 25 งานวิจัยล่าสุดของผู้เขียนคนหนึ่งจาก Google Scholar ก็ทำได้ไม่สำเร็จ เพราะติดอยู่กับการ parse HTML

2. งานวิจัย/ค้นคว้า

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

3. วิเคราะห์และแก้ไขโค้ดเดิม

  • ข้อจำกัดของ Devin เด่นชัดที่สุดในงานที่ต้องทำความเข้าใจโค้ดเดิมและบริบทเพื่อบำรุงรักษาต่อ
  • ระหว่างทำงานกับโปรเจ็กต์ nbdev มันใช้วิธีที่ไม่มีประสิทธิภาพ เช่น เพิ่ม Python script ที่ไม่จำเป็น ทั้งที่งานนั้นเพียงแค่แก้ไข notebook ก็พอ
  • ในงานตรวจสอบความปลอดภัย มันชี้ช่องโหว่ที่ไม่มีอยู่จริง หรือจับประเด็นปัญหาสำคัญไม่ถูกจุด
  • แม้แต่การวินิจฉัยข้อผิดพลาด SSH key forwarding มันก็เอาแต่ขุดอยู่กับตัวสคริปต์เอง โดยไม่พิจารณาเลยว่าปัญหาอาจอยู่ที่จุดอื่น
  • ตอนพัฒนาฟีเจอร์ตรวจสอบความขัดแย้งระหว่างข้อมูลที่ผู้ใช้ป้อนกับฐานข้อมูล ทีมต้องเสียเวลาไปกับการแก้โค้ดที่ Devin สร้างไว้ สุดท้ายทำเองให้เสร็จใน 90 นาทีกลับเร็วกว่า

การทบทวนของทีม

  • หลังการทดสอบเข้มข้นเป็นเวลาหนึ่งเดือน ทีมได้ประเมิน Devin ไว้ดังนี้
    • “งานเล็กที่นิยามชัดเจน ทำเองกลับเร็วกว่า ส่วนงานใหญ่ก็มีโอกาสสูงที่ Devin จะล้มเหลว เลยแทบไม่มีประโยชน์มากนัก” (Johno Whitaker)
    • “ตอนแรกคิดว่าน่าจะค่อย ๆ แก้ให้ใช้ได้ แต่สุดท้ายต้องแก้หลายส่วนมากขึ้นเรื่อย ๆ จนรู้สึกว่าทำเองตั้งแต่แรกน่าจะดีกว่า” (Isaac Flath)
    • “มันเชื่อมกับเครื่องมือภายในของ AnswerAI ได้ไม่ดี และใช้เอกสารกับตัวอย่างที่ให้มาได้ไม่เก่ง จึงมีปัญหาเรื่องความเข้ากันได้ ในทางกลับกัน เครื่องมืออย่าง Cursor ดีกว่า เพราะให้ฟีดแบ็กกันได้ต่อเนื่องในหน่วยงานเล็ก ๆ” (Hamel Husain)
  • จุดเด่นของ Devin คือการเดินหน้าขั้นตอนใหญ่ ๆ แบบอัตโนมัติ แต่ผลสุดท้ายคือต้นทุนที่มนุษย์ต้องจ่ายเพื่อดึงมันกลับมาถูกทางนั้นสูงมาก
  • ในทางตรงกันข้าม ทีมสรุปว่าเวิร์กโฟลว์แบบที่นักพัฒนาเป็นคนขับเคลื่อนและให้ AI คอยช่วยเสริม (เช่น Circleback, Cursor) มีความเสถียรกว่ามาก

บทสรุป

  • ประสบการณ์การทำงานกับ Devin ทำให้มองเห็นภาพอนาคตที่เครื่องมือพัฒนา AI แบบอัตโนมัติกำลังมุ่งไป
  • โดยเฉพาะ UI เชิงสนทนาที่อิงกับ Slack และความสามารถในการตั้งค่าสภาพแวดล้อมอัตโนมัติใน Docker container นั้นน่าประทับใจในแง่ประสบการณ์ผู้ใช้
  • แต่ในทางปฏิบัติ กรณีที่ใช้งานได้ราบรื่นจริงมีเพียง 3 จาก 20 งาน และแม้แต่งานคล้ายกันก็มักล้มเหลวแบบซับซ้อนอยู่บ่อยครั้ง
  • ด้วยความที่มัน “อัตโนมัติ” หากงานเริ่มผิดทาง ก็มีปัญหาที่มันจะเดินหน้าต่อไปในทิศทางแปลก ๆ เป็นเวลานาน
  • จากประสบการณ์จนถึงตอนนี้ กระแสความร้อนแรงบน SNS หรือมูลค่าบริษัทที่สูง ไม่ได้แปลว่าจะเปลี่ยนเป็นผลิตภาพหรือความสมบูรณ์ของงานจริงได้เสมอไป
  • ทีม Answer.AI วางแผนจะยังคงยึดจุดยืนว่าแนวทางที่ AI ทำหน้าที่ช่วยเสริมกระบวนการพัฒนายังคงเป็นรูปแบบที่ใช้งานได้จริงที่สุด

ภาคผนวก: รายการงานที่ทดลองใช้ Devin

  • ด้านล่างนี้คือสรุปย่อของโปรเจ็กต์ที่มอบหมายให้ Devin ทำพร้อมผลลัพธ์
  • แบ่งออกเป็น 4 หมวด
    • (1) สร้างโปรเจ็กต์ใหม่
    • (2) งานวิจัย/ค้นคว้า
    • (3) วิเคราะห์โค้ดเดิม
    • (4) แก้ไขโปรเจ็กต์เดิม

1. สร้างโปรเจ็กต์ใหม่

  • Planet Tracker

    • Status: Success
    • Description: แอปที่ใช้ตรวจสอบข้ออ้างเกี่ยวกับตำแหน่งในอดีตของดาวพฤหัสบดีและดาวเสาร์
    • Reflection: คุยกับ Devin ผ่าน Slack บนมือถืออย่างเดียว แต่ Devin จัดการงานส่วนใหญ่เองแบบอัตโนมัติและทำสำเร็จ
  • Migrating data from Notion into Google Sheets

    • Status: Success
    • Description: นำเข้าข้อมูลจากเอกสาร Notion ไปยัง Google Sheets แบบอัตโนมัติ
    • Reflection: Devin แนะนำตั้งแต่ขั้นตอนการตั้งค่า Google Cloud Console ทำให้เป็นครั้งแรกที่รู้สึกว่าได้เจอ “ประสบการณ์ใหม่อย่างแท้จริง”
  • Multi-app deploys on Railway

    • Status: Inconclusive
    • Description: ต้องการดีพลอยหลายแอปพร้อมกันภายใต้ deployment เดียวบน Railway เพื่อใช้ฐานข้อมูลเดียวกัน
    • Reflection: ในความเป็นจริง Railway ไม่รองรับวิธีนี้ จึงแทบเป็นไปไม่ได้ Devin กลับยังคงพยายามต่อและเดินหน้าด้วยแนวทางที่หลอนขึ้นมาเอง
  • Generate synthetic data and upload it to Braintrust

    • Status: Failure
    • Description: ต้องการสร้างข้อมูลสังเคราะห์เพื่อนำขึ้นแพลตฟอร์ม Braintrust
    • Reflection: โค้ดซับซ้อนเกินไปและแก้ error ไม่ได้ สุดท้ายจึงใช้ Cursor ทำแบบทีละขั้นตอนแทน
  • Create an integration between Circleback and Spiral.computer

    • Status: Failure
    • Description: มีการให้เอกสารของทั้งสองระบบไปแล้ว แต่ Devin สร้างโค้ดสปาเกตตีที่ซับซ้อนเกินไปจนต้องยอมแพ้
  • Web scraping Papers by Following Google Scholar Links

    • Status: Failure
    • Description: งานดึงข้อมูล 25 บทความล่าสุดของผู้เขียนคนหนึ่ง พร้อมข้ามบทความที่ต้องเสียเงิน
    • Reflection: งานหยุดลงเพราะติดลูปไม่รู้จบในการ parse HTML
  • Create minimal HTMX bulk upload example app

    • Status: Failure
    • Description: ต้องการปรับตัวอย่าง HTMX แบบง่ายให้เป็นเวอร์ชันสำหรับ FastHTML
    • Reflection: โค้ดตัวอย่างใช้งานไม่ได้ และยังเพิ่มองค์ประกอบที่ไม่จำเป็นเข้ามาจนชวนสับสน
  • Create a DaisyUI Themes to match FrankenUI Theming

    • Status: Failure
    • Description: ต้องการใช้ธีมของ DaisyUI และ FrankenUI ให้เป็นแนวเดียวกัน
    • Reflection: การแมปทำได้ไม่ถูกต้อง และมีการเพิ่มโค้ดจำนวนมากเกินไปจนใช้งานจริงได้ยาก

2. Perform Research

  • Research How to make a discord bot

    • Status: Success
    • Description: ค้นคว้าวิธีสร้าง Discord bot ด้วย Python เพื่อสรุปข้อความและส่งทางอีเมล
    • Reflection: Devin สรุปแผนระหว่างทางเป็นไฟล์ Markdown ให้ และแม้โค้ดสุดท้ายจะยังไม่สมบูรณ์ แต่ก็ช่วยให้เข้าใจแนวคิดได้
  • Research on Transcript Summarization With Accurate Timestamps

    • Status: Failure
    • Description: ต้องการหาวิธีสร้างสรุปที่คงข้อมูล timestamp ไว้อย่างถูกต้อง
    • Reflection: Devin เพียงแค่ไล่หัวข้อที่เกี่ยวข้องแบบคร่าว ๆ และไม่สามารถเสนอแนวทางแก้ปัญหาจริงได้
  • Create a minimal DaisyUI theme as an example

    • Status: Failure
    • Description: ขอให้แสดงธีม DaisyUI แบบขั้นต่ำเป็นตัวอย่าง
    • Reflection: ธีมจริงไม่ถูกนำไปใช้ และยังคงใช้สีของธีมพื้นฐานเดิม

3. Analyze Existing Code

  • Performing a security review of a code base

    • Status: Inconclusive
    • Description: ขอให้ตรวจรีวิว GitHub repo ที่มีไม่เกิน 700 บรรทัดในมุมมองช่องโหว่ความปลอดภัย
    • Reflection: บางส่วนถูกต้อง แต่ก็ชี้ช่องโหว่ที่ไม่มีอยู่จริงและระบุประเด็นด้านความปลอดภัยมากเกินไป
  • Review blog posts and make a pull request with improvements

    • Status: Failure
    • Description: ขอให้ตรวจบทความบล็อกและสร้าง PR ให้สอดคล้องกับซอร์สแบบ Quarto
    • Reflection: มันไม่สามารถเรียนรู้โครงสร้างของ Quarto ได้ ทำให้การจัดการ metadata และ front matter สับสนจนล้มเหลว
  • Review an application and identify potential areas of improvement

    • Status: Failure
    • Description: ขอให้เสนอแนวทางปรับปรุงแบบครอบคลุมสำหรับแอปบันทึกเวลาที่ทำไว้ก่อนหน้า
    • Reflection: ข้อเสนอส่วนใหญ่ใช้งานจริงไม่ได้
  • Debug why ssh key forwarding is not working in a setup script

    • Status: Inconclusive
    • Description: ปัญหา SSH key forwarding ใช้งานไม่ได้ระหว่างตั้งค่าเซิร์ฟเวอร์ผ่านสคริปต์
    • Reflection: Devin เจาะจงสำรวจแค่ตัวสคริปต์อย่างดื้อดึง และไม่ตระหนักว่าต้นเหตุอาจอยู่ที่อื่น

4. Modify An Existing Project

  • Making changes to a nbdev project

    • Status: Failure
    • Description: ต้องการเพิ่ม API สำหรับ Apple Shortcuts ให้กับแอปติดตามเวลาที่สร้างด้วย FastHTML + nbdev
    • Reflection: แทนที่จะแก้ notebook โดยตรง Devin กลับพยายามแก้ notebook ผ่าน Python script ทำให้ความซับซ้อนเพิ่มขึ้น
  • Migration of Python Project To nbdev

    • Status: Failure
    • Description: ต้องการย้ายโปรเจ็กต์ Python เดิมไปยัง nbdev
    • Reflection: แม้แต่การตั้งค่า nbdev พื้นฐานก็ยังทำไม่ถูกต้อง ทำให้โปรเจ็กต์ยุ่งเหยิง
  • Integrate Styling Package Into FastHTML

    • Status: Failure
    • Description: ต้องการผนวก MonsterUI เข้ากับโปรเจ็กต์ที่อิง nbdev
    • Reflection: Devin ล้มเหลวเพราะไม่เข้าใจโครงสร้าง repo ของ nbdev อย่างถูกต้อง
  • Add feature to check for conflicts between user input and database

    • Status: Failure
    • Description: ต้องการเพิ่ม UI เพื่อแจ้งเมื่อข้อมูลที่ผู้ใช้ป้อนขัดแย้งกับค่าในฐานข้อมูลของแอปเดิม
    • Reflection: การพยายามแก้สิ่งที่ Devin ทำไว้จนจบกินเวลามาก สู้ลงมือทำเองให้เสร็จใน 90 นาทีไม่ได้
  • Generate LLMs context file with the contents of every fasthtml gallery example

    • Status: Failure
    • Description: ขอให้สร้างไฟล์ข้อความสำหรับ LLMs จากตัวอย่างทั้งหมดใน fasthtml gallery
    • Reflection: แม้การแยกแต่ละตัวอย่างออกเป็นไฟล์ Markdown จะน่าสนใจ แต่รูปแบบการเขียนจริงไม่ตรงกับเอกสาร และยังเพิ่ม dependency ที่ไม่จำเป็นอีกหลายอย่าง

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

 
GN⁺ 2025-01-18
ความเห็นจาก Hacker News
  • ผู้สร้าง OpenHands เน้นย้ำว่า AI ยังไปไม่ถึงระดับที่จะมาแทนวิศวกรซอฟต์แวร์ได้ โค้ดที่ AI เขียนยังต้องได้รับการตรวจทานอย่างละเอียดเหมือนโค้ดของวิศวกรมือใหม่ อย่างไรก็ตาม หากใช้ AI เป็น ก็ช่วยเพิ่มประสิทธิภาพการทำงานได้มาก ปัจจุบันราว 20% ของโค้ดเบส OpenHands ถูกเขียนหรือร่วมเขียนโดย AI และ AI มีประโยชน์กับงานง่าย ๆ เช่น แก้ merge conflict หรือแก้ lint error นอกจากนี้ยังกล่าวด้วยว่า AI พัฒนาขึ้นทุกสัปดาห์และการแข่งขันก็รุนแรงมาก

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

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

  • มีความสงสัยต่อคำกล่าวอ้างที่ว่า AI จะมาแทนวิศวกรมนุษย์ได้ AI เหมาะกับงานย่อยที่ทำซ้ำ ๆ แต่ไม่เหมาะกับงานซับซ้อนอย่างการดูแลโครงสร้างพื้นฐานหรือการ deploy แอป และจะยังไม่เชื่อจนกว่าจะได้เห็นการแทนที่มนุษย์จริง ๆ

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

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

  • จากรีวิวการใช้งาน Devin หลายคนประเมินว่าเอเจนต์ยังไม่เป็นไปตามความคาดหวัง เอเจนต์นั้นสร้างได้ง่าย แต่สร้างให้มีประโยชน์จริงทำได้ยาก ข้อจำกัดของ Devin ยังทำให้เกิดความกังวลต่อพัฒนาการของระบบเอเจนต์ด้วย

  • Devin พยายามทำมากเกินไป และการสร้าง code artifact ภายใต้ขีดความสามารถที่จำกัดอาจมีคุณค่ามากกว่า การโฟกัสกับองค์ประกอบเฉพาะใน development loop เป็นสิ่งสำคัญ บริษัทอย่าง Factory AI กำลังใช้แนวทางนี้และได้รับความสนใจต่อผลิตภัณฑ์ของตน

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

  • ผู้ใช้ที่ใช้ Cursor อย่างหนักรู้สึกว่าต้องคอยบังคับระบบให้ไปในทิศทางที่ต้องการ บางครั้ง LLM ก็ให้ code snippet ที่มีประโยชน์ แต่ถ้ามันเริ่มไปผิดทางก็ต้องหยุดข้อเสนอของมันและบังคับให้ไปอีกทางหนึ่ง Cursor มีประโยชน์เป็นพิเศษกับงาน refactor และช่วยประหยัดทั้งเวลาพิมพ์และเวลาในการทำงานได้มาก