ผมสร้างโปรแกรมแก้ไข CAD บนเบราว์เซอร์ แล้วสอนให้ LLM ใช้งานมัน
ผมสร้างโปรแกรมแก้ไข CAD บนเบราว์เซอร์ จากนั้นผมก็ส่งต่อให้ AI ใช้งาน
ผลลัพธ์ที่คุ้มค่าเกิดขึ้นระหว่างการสาธิต ผมถามแอปว่า "มีประตูและหน้าต่างกี่บาน?"
AI นับจำนวนให้ แล้วเสริมว่า: "หมายเหตุ: D3 กว้างเพียง 300 มม. น่าจะเป็นการตรวจจับประตูผิดพลาด ต้องการให้ผมตรวจสอบไหม?"
AI พูดถูก ระบบจัดการข้อมูล (data pipeline) ของผมเปลี่ยนชิ้นส่วนเรขาคณิตให้กลายเป็นประตูขนาด 30 ซม. โดยที่ไม่มีมนุษย์คนไหนสังเกตเห็น แต่โมเดลเห็นว่ามีประตูที่แคบกว่ากล่องรองเท้า และแจ้งเตือนมันขึ้นมา
โปรเจกต์นี้ต้องแก้ปัญหาทางเทคนิคที่ยากลำบากมากมาย:
• การ Parse ไฟล์ DWG ซึ่งขึ้นชื่อเรื่องความยาก • การสร้างโมเดลอาคารขึ้นมาใหม่จากเส้นสุ่มๆ นับพันเส้น • การสร้างโปรแกรมแก้ไข CAD แบบ 2D ขึ้นมาใหม่ตั้งแต่ต้นโดยใช้ HTML5 Canvas • การเชื่อมต่อ Claude ในฐานะ agent พร้อมกับชุดเครื่องมือต่างๆ
นี่คือวิธีการทำงานของระบบ:
- อัปโหลด: คุณลากไฟล์ DWG วางลงในเบราว์เซอร์
- ประมวลผล: งานเบื้องหลัง (background job) จะแปลงไฟล์และดึงข้อมูลเรขาคณิตออกมา โดยจะระบุผนัง ประตู หน้าต่าง และห้องต่างๆ
- การดู: คุณจะได้เครื่องมือดูแบบ 3D และโปรแกรมแก้ไขแบบ 2D เต็มรูปแบบ พร้อมระบบ snapping และประวัติการ undo
- การแก้ไข: คุณใช้แผงแชทเพื่อสั่งให้ AI agent ทำการเปลี่ยนแปลง
AI ไม่ได้แค่แชทคุยเท่านั้น แต่มันใช้เครื่องมือเพื่อแก้ไขฐานข้อมูล หากคุณสั่งว่า "เพิ่มหน้าต่างที่ผนังด้านที่ยาวที่สุด" AI จะระบุผนังนั้นและวางช่องเปิดให้ทันที
บทเรียนสำคัญจากการสร้าง:
• อย่าเชื่อใจ file headers: ไฟล์ DWG มักจะให้ข้อมูลหน่วยวัดที่ผิดพลาด ผมจึงเรียนรู้ที่จะเพิกเฉยต่อ header และดูที่ตัวเลขพิกัด (coordinate) จริงๆ เพื่อหามาตราส่วน (scale) • ใช้เส้นทางการเขียนข้อมูลเพียงเส้นทางเดียว (single write path): ทั้ง UI, ระบบนำเข้าข้อมูล (import pipeline) และ AI ต่างก็ใช้เส้นทางที่ผ่านการตรวจสอบแล้วเส้นทางเดียวกัน เพื่อให้มั่นใจว่า AI จะไม่สร้างรูปทรงเรขาคณิตที่เป็นไปไม่ได้ขึ้นมา • ให้ประวัติการ undo แก่ AI: เมื่อ AI ทำการแก้ไข ระบบจะรวมการกระทำทั้งหมดนั้นไว้ในขั้นตอน undo เพียงขั้นตอนเดียว หาก AI ทำพลาด คุณเพียงแค่กด Ctrl+Z เพื่อย้อนกลับทุกอย่าง • ใช้กฎทางโทโพโลยี (topological rules) แทนการใช้เกณฑ์ทางคณิตศาสตร์: ตอนแรกผมพยายามหาห้องจากพื้นที่ ซึ่งใช้ไม่ได้กับอาคารรูปตัว L ผมจึงเปลี่ยนมาใช้กฎทางโทโพโลยีแทน นั่นคือ พื้นที่ (face) ที่ใหญ่ที่สุดในโครงสร้างที่เชื่อมต่อกันคือพื้นที่ภายนอกเสมอ ส่วนที่เหลือทั้งหมดคือภายใน
ส่วนที่ยากไม่ใช่ AI แต่เป็นการเปลี่ยนเส้นที่ไม่มีชื่อเรียกให้กลายเป็นข้อมูลอาคารจริงๆ ฟีเจอร์ AI ใช้เวลาสร้างเพียงไม่กี่วันเพราะรากฐานนั้นแข็งแกร่งอยู่แล้ว
Source: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92
Optional learning community: https://t.me/GyaanSetuAi
