Benzer kazaların tekrar yaşanmaması için.
Herkes bunu okuyabilse çok mutlu olurum, böylece 1,5 milyon yenimiz bir anlam kazanmış olur!!! 🥺
Şimdilik bunu yap
- Claude Team organizasyonu aylık kullanım limitlerini ayarlayın (tabii ki)
- Claude Code Review için hizmet başına limitler belirleyin
- Claude Code Review tetikleyicilerini "her push"tan "bir kez"e değiştirin
- Kredi kartı işlem günlüklerini belirli bir kanala akıtabiliyorsanız, üzerlerinde rahat bir göz gezdirin (bu sefer böyle fark ettim)
- Güvenlik önlemlerini ve kontrol mekanizmalarını iyice uygulayın
Claude Team Organizasyonu Aylık Kullanım Limiti Ayarı
Şuradan: https://claude.ai/admin-settings/usage

Enterprise'da, aylık olandan çok daha ayrıntılı limitler belirleyebilirsiniz, bu nedenle bunları kullanmakta fayda var.
Claude Code Review Hizmet Başına Limiti
Şuradan: https://claude.ai/admin-settings/usage

Claude Code Review tetikleyicisini "her push"tan "bir kez"e değiştirin
Şuradan: https://claude.ai/admin-settings/usage

Ne oldu
Sakin bir Cumartesi akşamı, organizasyonda bir huzursuzluk dalgası yayıldı.


1,5 milyon yen Claude Code Review'a akıp gidiyordu. 😇
Neden oldu
Sonuca atlamak gerekirse, şunlar oluyordu:
Claude Code Review çalışır
↓
İnceleme yorumları eklenir
↓
AI Ajanı (Codex/Claude vb.) düzeltme gerekip gerekmediğine karar verir
↓
AI Ajanı gerekirse düzeltir ve commit/push yapar
↓
Push tarafından tetiklenen Claude Code Review tekrar çalışır
↓
Rebase/force push sonraki Stacked PR'lara yayılır
↓
Claude Code Review sonraki PR'larda da çalışır
↓
Sonsuza kadar tekrarla ♾️
Geliştirmekte olduğumuz depoda, GitHub PR'ları için otomatik olarak kod incelemesi yapan Claude Code Review'ı kullanıma sunduk. Ayrıca, bu sefer nispeten büyük ölçekli değişiklikleri birden fazla PR'a bölüp bunları yukarı akıştan aşağı akışa doğru doğrusal olarak istiflemek için AI ajanları kullanıyorduk. (Bu tür bir PR dizisine Stacked PR denir). Ayrıca, Claude Code Review, token kullanımına dayalı bir kullandıkça öde hizmetidir.
Stacked PR
feat/branch-1 (PR 1)
↓
feat/branch-2 (PR 2)
↓
feat/branch-3 (PR 3)
↓
…
↓
feat/branch-N (PR N)
Geriye baktığımda, bu incelemelerin ortalama maliyeti inceleme başına 25,81 dolardı 😱

