Tüm yazılar
Programlama İpucu

TIA V21'in AI Önerisini Kabul Ettim, 3 Hafta Sonra Eksik Kenarı Sahada Gördüm

TIA V21'in AI kod asistanı bir öneri verdi, kabul ettim; 3 hafta sonra o önerinin eksik kenarını sahadaki bir arızada gördüm. AI önerisini 'kabul etmeden önce' sorduğum 3 soruyu anlatıyorum.

TIA V21'in AI Önerisini Kabul Ettim, 3 Hafta Sonra Eksik Kenarı Sahada Gördüm

TIA Portal V21’in AI kod asistanı, 2026’da sahada yaygınlaştı. Kod tamamlama, semantik analiz, “field-ready” kontrolü. İlk baktığımda “artık hata yapmam” dedim. Yanıldım. Hata yapmadım, ama AI’ın hatasını kabul ettim — ve o hatayı 3 hafta sonra sahadaki bir arızada gördüm.

AI ne önerdi

Bir seviye kontrolü yazıyordum. Seviye %80 üstüne çıkınca vanayı kapat, %60 altına inince aç. Kodu yazarken AI, “debounce ekle” önerdi: seviye değerini 500ms filtrele, sonra karşılaştır. Makul bir öneri. Kabul ettim.

Kod çalışmaya başladı. Seviye, %80’e çıkınca vana kapandı, %60’a inince açıldı. Her şey güzel.

3 hafta sonra, bir gece, seviye %81’deydi, vana kapalıydı. Ama seviye, 500ms’lik filtreden geçerken %79.8’e düşmüştü. Filtre, seviyenin %80’in üstünde olduğunu “yutmuştu”. Vana, %80’e çıkınca kapanmamıştı — çünkü filtre, o anki değeri %79.8 olarak gösteriyordu. Seviye, %85’e kadar çıktı. Taşma alarmı verdi.

AI’ın önerisi neden yanlıştı

AI’ın önerisi, genel bir öneriydi: “seviye kontrolünde debounce ekle”. Genel öneri, çoğu durumda doğrudur. Ama benim durumumda, seviye %80 üstünde kritikti — 500ms’lik bir filtre, o 500ms içinde seviyenin %80’den %85’e çıkmasına izin veriyordu. Yani filtre, koruma yerine gecikme yaratıyordu.

AI, “debounce ekle” derken, ne kadar debounce eklemenin kritik olduğunu bilmiyordu. 500ms, çoğu durumda makul. Ama kritik seviyede, 500ms pahalı.

Kabul etmeden önce 3 soru

O günden sonra, AI’ın her önerisini kabul etmeden önce 3 soru soruyorum:

  1. Bu öneri, en kötü durumda ne yapar? (Debounce: en kötü durumda, kritik geçişi 500ms geciktirir. 500ms, benim hatamda ne demek? %80→%85 çıkış demek. Kabul edilebilir mi?)
  2. Bu öneri, hangi parametreye bağlı? (Debounce süresi. 500ms, kritik geçişte kabul edilebilir mi? Hayır. 100ms’e düşürmeliyim.)
  3. Bu öneri, mevcut kodun neresine dokunuyor? (Debounce, seviye okumasına dokunuyor. Seviye okuması, alarm eşiğiyle aynı network’te mi? Evet. O zaman debounce, alarm eşiğini de etkiler.)

Üç sorunun cevabı, “kabul et” veya “değiştir” kararını verir. AI’ın önerisi, başlangıç noktasıdır, sonuç değildir.

“Field-ready” kontrolünün sınırı

V21’in AI asistanı, “field-ready” kontrolü yapıyor: kodun saha koşullarına uygunluğunu analiz ediyor. Ama “field-ready” kontrolü, genel kuralları kontrol eder: “alarm eşiği var mı?”, “reset butonu var mı?”, “ilk tur bayrağı var mı?”. Bu kuralların her birinin parametresi farklıdır. 500ms debounce, “field-ready” kontrolünden geçer — çünkü debounce var. Ama 500ms, benim hatamda pahalı.

“Field-ready” kontrolü, minimum standardı kontrol eder. Minimum standardın üstü, mühendisin kararıdır. AI, minimum standardı verir; mühendis, minimum standardın üstüne çıkar.

Bir sonraki AI önerisinde

Bir sonraki TIA V21 AI önerisinde, ilk işim: 3 soru. “En kötü durumda ne yapar?”, “Hangi parametreye bağlı?”, “Mevcut kodun neresine dokunuyor?”. Üç soru, 5 dakika. O 5 dakika, 3 haftalık bir taşma alarmından ucuzdur.

AI’ın önerisini kabul etmek, hata yapmak demek değil. Ama kabul etmeden önce sormamak, hatayı benimsemek demektir. O 5 dakikalık 3 soru, benimseyeceğim hatayı, benimsemeyeceğim hataya çevirir.