Bu sayfada3 bölüm
Büyük bir kod tabanındaki benzer dönüşümler, bağımlılık yükseltmeleri ve test hazırlıkları ekibinizin zamanını alabilir. Bu işlerde LLM ajanlarından yararlanıyoruz ve işe korunacak davranışı ve kabul ölçütlerini belirleyerek başlıyoruz. Mimari kararları ve yayın onayını, çalışma modeline göre ekibimiz veya iki ekip birlikte veriyor.
Ajanlar ne yapıyor
- Eski kod tabanında mimari ve veri akışı analizi
- Mevcut davranıştan karakterizasyon (snapshot/golden) testi üretme
- Çerçeve geçişi: Java 8'den 21/25'e, AngularJS'ten React'e, .NET Framework'ten .NET 10'a, jQuery'den TypeScript'e
- Bağımlılık yükseltmesi ve uyumluluk doğrulaması (Dependabot ve Renovate'in ötesinde otomasyon)
- Kullanımdan kalkmış API çağrılarının modern karşılıklarıyla değiştirilmesi
- Test kapsamındaki eksiklerin tamamlanması ve flaky testlerin tespiti
- Mimari not, mimari karar kaydı (ADR) ve runbook üretimi
Nasıl çalışıyoruz
Kodu değiştirmeden önce mevcut girdi ve çıktılardan karakterizasyon testleri üretiyor, veri akışını haritalıyoruz. Ardından ajan her seferinde tek bir dönüşüm türü uygulayarak küçük ve okunabilir pull request'ler açıyor. Her pull request derleme, test, statik analiz ve ekip incelemesinden geçtikten sonra birleştiriliyor.
Kaynak kodun dış sağlayıcıya çıkamadığı ortamlarda ajanları kendi Kubernetes kümenizde vLLM veya Ray Serve üzerinde çalışan modellerle kuruyor; ağ çıkışlarını, araç bağlantılarını ve loglamayı güvenlik politikanıza göre sınırlandırıyoruz.
Kullandığımız araçlar
- Temel modeller
- Claude (Anthropic)GPT (OpenAI)Llama (Meta)Kendi ortamınızda çalışan açık kaynak seçenekler
- Ajan çerçeveleri
- Claude Agent SDKOpenAI Agents SDKLangGraph
- Statik analiz ve AST araçları
- tree-sittersemgrepOpenRewrite (Java)ts-morph (TypeScript)Roslyn analizörleri (.NET)
- Değerlendirme ve gözlemlenebilirlik
- LangfuseOpenTelemetry GenAI