Yapay Zeka Kod Hataları için ESLint Eklentisi

Yapay zeka testleri geçen kodlar yazıyor ama üretimde patlıyor. 500 hatayı analiz ederek doğan bu ESLint eklentisi, kaosu nihayet evcilleştiriyor.

500 Yapay Zeka Kod Felaketini Kazıdım — Ve Hepsini Yakalayan ESLint Eklentisini Yaptım — theAIcatchup

Key Takeaways

  • eslint-plugin-llm-core, async promise'lardan derin iç içeliklere 20 yaygın yapay zeka kod tuzağını yakalıyor.
  • 500 gerçek LLM hatasından doğan kuralları düzeltmeleri öğretiyor, yapay zekanın zamanla gelişmesine yardımcı oluyor.
  • Üretimde kurşun geçirmez yapay zeka kodu için typescript-eslint ile eşleştirin.

Ya yapay zeka kod asistanın uygulamanı gizlice, sadece üretimde ortaya çıkan hatalarla sabote ediyorsa?

İşte eslint-plugin-llm-core’un doğuş hikâyesinde gizlenen kabus bu. Düşünün: LLM dostunuzla özellikler üretip duruyorsunuz. Testler yeşil. İnceleyiciler onaylıyor. Pat — dağıtım günü, çözülmemiş promise’lar ve yutulan hatalarla her şey karman çorman. Ben yaşadım bunu. Yaratıcısı olarak, tam 500 yapay zeka kaynaklı kod hatasını parçalara ayırdıktan sonra.

Ve işte çarpıcı kısım — sadece yakınmadı. eslint-plugin-llm-core’u dövdü: Yapay zekanın en sevdiği 20 kurala odaklanmış, lazer gibi bir ESLint eklentisi. Büyükanne usulü en iyi uygulamalar değil bunlar. LLM’lerin her seferinde yanlış ürettiği tam o kalıpları vuruyor.

Bakın.

Array callback’lerinde karman çorman async/await. Hata yutan boş catch blokları, şeker gibi. ‘Callback hell 2.0’ diye bağıran derin iç içe geçmişlikler. Sanki yapay zeka JavaScript’in en keskin kenarlarını gözü bağlı jonglörlük yapmaya karar vermiş.

Neden peki? LLM’ler syntax ve mutlu yollarında parlıyor — steroidli pattern matcher’lar. Edge case’ler, tutarlılık ya da gerçek dünya pisliği ekleyin? API’leri halüsinasyon yapıyor, null’ları atlıyor, sihirli sayılar uyduruyor. Araştırmalar doğruluyor: %40’ı eksik kod bloğu, %20’si yanlış okuma, %15’i köşe vakası körlüğü.

Yapay Zeka Kodu Neden Üretimde Patlıyor?

LLM’leri hevesli stajyer gibi düşünün. Eğitimlerde zeki, fabrika zemininde sıfır.

Unit testleri geçiyorlar çünkü kaos mock’lanıyor. Üretim? Öngörülemez veri akıyor — null’lar, timeout’lar, kısmi arızalar. Yapay zeka kodu dağılıyor.

Klasik örnek:

const results = items.map(async (item) => { return await fetchItem(item); });

Güzel görünüyor değil mi? Yapay zeka asistanın yazdı. Testler geçiyor. Kod incelemesi onaylıyor.

Üretim vurunca, results promise dizisi oluyor — beklediğin değerler değil.

eslint-plugin-llm-core’un no-async-array-callbacks kuralı anında yakalıyor: “57:27 error Array metodlarına async fonksiyon geçmeyin llm-core/no-async-array-callbacks. Bu kalıp çözülmüş değerler değil, promise dizisi döndürür. Bunun yerine Promise.all() ya da for…of döngüsü kullanın.”

Eğitici değil mi? Sadece “düzelt” demiyor — açıklıyor, böylece yapay zekan bile bir sonrakine öğreniyor.

Ya da boş catch’ler:

try { await processData(data); } catch (e) { // TODO: handle error }

“63:11 error Boş catch bloğu hataları sessizce yutuyor.” Bam. Yok oldu.

İç içelik mi? Yapay zeka if’leri 1999 piramitleri gibi yığar. prefer-early-return kuralı düzleştiriyor: Veri yoksa erken çık. Temiz, okunaklı, kurşun geçirmez.

Bu abartı değil. Gerçek katliamlardan madenlenmiş pattern’lar — ampirik çalışmalar, 333 hata, 558 kötü snippet. Yapay zekanın kör noktaları, kodlanmış.

eslint-plugin-llm-core Yapay Zekayı Baş Yazar Yapacak mı?

Kısa cevap: Sandığından yakın.

2000’lerin başındaki JSLint’i hatırlayın? JavaScript browser tuhaflıkları ve kovboy kodunun vahşi batısıydı. Crockford’un linter’ı yola soktu, modern web dev’ini döşedi. eslint-plugin-llm-core? Yapay zeka çağının JSLint’i.

Cesur tahminim — ve orijinalin kaçırdığı içgörü: Bu eklenti yapay zekayı ‘asistan’dan ‘güvenilir denetimsiz co-pilot’a çeviriyor. Hata mesajlarını prompt’lara eğit, çıktı kalitesi roketliyor. İlk günden üretim hazır diff’ler. Copilot ya da Claude’a dadılık yok.

Kurumsal laf kalabalığı kontrolü: Evet, typescript-eslint kuralları var. Ama o TypeScript safı, spec manyağı. Bu? Yapay zeka savaşına göre ayarlanmış. İkisini kullan — fıstık ezmesi ve çikolata gibi.

typescript-eslint eslint-plugin-llm-core
TypeScript doğruluğu Yapay zeka hata kalıpları
Spec odaklı mesajlar Düzeltmeyi öğreten açıklamalar
Dil uyumu LLM başarısızlık modları

Kurulum? Basit ötesi.

``` npm install -D eslint-plugin-llm-core

// eslint.config.js import llmCore from ‘eslint-plugin-llm-core’;

export default [ { plugins: { ‘llm-core’: llmCore, }, rules: { …llmCore.configs.recommended.

James Kowalski
Written by

Investigative tech reporter focused on AI ethics, regulation, and societal impact.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by dev.to