PR-Agent Nedir? AI Destekli Kod İncelemesi

PR-Agent Nedir?

PR-Agent, pull request'ler için otomatik açıklama, inceleme ve iyileştirme önerisi üreten açık kaynak bir AI ajanı. Uzun süre Qodo (eski adıyla CodiumAI) tarafından geliştirildi, sonra topluluğa bağışlandı ve şu anda GitHub'da the-pr-agent organizasyonu altında, topluluk bakımında yaşıyor.

Tasarımda dikkat çeken bir tercih var: her araç tek bir LLM çağrısıyla çalışıyor. Ajan bir PR'ı incelemek için onlarca istek atmıyor, tek istek atıyor. Yanıt yaklaşık 30 saniyede geliyor ve maliyet düşük kalıyor. Büyük PR'lar için de bir sıkıştırma stratejisi var; 40 dosyalık bir diff'i de makul biçimde özetleyebiliyor.

Araçlar

Ajan aslında tek bir araç değil, her biri ayrı komutla tetiklenen bir dizi araç. PR'a veya issue'ya yorum olarak komutu yazıyorsunuz, ajan orada yanıtlıyor:

  • /describe PR açıklaması üretir: başlık, özet, dosya bazlı anlatım ve etiket.
  • /review olası sorunları, güvenlik kaygılarını ve inceleme eforunu listeler.
  • /improve somut kod önerileri verir, satır içi yorum olarak.
  • /ask ile PR hakkında serbest soru sorabilirsiniz, "bu bölüm ne yapıyor?" gibi.
  • /add_docs eksik dokümantasyonu olan bileşenler için dokümantasyon yazar.
  • /update_changelog CHANGELOG.md dosyasını PR'a göre günceller.
  • /generate_labels ve /similar_issue gibi daha küçük işler yapan komutlar da var. /help hepsini listeler.

Nasıl Çalışır?

Çalışma prensibi basit. Ajan PR diff'ini alıyor, sıkıştırıp modele taşınabilir hale getiriyor ve tek çağrıyla istenen çıktıyı üretiyor. Model tarafında esneklik yüksek. OpenAI, Anthropic, Gemini, DeepSeek, Mistral kullanılabiliyor; LiteLLM üzerinden erişilen her model de olur, yani Azure OpenAI, Bedrock, Vertex AI ya da yerel Ollama da olur.

Self-hosted çalıştırırsanız kodunuz yalnızca sizinle model sağlayıcınız arasında kalıyor. Araya üçüncü bir servis girmiyor. Kapalı kaynak SaaS araçlarında bu garantiyi vermek zaten mümkün değil.

Kurulum

En pratik yol GitHub Action. Depo köküne şu dosyayı koymanız yeterli:

# .github/workflows/pr-agent.yml
name: PR Agent
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  pr_agent_job:
    runs-on: ubuntu-latest
    steps:
    - name: PR Agent action step
      uses: the-pr-agent/pr-agent@main
      env:
        OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

{"children":[{"type":"paragraph","version":1,"children":[{"color":"","type":"extended-text","version":1,"styles":{},"textMode":"exact","text":"","format":0,"detail":0,"mode":"normal","style":""}],"direction":null,"format":"","textAlignment":"","indent":0}"}

GitHub'ın kendi GITHUB_TOKEN'ını kullandığı için ek yetkilendirme gerekmiyor. Yapmanız gereken tek şey LLM sağlayıcınızın anahtarını secret'lara eklemek. Bundan sonra her açılan PR'da ajan otomatik çalışıyor.

Tek seferlik bakmak için CLI da iş görüyor:

pip install pr-agent
export OPENAI_KEY=your_key_here
pr-agent --pr_url https://github.com/owner/repo/pull/123 review

{"children":[{"type":"paragraph","version":1,"children":[{"color":"","type":"extended-text","version":1,"styles":{},"textMode":"exact","text":"","format":0,"detail":0,"mode":"normal","style":""}],"direction":null,"format":"","textAlignment":"","indent":0}"}

GitLab, Bitbucket, Azure DevOps ve Gitea için ayrı kurulum rehberleri mevcut. Docker ile self-hosted da mümkün. Bu arada not: 0.34.2'den itibaren image'lar pragent/pr-agent altında yayınlanıyor, eski codiumai/pr-agent arşiv olarak donduruldu.

Yapılandırma TOML dosyasıyla yapılıyor, prompt'lar JSON üzerinden özelleştirilebiliyor. Projenizin kendi kurallarını da SKILL.md dosyalarıyla aktarabiliyorsunuz; ajan bunları incelemeye varsayılan olarak dahil ediyor.

Pratik İpuçları

Ekip olarak yeni başlıyorsanız /review ile başlayın. Etkisi en hızlı görülen bu; insan gözünden kaçan riskli yerleri öne çıkarıyor. /describe özellikle çok dosyalı PR'larda açıklama yazma işini neredeyse sıfırlıyor. Kodunuzu üçüncü bir servise göndermek istemiyorsanız self-hosted kurun ve kendi anahtarınızla çalıştırın. Prompt'lar configuration.toml dosyasında duruyor; inceleme kategorilerini ekibinizin ihtiyacına göre ayarlayın.

Sonuç

PR-Agent kod incelemesini tamamen ele almıyor, böyle bir iddiası da yok. Yaptığı iş ilk taramayı AI'ya yaptırıp insanın son karara odaklanmasını sağlamak. Kurulumu dakikalar sürüyor. Açık kaynak olduğu için prompt'tan modele kadar her şey sizde kalıyor. Bir sonraki açtığınız PR'da deneyip farkı kendiniz görün.