Anthropic resmi blogunda bile, Code Review'un derinlemesine incelemeleri hedeflediği ve Claude Code GitHub Action gibi hafif seçeneklerden daha pahalı olacağı açıklanmıştı, ancak bu kadar olacağını hiç tahmin etmemiştim...
Bu sefer, büyük ölçekli değişiklikler yapmak için yerel olarak birden fazla AI ajanı kullanırken birden fazla Stacked PR oluşturduk. Claude Code Review, bu PR'lar oluşturulduğunda çalıştırılır. Normalde bir insan inceleme içeriğini kontrol eder ve ele alıp almamaya karar verir, ancak bu sefer, insanın son kontrolü yapacağını varsayarak, incelemeyi ele alıp almama kararı da dahil olmak üzere birincil yanıtı AI ajanına devretmiştik.
Sorunun derinlemesine incelenmesi
1. Birden fazla Stacked PR kullanarak karmaşık özelliklerle ilerlemek
Bu görev nispeten büyük değişiklikler içeriyordu. Her şeyi tek bir PR'a koymak incelemeyi zorlaştırdığı ve yayınlama sırasını düşündüğümüz için birden fazla PR'a böldük. PR'ları bölmek hata değildi. Sorun, bunların doğrusal Stacked PR'lar olmasıydı.
Stacked PR'larda, yukarı akıştaki bir PR'ı düzeltirseniz, aşağı akıştaki PR'lar bu değişiklikleri entegre etmelidir. Başka bir deyişle, yukarı akışa push yapmak, aşağı akışa rebase/push yayılımına neden olur.
Bu yapı, her push'ta tetiklenen Claude Code Review ayarıyla uyumsuzdu.
2. İnceleme yanıtını tamamen AI'ya bırakmak
İncelemeler her push'ta çalıştığı ve inceleme yorumları arttığı için AI ajanına aşağıdaki görevleri atadık:
- Çözülmemiş inceleme yorumlarını kontrol et
- Bunları ele alıp almamaya karar ver
- Ele alınacaksa, düzelt ve yerel testleri geç
- Commit/push yap
- İnceleme yorumlarına yanıt ver ve onları çöz
- Push yaptıktan sonra bir süre ek incelemeleri izle
Orijinal hedef, operasyon kontrolü ve incelemeyi yaptığımda AI'nın önerilere verdiği yanıtların tamamlanmış olmasıydı.
İnceleme yorumlarına yanıt politikası konusunda nihai kararı bir insanın verdiğinden emin olsaydık, muhtemelen bunu önleyebilirdik.
3. Mesai saatlerinden sonra da çalışmaya devam etti
Mesai saatlerinden sonra bile yukarıdaki süreci çalıştırıyor ve izliyordum, ancak en azından işi bitirdiğimde durdurmalıydım. Bu tam bir özeleştiri noktası.
Yerel AI ajanını abonelik bazında kullandığım için, API maliyetlerinin o anda arttığı hissi zayıftı. Öte yandan, GitHub tarafında çalışan Claude Code Review, Anthropic organizasyon kullanımını tüketiyordu. Anthropic Console'da, hedef depo için ortalama maliyet inceleme başına 25,81 dolar olarak görüntüleniyordu. Bu maliyet hissini hafife almak da özeleştiri noktalarından biriydi.
Algılanan yerel maliyet ile gerçek faturalanan maliyet arasında bir boşluk varken, kullandıkça öde AI'nın uzun süre çalıştırıldığı bir durum yarattım.
Ne yanlış gitti
1. Pahalı incelemeler için "her push'ta tetikleme" ayarını hafife almak
Bu sefer, Anthropic Console ayarı incelemelerin her push'ta çalışması içindi. Her push'ta inceleme yapma özelliği kullanışlı olsa da, her değişiklikte öneriler sık olabilir, bu nedenle tetikleyiciler dikkatlice düşünülmelidir.
2. Stacked PR'lar ve otomatik incelemeler arasındaki uyumu yanlış değerlendirmek
Stacked PR'lar, PR'ları incelenebilir birimlere ayırmanın etkili bir yoludur. Ancak, yukarı akıştaki bir PR'ı düzeltmek, aşağı akıştaki PR'ların rebase'ini gerektirir. Ve aşağı akıştaki PR'a push yapmak, orada da bir inceleme tetikledi. Bir PR için bir inceleme olacakken, Stacked PR'da N PR'a yayıldı ve bu miktarda inceleme yapıldı.
3. Karar verme, düzeltme ve push'u AI'ya devretmek
İnceleme yorumlarını düzenlemek veya yerel düzeltmeler için AI kullanmak çok kullanışlıdır. Ancak, bu sefer ona çok fazla yetki verdik. Bir inceleme yorumunu görme, ele alma, push yapma ve tekrar izleme döngüsü, açık insan onayı ile çalıştırılmalıydı.
4. Organizasyon limitini son savunma hattı yapmak
Sonuç olarak, organizasyon limitine yaklaştı ve anormalliği orada fark ettik. Bir limite sahip olmak iyiydi. Ancak, 10.000 dolar son savunma hattı için çok yüksekti. Ayrıca, etkinleştirilen ek kullanım ve yansıtma zamanlamasının etkisiyle, aylık organizasyon maliyeti neredeyse tek bir günde 10.000 doları aştı. Çok daha erken durduracak güvenlik önlemlerine ihtiyacımız vardı.
Özet
Claude Code Review ile bir günde 1,5 milyon yeni erittim. Şu anda bir para iade talebi gönderiyorum. Sebep, Claude Code Review her push'ta tetiklenecek şekilde ayarlanmışken, AI ajanı düzeltmeleri/push'ları ve Stacked PR'ların rebase zincirinin bir inceleme ve düzeltme döngüsü oluşturmasıydı.
Bu sefer, AI odaklı geliştirmenin rahatlığını fazla aldık ve güvenlik ile maliyet güvenlik önlemlerini ihmal ettik. Şimdiye kadar, AI'yı kullanmamıza izin verilen bir aşamaydı, bu nedenle çeşitli ajanlar nispeten ucuza sağlanıyordu, ancak artık faydalarını bildiğimize göre iş olarak bizden düzgün bir şekilde para alacakları bir aşamaya girdiğimizi düşünüyorum.
Şimdi AI çağı için geliştirme organizasyonumuzu yeniden icat ediyoruz. https://supateam.com/ Bu deneyimi kullanacağımızdan emin olacağız.





