นักพัฒนาถกเถียงผลลัพธ์ HTML ของ ScreenCoder ขณะที่เครื่องมือสร้างโค้ดด้วย AI เพิ่มขึ้น

ทีมชุมชน BigGo
นักพัฒนาถกเถียงผลลัพธ์ HTML ของ ScreenCoder ขณะที่เครื่องมือสร้างโค้ดด้วย AI เพิ่มขึ้น

ScreenCoder ได้กลายเป็นผู้เล่นรายใหม่ในสาขาการสร้างโค้ดด้วยพลัง AI ที่กำลังเติบโต โดยสัญญาว่าจะเปลี่ยนภาพหน้าจอ UI ให้กลายเป็น HTML และ CSS ที่พร้อมใช้งานจริง เครื่องมือนี้ใช้สถาปัตยกรรมแบบ multi-agent แยกส่วนเพื่อวิเคราะห์การออกแบบภาพและส่งออกโค้ดเว็บที่มีโครงสร้าง อย่างไรก็ตาม การเปิดตัวของมันได้จุดประกายการถกเถียงในวงกว้างเกี่ยวกับคุณค่าเชิงปฏิบัติของแนวทางการสร้างโค้ดด้วย AI ในปัจจุบัน

โครงสร้างโปรเจกต์ ScreenCoder

  • main.py: สคริปต์หลักสำหรับสร้าง HTML จากภาพหน้าจอ
  • UIED/: เอนจิ้นตรวจจับองค์ประกอบ UI สำหรับวิเคราะห์คอมโพเนนต์
  • html_generator.py: แปลงคอมโพเนนต์ที่ตรวจพบให้เป็นเลย์เอาต์ HTML
  • image_replace.py: แทนที่ div ตัวยึดตำแหน่งด้วยรูปภาพที่ตัดแต่งแล้ว
  • mapping.py: จับคู่คอมโพเนนต์ UIED กับพื้นที่ตรรกะของหน้าเว็บ

โมเดล AI ที่รองรับ

  • Doubleo (ค่าเริ่มต้น)
  • Qwen
  • GPT
  • Gemini

ข้อกำหนดการติดตั้ง

  • สภาพแวดล้อมเสมือน Python
  • การกำหนดค่า API key สำหรับโมเดลที่เลือก
  • การติดตั้ง dependencies ผ่าน requirements.txt
ภาพหน้าจอของ repository GitHub สำหรับ ScreenCoder ที่แสดงไฟล์โค้ดและโครงสร้างของมัน
ภาพหน้าจอของ repository GitHub สำหรับ ScreenCoder ที่แสดงไฟล์โค้ดและโครงสร้างของมัน

HTML ธรรมดา vs ความเป็นจริงของ Framework สมัยใหม่

ความกังวลที่โดดเด่นที่สุดที่นักพัฒนาหยิบยกขึ้นมาคือรูปแบบผลลัพธ์ HTML ของ ScreenCoder นักวิจารณ์โต้แย้งว่าแม้การสร้าง HTML ธรรมดาอาจใช้งานได้สำหรับการสร้างต้นแบบเบื้องต้น แต่มันไม่สอดคล้องกับแนวปฏิบัติการพัฒนาเว็บสมัยใหม่ แอปพลิเคชันร่วมสมัยส่วนใหญ่พึ่งพา framework อย่าง React, Vue หรือ Svelte อย่างมาก ซึ่งแต่ละตัวมีรูปแบบและแบบแผนที่แตกต่างกัน

ความไม่เชื่อมต่อนี้เน้นย้ำถึงความท้าทายพื้นฐานในเครื่องมือสร้างโค้ดด้วย AI แม้ว่าการแปลงภาพเป็น markup พื้นฐานจะน่าประทับใจในเชิงเทคนิค แต่ช่องว่างระหว่างโค้ดที่สร้างขึ้นและแอปพลิเคชันที่พร้อมใช้งานจริงยังคงมีอย่างมีนัยสำคัญ นักพัฒนามักต้องการ component ที่รวมเข้ากับ codebase ที่มีอยู่ได้อย่างราบรื่นและปฏิบัติตามรูปแบบสถาปัตยกรรมที่กำหนดไว้

แนวทางทางเลือกที่ได้รับความนิยม

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

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

ความท้าทายในการแปลง Framework

ในขณะที่ ScreenCoder ผลิตผลลัพธ์ HTML นักพัฒนาสังเกตว่าโมเดลภาษา AI สมัยใหม่เก่งในการแปลระหว่างเทคโนโลยีเว็บที่แตกต่างกัน สิ่งนี้ชี้ให้เห็นถึง workflow สองขั้นตอนที่มีศักยภาพ ซึ่งเครื่องมือจะสร้าง markup พื้นฐานก่อน จากนั้นระบบ AI เฉพาะทางจะแปลงผลลัพธ์นั้นเป็นโค้ดเฉพาะ framework

นำผลลัพธ์จากเครื่องมือนี้และปรับให้เข้ากับ framework ใดก็ตามที่คุณต้องการ ... หากคุณรู้สึกว่าจำเป็น

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

มองไปข้างหน้า

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

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

อ้างอิง: ScreenCoder: Advancing Visual-to-Code Generation for Front-End Automation via Modular Multimodal Agents