· kaynak Hacker News – Front Page (native)
AI ajan CAD benchmark'ı: OpenSCAD ve CadQuery ikisi de işi yapıyor ama farklı şekilde başarısız oluyor
ModelRift, altı Claude ajanını her araçta üç CAD görevinden geçirdi. Tüm parçalar yazdırılabilir çıktı, ancak araçlar gözetimsiz üretim için önemli olan, kendilerine özgü farklı şekillerde başarısız oldu.

Test nasıl yapıldı
Sitedeki her modeli OpenSCAD kodu olarak üreten bir platform olan ModelRift, bu dili en güvenilir kod-öncelikli rakibi, OpenCascade B-rep çekirdeği üzerine inşa edilmiş bir Python kütüphanesi olan CadQuery ile karşılaştıran kontrollü bir benchmark yayımladı. Yazıya göre soru bilinçli olarak dardı: Bir AI ajanı hangi aracı kimsenin izlemediği bir ortamda doğru, yazdırılabilir, işlevsel bir parçaya kadar sürebilir? Elle yazım kolaylığı kapsam dışıydı. Ortaya çıkan altı parçanın tümü yazdırılabilir ve geometrik olarak temiz çıktı; iki aracı ayıran şey yetenek değil, başarısızlıklarının karakteri oldu.
Test nasıl yürütüldü
Her araç-görev hücresi için bir tane olmak üzere altı ajan çalıştı; her biri 1M token bağlam penceresine sahip Claude Opus 5 kullanan, Claude Code üzerinden yönetilen, hücreler arasında hiçbir iletişimi olmayan izole genel amaçlı alt ajanlardı. ModelRift, hücre başına tek ajan olduğu için, dağılımın bir kısmının araç farkından çok ajan varyansını yansıttığı konusunda uyarıyor. Her ajan 12 sürümle sınırlıydı, asla sahte başarı bildirmemesi söylendi ve her başarısızlığın hata metnini birebir alıntılaması gerekiyordu. Koşular gözetimsizdi; CadQuery 2.8.0 ve Python 3.14 ile OpenSCAD 2026.06.12 üzerinde, ikisi de bir M-serisi Mac'te çalıştı.
Sahanın dengeli olması için ModelRift, kendi iç OpenSCAD ajan becerisini CadQuery'ye işlem işlem aktardı. CadQuery'nin CLI renderer'ı olmadığından, aktarım OpenSCAD'ın CSG durum satırının yerine küçük bir offscreen renderer'a ve B-rep geçerlilik metriklerine ihtiyaç duydu; her iki beceri de duvar kalınlığı, boşluklar ve çıkıntılar için özdeş yazdırma tasarım kuralları taşıyordu. Tek bir asimetri kaldı: CadQuery becerisi, OpenSCAD tarafının ihtiyaç duymadığı bir API kopya kâğıdı içeriyor, çünkü model zaten OpenSCAD sözdizimini biliyor; bu da sözdizimine yardımcı olup geometriye değil.
Hiçbir şey söze güvenilerek kabul edilmedi. Her nihai STL, dosyayı doğrudan okuyup üçgen sayısını, hacmi, su geçirmezliği, manifold olmayan ve sınır kenarları, ters yüzleri ve bağlı bileşenleri raporlayan bağımsız bir parser'dan geçti. Altı karârın tamamı temiz döndü; yazarların söylemine göre bu doğrulama adımı beklediklerinden daha önemli olduğunu kanıtladı.
Görevler ve toplamlar
Üç görev zorluk açısından kademeliydi: konsollar, pirinçli delikler ve fillet'lar içeren duvara monte bir raf braketi; kapağı ve gövdesi gerçekten uymak zorunda olan 50 x 26 mm'lik bir PCB için iki parçalı snap-fit bir kutu; ve gerçek bir helisel vida gerektiren, üst üste dizilmiş halkalar açıkça yasaklanmış bir M24x2 vidalı hortum-barb adaptörü.
Görevler boyunca toplanan toplamlar çarpıcı biçimde dengeli. Her iki araç da tam olarak 11 sürüme ihtiyaç duydu. OpenSCAD 473 satır kod, 297k token ve kabaca 34 dakika ajan duvar saati; CadQuery ise 573 satır, 347k token ve yaklaşık 40 dakika oluşturdu. CadQuery beş araç seviyesinde hata yükseltirken OpenSCAD iki tane yükseltti; buna karşılık OpenSCAD beş sessiz yanlış geometri örneği üretirken CadQuery dört tane üretti. Geometri yeniden hesaplaması en sert ayrışmayı gösterdi: OpenSCAD için yeniden hesaplama başına 12 ila 43 ms, CadQuery için kabaca 1,6 ila 2,0 saniye.
Araçların ayrıştığı yer
Braket görevinde ayırıcı çizgi köşe yuvarlamadaydı. OpenSCAD bir 2D profili yuvarlayıp ekstrüde eder; katının nasıl oluşturulduğuna kayıtsızdır. CadQuery ise önce hedef kenarları box selector'larla seçmek zorundadır ve güçlük tam da kenar seçiminde yatar. CadQuery ajanı koşusunun yaklaşık üçte birini tek bir başarısızlığa harcadı: ne kenarı ne de yarıçapı adlandıran bir hata fırlatan bir fillet ('BRep_API: command not done'); ardından ajan nedeni bulmak için elle ikili arama yaptı: 4 mm'lik bir duvara iki R3 fillet sığmıyor. OpenSCAD ilk denemede doğru geometri derledi ve iki sürümde bitirdi.
Kutu görevi CadQuery'nin türetilmiş parametre zincirinden yanaladı; burada dudak derinliğini değiştirmek çerçeveyi, plakayı, yuvaları ve oluku birlikte hareket ettiriyor. Ajanlar için daha belirleyici olan doğrulama tarzıydı. OpenSCAD'ın echo'su bir insanın okuması gereken sayıları basar; CadQuery'nin assert'i kutu ve kapak çakıştığı anda build'i başarısız kılar. Gözetimsiz üretim için assert, echo'nun açık bıraktığı bir geri bildirim döngüsünü kapatır. OpenSCAD CadQuery'nin beşine karşılık sekiz sürüme ihtiyaç duydu; bunların üçü, teğet ve çakışk yüzlerin saçtığı ince parçacıkları temizleyen boolean hijyenine harcandı.
Vida görevi sürprizi getirdi. OpenSCAD tek bir sürümde, ilk derlemede doğru, 43 ms'lik yeniden hesaplama ve kütüphanesiz bitirdi. Sweep işlemi bulunmadığından ajan helisi ham vertex ve yüz aritmetiği olarak yazdı: tur başına 96 kesitli dört noktalı bir ISO profili, tek bir polyhedron olarak üretildi. İşe yaradı, ama araç zincirindeki hiçbir şey böyle bir kodu doğrulamıyor: ters bir sarım sırası rapor edilmeksizi kalırdı. Sonuç tablosuna göre CadQuery'nin vida koşusu üç sürüm sürdü; bir yükseltilmiş hata ve bir sessiz geometri kusuruyla.
Neden önemli
AI destekli, kod-öncelikli CAD araçları yapan herkes için benchmark'ın değeri bir kazananından çok başarısızlık taksonomisinde yatıyor. Burada yetenek masa stakesi; her iki çekirdek de doğru, yazdırılabilir parçalara ulaştı. Araçları ayıran şey nasıl başarısız oldukları: bir tarafta maliyetli ikili aramaya zorlayan opak çekirdek hataları, her iki tarafta ise kimsenin izlemediği durumda en tehlikeli sınıf olan sessiz yanlış geometri. Azaltıcı önlemler yöntembilimsel: kötü geometriyi yükseltilmiş hataya dönüştüren assert'ler, incele-ve-düzelt döngüsünü sıkılaştıran ucuz yeniden hesaplama ve üreten aracın kendi raporuna değil çıktı dosyasının bağımsız doğrulanması. Akılda tutulmaya değer bir uyarı: ModelRift platform varsayılanı olarak OpenSCAD'i sunuyor ve kendi seçimini yeniden test ediyordu. Yine de, eşleştirilmiş ajan becerileri, güvenilmeyen bir parser ve birebir hata yakalama şablonu, geometri çekirdeklerini ajanik boru hatları için değerlendiren herkes tarafından yeniden kullanılabilir.
- #cad
- #openscad
- #cadquery
- #ai-agents
- #3d-printing
- #benchmark
İlgili yazılar
- Prompt caching 12.000 token yazıp sıfır token okudu ve bir agent'ın faturasını %25 artırdı
- 428 LLM API router'ından dokuzu agent tool çağrılarına kötü niyetli kod enjekte etti
- Bir geliştiricinin Android'in agentic API'leriyle geçirdiği 18 ay, gerçekte olanın ve geçici olanın ne olduğunu ortaya koyuyor