📌 Hızlı Özet:
LLM kodlama aracları (Copilot, Claude, Cursor, Antigravity vb.) Teknofest/USV takimlarinda hiz kazandirabilir; ama review, secret hijyeni ve halusinasyon kontrolu olmadan teknik borc ve guvenlik riski uretir. Bu rehber “prompt sihri” degil; sorumlu kullanim oyun kitabi.


Sahadan gelen problem

Pusula USV yazilim biriminde tempo yuksek: Nav2 parametreleri, Gazebo dunyalari, telemetri, yer istasyonu, bazen web dashboard. Ayni tempoda LLM’ler “hemen calisan kod” vaadiyle gelir. Vaadin gercek kismi var; tehlikeli kismi da var. Ben Abdullah Aksoy olarak araci yasaklamıyorum — disiplinle kullaniyorum.

Bu yazinin okuyucusu: ogrenci takim uyesi, yazilim lead’i, veya LLM’i ilk kez kritik repoya sokacak kisi.

Ne icin iyi, ne icin kotu?

Iyi oldugu isler

  • Boilerplate: CMake/ament iskeleti, tekrarlayan mesaj abonelikleri
  • Aciklama: yabanci bir dugumun ne yaptigini ozetlemek
  • Refaktor taslagi: uzun fonksiyonu bolme onerisi (yine review ile)
  • Test iskeleti: girdi-cikti tablosu cikarmak
  • Dokumantasyon: README taslagi, launch argumanlarini listelemek

Kotu / riskli oldugu isler

  • Guvenlik kritik kontrol yasasi (acil stop, arming, geofence) — goz yummadan kabul yok
  • Bilinmeyen kutuphane API’sini “ezbere” yazdirmak
  • Secret, token, .env, SSH anahtari iceren dosyalari baglama sokmak
  • “Calisiyor gibi gorunen” ama birimleri yanlis kod (derece/radyan klasik)
  • Lisansli veya ozel kodu modele yapistirip disari sizdirmak

Kural: LLM hizlandiricidir, pilot degildir. Denizde pilotunuz yoksa usul usul batarsiniz.

Halusinasyon: nasil tanirsiniz?

Model, ozyakinlikla yanlis uretebilir. Tipik belirtiler:

  1. Var olmayan ROS mesaj alanlari (msg.foo — paketinde yok)
  2. Humble yerine eski ROS 1 kaliplari (rospy karisimi)
  3. Nav2 plugin adlarinin uydurulmasi
  4. “Bu parametre %100 optimal” gibi sahte kesinlik
  5. Dokunmadiginiz dosyalari “guncelledim” iddiasi

Savunma rutini:

  • Resmi dokuman veya repodaki mevcut ornekle diff
  • colcon build / tip kontrolu / birim test
  • Simulasyonda tek degiskenli deney (bir seferde bir iddia)
  • “Kaynak goster” diye sormak yetmez; siz dogrulayin

Ozerk arac telemetrisinde yanlis birim, web blogundaki yanlis CSS’ten pahalidir. Risk seviyesine gore review derinligini ayarlayin.

Review protokolu (takim icin somut)

PR acan kisi LLM kullandiysa bunu gizlemesin; etiketleyebilir: assisted-by-llm. Reviewer checklist:

  1. Degisiklik amaci insan dilinde net mi?
  2. Secret / IP / dahili URL sizdi mi?
  3. Guvenlik siniri (komut, auth, stop) etkilendi mi? → ikinci reviewer
  4. Test kaniti var mi? (log, bag, ekran, CI)
  5. Anlasilmayan blok var mi? → “acikla veya sil”

Anlamadiginiz kodu merge etmek, baska birinin hatasini sahiplenmektir. LLM ciktisi da sizin sorumlulugunuzdadir.

Secret ve veri hijyeni

Asla:

  • .env, credentials.json, telemetri token, VPN config’i chat’e yapistirmayin
  • Sahadaki koordinat + arac kimligi + ozel haritayi gereksiz yere bulut modele vermeyin
  • “sadece local model” sanip her seyi acmayin; aracın telemetri politikasini okuyun

Yapın:

  • Ornek veri ile sanitize edilmis log
  • Placeholder: API_KEY=***
  • Repoda secret scan (gitleaks vb.) + pre-commit
  • Kurumsal/takım hesabinda veri saklama politikasini yazili tutun

Web tarafinda AdSense/Cloudflare anahtarlari; robotik tarafinda VPN ve GCS baglantilari — ikisi de ayni hijyen kovasinda.

Verimli kullanim: baglam yonetimi

Modelin kotu cevap vermesinin sik nedeni kotu baglamdır.

  • Daraltin: tum monorepo yerine ilgili dugum + mesaj tanimi + hata log’u
  • Hedef yazın: “Nav2 navigate_to_pose action client, Humble, rclpy, iptal destegi”
  • Kisit koyun: “yeni bagimlilik ekleme”, “mevcut QoS’u bozma”
  • Cikti formati: “sadece degisecek fonksiyon”, “diff tarzı”
  • Dogrulama isteyin: “hangi varsayımlari yaptin, listele”

Cok adimli islerde her seyi tek prompt’ta cozmeye calismayin. Once arayuz, sonra implementasyon, sonra test — insan muhendisin de yaptigi gibi.

Teknofest takvimine gore kullanim

Yarışma yaklastikca risk artar. Onerdigim fazlar:

  • Erken sezon: LLM ile iskelet, dokuman, test taslagi serbest; review hafif ama var
  • Entegrasyon: sadece bilinen kaliplar; yeni mimari LLM’e tasarlatilmaz, tartisilir
  • Saha/freeze: kritik path’te LLM yasagi degil, dondurulmus diff disiplini — kucuk, testli, geri alinabilir yama

Son gece “model duzeltir” stratejisi, son gece “derleyici duzeltir” kadar naiftir.

Web icerik / Astro tarafinda da ayni etik

Bu repo gibi sitelerde LLM ile makale uretmek bariz iz birakir: ayni baslik iskeleti, ayni “tuzak 1” dili, ayni sahte benchmark. Okuyucu ve AdSense kalite filtreleri bunu severek cezalandirir. Kural:

  • Deneyim ve somut baglam yoksa yazma
  • Uydurma metrik koyma
  • Review’suz “orijinal” deme

Yani LLM, taslak ve arastirma asistanidir; yazar hala sizsiniz.

Olculebilir verimlilik (abartisiz)

Takimda su metrikleri tutmak faydalidir — mucize KPI degil, trend:

  • PR cevrim suresi
  • Review’da bulunan kritik hata sayisi
  • Build/test kirilma orani
  • “LLM kaynakli rollback” sayisi

Eger hiz artiyor ama rollback artiyorsa arac yanlis kullaniliyordur. Verimlilik = net ilerleme, satir/saat degil.

Kisisel is akisim (ozet)

  1. Sorunu kendim bir cumleyle yazirim
  2. Minimal baglam + kisitlari veririm
  3. Ciktiyi once derleyici/test/sim ile kirarim
  4. Anladigim parcalari alirim, anlamadigimi atarim
  5. PR’da sorumlulugu ustlenirim

Bu akis, “agent her seyi yapsin” hayalinden daha yavas gorunur; saha gecesinde daha hizlidir.

Son soz

LLM aracları Teknofest ve USV yaziliminda guclu bir kuvvet carpani olabilir. Kuvvetin yonu, review kulturu, secret hijyeni ve halusinasyon suphesiyle belirlenir. Mutlak uretkenlik vaadi yok; sorumlulukli kullanimda ise gercek saat kazanci vardir. Kodun altina imzayi atan yine sizsiniz — model degil.