Kısa özet: AI code review en verimli şekilde insan reviewer’ın yerine değil, pull request sürecinin daha erken bir kontrol katmanı olarak kullanıldığında çalışır. Güçlü bir pipeline: geliştirici kontrolü → CI → statik analiz → AI review → düzeltme → yeniden AI review → insan review → merge şeklinde kurulabilir. GitHub Copilot code review artık draft pull request’leri, yeni push’ları ve korunan branch’lere açılan PR’ları otomatik inceleyecek şekilde ruleset üzerinden yapılandırılabiliyor. Buna rağmen Copilot yalnızca Comment review bırakıyor; Approve veya Request changes vermiyor ve required approval yerine geçmiyor. Codex ise pull request’in amacını diff ile karşılaştırabiliyor, repository ve dependency bağlamını inceleyebiliyor, kod ve testleri çalıştırarak bulgularını doğrulayabiliyor. OpenAI de Codex’i insan reviewer’dan önce çalışan ek bir review katmanı olarak konumlandırıyor.
Kısa doğrudan cevap
AI code review pipeline için önerilen temel sıra şöyledir: ```text Kod değişikliği ↓ Developer self-review ↓ Type-check + lint ↓ Unit / integration tests ↓ Static analysis ↓ AI Code Review ↓ Düzeltmeler ↓ AI Re-review ↓ Human Review ↓ Required checks ↓ Merge
Buradaki amaç AI’a final merge kararı vermek değildir. Amaç, insan reviewer PR’a ulaşmadan önce bariz bug’ları, eksik error handling’i, güvenlik problemlerini, test eksiklerini ve maintainability sorunlarını erken yakalamaktır. Böylece insan reviewer daha fazla mimari, ürün davranışı, iş kuralları, veri güvenliği ve production riski üzerine odaklanabilir.
## Neden yalnızca AI review veya yalnızca CI yeterli değil?
Çünkü farklı kontrol mekanizmaları farklı sorun sınıflarını yakalar:
- TypeScript compiler: `const total: number = "100"` gibi tip hatalarını yakalar ama ödeme mantığındaki iş kuralı hatasını yakalayamaz.
- Linter: Kod standardını yakalar ama business rule doğruluğunu bilemez.
- Unit test: Yazılmış senaryoları doğrular ama eksik senaryoyu garanti etmez.
- Static security analysis (SAST / CodeQL): Bilinen güvenlik kalıplarını tarar ama iş bağlamını her zaman anlayamaz.
- AI review: Semantik ve niyet bazlı analiz yapar ama false positive / negative üretebilir.
- İnsan review: Domain ve mimari bağlamını taşır ama dikkatsizlikten basit detay hatalarını kaçırabilir.
En güçlü yaklaşım: Tek bir “en iyi reviewer” aramak yerine farklı reviewer türlerini katmanlamaktır.
## İdeal pipeline nerede başlamalı?
### Aşama 1 — Developer self-review
AI eklemeden önce ilk kontrol `git diff` veya IDE diff görünümü ile developer'da olmalıdır. Gereksiz dosya, temporary log, hardcoded secret veya agent sapmaları temizlenmelidir.
### Aşama 2 — Type-check ve lint
`npm run typecheck` ve `npm run lint` gibi ucuz ve deterministik kontroller AI reviewer'dan önce çalışmalıdır. Böylece AI kredileri basit syntax hatalarında harcanmaz.
### Aşama 3 — Testler
Unit, integration, API ve authorization testleri çalışmalıdır. Örneğin auth değişikliğinde yalnızca başarılı login değil, expired token veya cross-tenant engelleri gibi negatif senaryolar da doğrulanmalıdır.
### Aşama 4 — Static analysis
CodeQL, Secret Scanning, Dependency Analysis gibi araçlar deterministik kurallarla çalışır. GitHub Code Quality metrikleri ve ruleset'ler yetersiz coverage veya güvenlik ihlallerinde hard merge gate olarak kullanılabilir.
### Aşama 5 — İlk AI review
Temizlenen PR üzerine GitHub Copilot veya OpenAI Codex çağrılır. AI correctness, security, edge cases, error handling ve backward compatibility taraması yapar.
## GitHub Copilot code review pipeline’a nasıl eklenir?
Copilot review manuel veya otomatik (ruleset üzerinden "Automatically request Copilot code review") çalıştırılabilir.
- Draft PR review: PR henüz draft durumundayken erken geri bildirim sağlar.
- Review new pushes: PR'a yeni commit geldikçe otomatik yeniden review yapılmasını sağlar.
- Approval durumu: Copilot yalnızca `Comment` bırakır; `Approve` veya `Request changes` vermez. Required approval yerine geçmez.
### Copilot review derinliği (Effort Seviyeleri)
| Effort Seviyesi | İnceleme Derinliği | İdeal Kullanım Alanı | Kaynak / Kredi Kullanımı |
| --- | --- | --- | --- |
| Lite | Hızlı ve standart review | Düşük riskli PR'lar, basit refactor | Standart |
| Balanced | Karmaşık mantık, güvenlik ve cross-service analizi | Backend, Auth, API ve kritik PR'lar | Daha fazla Actions/AI kredisi |
Bu tablo InoviqLab önerisidir.
## Codex pipeline’a nasıl eklenebilir?
Codex PR’ın amacını diff ile karşılaştırabilir, codebase ve dependency'lerde gezinebilir, test çalıştırabilir. PR içerisinde `@codex review` veya `@codex review for security vulnerabilities` gibi spesifik talimatlarla çağrılabilir.
## AI reviewer’lara farklı görevler vermek
İki AI kullanılıyorsa jenerik review yerine görev ayrımı yapılmalıdır:
- Reviewer 1 (Copilot): Correctness, edge cases, tests.
- Reviewer 2 (Codex): Security, authorization, backward compatibility.
## Repository instruction’ları (AGENTS.md & copilot-instructions.md)
`.github/copilot-instructions.md` ve `AGENTS.md` dosyaları AI reviewer'a mimari kuralları, multi-tenant kısıtlarını ve test zorunluluklarını öğretir.
Önemli Güvenlik Uyarısı: Instruction dosyaları PR head branch'inden okunabildiği için CODEOWNERS ile korunan dosyalar arasında yer almalıdır.
### Aşama 6 — AI bulgularını sınıflandırın
- P0 (Kritik): Auth bypass, data loss, secret exposure. Hard block.
- P1 (Yüksek): Functional bug, concurrency, backward compatibility.
- P2 (Orta): Maintainability, zayıf error handling.
- P3 (Düşük): Style, isimlendirme, minor refactor.
AI önerileri doğrudan kabul edilmemeli; `AI önerdi → doğrula → kabul/reddet` süzgecinden geçmelidir.
### Aşama 7 — Re-review
Kritik düzeltmelerden sonra `Review new pushes` ile AI re-review tetiklenir.
### Aşama 8 — İnsan review
İnsan reviewer temizlenmiş PR üzerinde intent (niyet), mimari, yetkilendirme, domain iş kuralları ve veri güvenliğine odaklanır.
### Aşama 9 — Merge gate
Merge kararı "AI söyledi" diye verilmez. Deterministik kontroller (CI, SAST, test coverage, human approval) merge gate oluşturur.
### Aşama 10 — Merge sonrası doğrulama
Staging doğrulaması, smoke testler ve monitoring ile süreç tamamlanır.
## Review maliyeti nasıl kontrol edilir?
## | Risk Seviyesi | AI Review Seviyesi | Önerilen Pipeline |
| --- | --- | --- |
| Düşük Risk | Lite | CI → Copilot Lite → Human |
| Orta Risk | Balanced | CI → Copilot Balanced → Human |
| Yüksek Risk | Balanced + Targeted Codex | CI → Security Scan → Copilot → Codex → CODEOWNERS |
Bu tablo InoviqLab önerisidir.
## Pipeline için önerilen sorumluluk dağılımı
## | Pipeline Katmanı | Sorumlu Araç / Kişi | Ana Görev |
| --- | --- | --- |
| Deterministik Kontrol | Compiler, Linter, Test Runner, SAST | Syntax, type error, test kırılımları, bilinen CVE'ler |
| Semantik İnceleme | GitHub Copilot / OpenAI Codex | Edge case'ler, error handling, mantık hataları, test önerileri |
| İnsan Onayı | Senior Engineer / CODEOWNER | İş gereksinimi, mimari uyum, domain riski, prod güvenliği |
## AI Code Review Pipeline Kontrol Listesi
- Repository: Branch protection aktif, PR ve status check'ler zorunlu, CODEOWNERS tanımlı.
- Pre-review: Developer self-diff yaptı, type-check, lint, unit/integration testler ve SAST geçildi.
- AI Review: Risk seviyesine uygun effort seçildi, draft/new push re-review yapılandırıldı, P0-P3 severity sınıflandırması uygulandı.
- Human Review: İnsan reviewer iş mantığına, yetkilendirmeye ve veri güvenliğine odaklandı; required human approval tamamlandı.
- Merge Gate: Deterministik CI yeşil, unresolved critical finding yok, staging ve rollback hazır.
## InoviqLab teknik değerlendirmesi
Bu bölüm InoviqLab değerlendirmesidir; GitHub veya OpenAI ürün dokümantasyonundan ayrıdır.
- İnsan review'u kaldırmayın, kalitesini artırın: AI erken hataları temizlesin, insan yüksek değerli kararlara odaklansın.
- AI yorumları merge gate değil, signal olmalıdır: Hard gate deterministik CI ve insan onayına verilmelidir.
- Review pipeline'ı ölçün: False positive oranı, kabul edilen yorum yüzdesi ve PR lead time takip edilmelidir.
## Sonuç
AI code review pipeline’ın amacı insan reviewer’ı kaldırmak değil, review sürecindeki işleri doğru kontrol katmanına dağıtmaktır.
Temel prensip: AI reviewer insanın yerine değil, insan review’una ulaşmadan önce kod kalitesini yükselten bir katman olarak kullanılmalıdır.