من یک ویرایشگر CAD در مرورگر ساختم، سپس به یک LLM یاد دادم که از آن استفاده کند
من یک ویرایشگر CAD در مرورگر ساختم. سپس آن را در اختیار یک هوش مصنوعی قرار دادم.
نتیجه اصلی در طول یک دمو مشخص شد. از برنامه پرسیدم: «چند تا در و پنجره وجود دارد؟»
هوش مصنوعی آنها را شمرد. سپس اضافه کرد: «توجه: عرض D3 تنها ۳۰۰ میلیمتر است. احتمالاً در تشخیص در اشتباه شده است. میخواهید بررسیاش کنم؟»
هوش مصنوعی درست میگفت. خط لوله دادههای من (data pipeline) یک قطعه هندسی را به دری ۳۰ سانتیمتری تبدیل کرده بود. هیچ انسانی متوجه آن نشده بود. اما مدل، دری را که از یک جعبه کفش هم باریکتر بود دید و آن را علامتگذاری کرد.
این پروژه مستلزم حل موانع فنی بزرگی بود:
• تجزیه (Parsing) فایلهای DWG که به دشواری شهرت دارند. • بازسازی مدلهای ساختمان از میان هزاران خط تصادفی. • ساخت یک ویرایشگر CAD دوبعدی از صفر با استفاده از HTML5 Canvas. • متصل کردن Claude به عنوان یک عامل (agent) همراه با مجموعهای از ابزارها.
نحوه عملکرد سیستم به این صورت است:
۱. آپلود: یک فایل DWG را در مرورگر رها میکنید. ۲. پردازش: یک فرآیند پسزمینه (background job) فایل را تبدیل کرده و هندسه را استخراج میکند. این فرآیند دیوارها، درها، پنجرهها و اتاقها را شناسایی میکند. ۳. مشاهده: شما یک نمایشگر سهبعدی و یک ویرایشگر کامل دوبعدی با قابلیت چسبندگی (snapping) و تاریخچه بازگشت (undo history) خواهید داشت. ۴. ویرایش: از یک پنل چت استفاده میکنید تا به یک عامل هوش مصنوعی دستور تغییرات بدهید.
هوش مصنوعی فقط چت نمیکند. بلکه از ابزارها برای ویرایش پایگاه داده استفاده میکند. اگر بگویید «یک پنجره به بلندترین دیوار اضافه کن»، هوش مصنوعی دیوار را شناسایی کرده و بازشو را در آنجا قرار میدهد.
درسهای کلیدی از این ساخت:
• هرگز به هدرهای فایل (file headers) اعتماد نکنید. فایلهای DWG اغلب در مورد واحدها (units) دروغ میگویند. من یاد گرفتم که هدر را نادیده بگیرم و برای یافتن مقیاس (scale)، به اعداد واقعی مختصات نگاه کنم. • از یک مسیر نوشتاری واحد استفاده کنید. رابط کاربری (UI)، خط لوله وارد کردن دادهها و هوش مصنوعی همگی از یک مسیر تاییدشدهی واحد استفاده میکنند. این کار تضمین میکند که هوش مصنوعی نتواند هندسههای غیرممکن ایجاد کند. • به هوش مصنوعی یک تاریخچه بازگشت (undo story) بدهید. وقتی هوش مصنوعی تغییری ایجاد میکند، سیستم تمام آن اقدام را در یک مرحلهی undo ادغام میکند. اگر هوش مصنوعی اشتباه کرد، با زدن Ctrl+Z همه چیز را به حالت قبل برمیگردانید. • از قوانین توپولوژیک استفاده کنید، نه آستانههای ریاضی. من در ابتدا سعی کردم اتاقها را بر اساس مساحت پیدا کنم. این روش در ساختمانهای L-شکل شکست خورد. سپس به یک قانون توپولوژیک تغییر مسیر دادم: بزرگترین وجه (face) در یک آرایش متصل، همیشه فضای بیرونی است. بقیه موارد را نگه دارید.
بخش سخت کار، هوش مصنوعی نبود. بلکه تبدیل خطوط بینام و نشان به دادههای واقعی ساختمان بود. ویژگی هوش مصنوعی تنها چند روز زمان برد چون زیربنای کار محکم بود.
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
