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:
/describePR açıklaması üretir: başlık, özet, dosya bazlı anlatım ve etiket./reviewolası sorunları, güvenlik kaygılarını ve inceleme eforunu listeler./improvesomut kod önerileri verir, satır içi yorum olarak./askile PR hakkında serbest soru sorabilirsiniz, "bu bölüm ne yapıyor?" gibi./add_docseksik dokümantasyonu olan bileşenler için dokümantasyon yazar./update_changelogCHANGELOG.md dosyasını PR'a göre günceller./generate_labelsve/similar_issuegibi daha küçük işler yapan komutlar da var./helphepsini 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.