Bu, Apidog'un API testi ve API yaşam döngüsü yönetimi için bir komut satırı aracı olan Apidog CLI'ı nasıl geliştirdiğini paylaşan 10 bölümlük bir seridir. Sırayla okuyabilir veya ilginizi çeken herhangi bir gönderiye atlayabilirsiniz:
| Başlık | Odak | |
|---|---|---|
| 1 | 126 MCP Aracı İnşa Ettik. Ancak Ajan için En İyi Çözüm Bu Değil | Sorun tespiti |
| 2 | Neden Yepyeni Apidog CLI Geliştirdik | Mimari geliştirme |
| 3 | Altın Kural: CLI Gerçekler Üretir, Model Gerçeklere Göre Hareket Eder | Temel felsefe |
| 4 | agentHints: CLI'lara Ajanlarla Konuşmayı Öğretmek |
Yapılandırılmış çıktı |
| 5 | YETENEK: Operasyonel Deneyimi Kod Olarak Gönderme | Operasyonel deneyim |
| 6 | Sayılar Yalan Söylemez: %30 Daha Az Araç Çağrısı, %25 Daha Az Token | Nicel sonuçlar |
| 7 | PRD'den Test Döngüsüne: Apidog CLI ile Tam Bir Ajan İş Akışı | Pratik eğitim |
| 8 | CI/CD Uyumluluğu Neden Ajan Araçları İçin Tartışılmazdır? | DevOps bakış açısı |
| 9 | AI Branch: AI Ajanları ile Daha Güvenli Proje Değişiklikleri | Güvenlik katmanı |
| 10 | Önce Şartname Dündü. Yetenek Odaklıya Hoş Geldiniz. | Vizyon ve gelecek |
Ajan dostluğu, CI/CD dostluğu üzerine kurulmalıdır. apidog run'ın hem CI işlem hatlarına hem de Yapay Zeka Ajanlarına nasıl hizmet ettiğini ve bu çifte amacın neden önemli olduğunu öğrenin
İkili Kitle
Ajan araçları oluştururken, yalnızca konuşma deneyimine odaklanmak kolaydır.
Apidog CLI'ın unutulmaması gereken önemli bir hizmet hedefi vardır: CI/CD.
| Orijinal Kitle | Yeni Kitle |
|---|---|
| CI/CD işlem hatları | Yap-Zeka Ajanları |
| Harici planlama sistemleri | Sohbet tabanlı iş akışları |
| Betikler ve otomasyon | Kullanıcı odaklı görevler |
Birçok ekip, Apidog'u işlem hatlarında zaten şu amaçlarla kullanıyor:
- API otomatik testleri çalıştırma
- Raporlar oluşturma
- Kalite geçitlerini sürdürme
Bu senaryo şunları gerektirir:
| Gereksinim | Neden |
|---|---|
| Kararlı çıktı | Betikler öngörülebilir sonuçları ayrıştırır |
| Betiklenebilir komutlar | Otomatik yürütme |
| Açık çıkış kodları | İşlem hattı geçme/kalma kararları |
| Yapılandırılabilir parametreler | Ortama özel çalıştırmalar |
Otomasyon, yalnızca Ajanları barındırmak için bozulamaz.
Ana İlke
Ajan dostluğu, CI/CD dostluğunun üzerine inşa edilmelidir.
Yalnızca Yapay Zeka tarafından kullanılabilecek bir protokolü yeniden icat etmedik. Mühendislik sistemleri tarafından zaten doğrulanmış bir formun üzerine yapılandırılmış çıktı, Şema doğrulama ve Ajanların ihtiyaç duyduğu sonraki adım rehberliğini ekledik.
Ajan çağında iyi CLI mühendislik araçları şunlara hizmet edebilmelidir:
| Tüketici | İhtiyaçları |
|---|---|
| İnsanlar | Okunabilir çıktı, yardım metni, etkileşimli özellikler |
| Betikler | Kararlı çıktı, betiklenebilir komutlar |
| CI işlem hatları | Çıkış kodları, rapor dosyaları, yapılandırılabilir çalıştırmalar |
| Yap-Zeka Ajanları | Yapılandırılmış sonuçlar, doğrulama, rehberlik |
apidog run: Temel Komut
Temel aynı kalır:
apidog run --project <projectId> \
--test-scenario <scenarioId> \
--environment <environmentId> \
-r "cli,html,junit" \
--out-dir ./apidog-reportsBu komut dört tüketicinin hepsine hizmet eder.
CI Neyi Önemser
| CI Gereksinimi | CLI Özelliği |
|---|---|
| Çıkış kodları | Geçme için 0, kalma için 1—işlem hattı kararı |
| Rapor dosyaları | --out-dir içinde HTML, JUnit, JSON formatları |
| Kararlı parametreler | Sürümler arasında tutarlı seçenekler |
| Yapılandırılabilir çalıştırmalar | İterasyonlar (-n), gecikmeler (--delay-request), ortamlar (-e) |
Örnek CI kullanımı:
# GitHub Actions
- name: API Testlerini Çalıştır
run: |
apidog run --project $PROJECT_ID \
--test-scenario $SCENARIO_ID \
--environment $ENV_ID \
-r "junit" \
--out-dir ./reports
env:
PROJECT_ID: ${{ secrets.APIDOG_PROJECT_ID }}
SCENARIO_ID: ${{ secrets.APIDOG_SCENARIO_ID }}
ENV_ID: production
- name: Test Raporunu Yayınla
uses: mikepenz/action-junit-report@v3
with:
report_paths: './reports/junit.xml'İşlem hattı çıkış kodunu okur → geçer veya kalır → raporu yayınlar.
Ajanlar Neyi Önemser
| Ajan Gereksinimi | CLI Özelliği |
|---|---|
| Yapılandırılmış sonuçlar | data nesnesi ile JSON çıktı formatı |
| Başarısızlık nedenleri | error nesnesinde belirli hata detayları |
| Sonraki adım önerileri | nextSteps dizisi ile agentHints |
| Doğrulama | Yazmadan önce cli-schema validate |
Örnek Ajan kullanımı:
{
"success": true,
"stats": {
"total": 10,
"passed": 8,
"failed": 2
},
"failures": [
{
"step": "Ödeme işleme",
"error": "Onay başarısız: durum != 'başarılı'",
"response": {...}
}
],
"agentHints": {
"summary": "2 test başarısız oldu. Hata detaylarını inceleyin.",
"nextSteps": [
"Ödeme işleme adımındaki hatayı ayıklayın.",
"Onayı kontrol edin: beklenen durum 'başarılı'.",
"Düzeltmeden sonra test durumunu veya uç noktayı güncelleyin."
]
}
}Ajan JSON'u ayrıştırır → hataları anlar → sonraki adımları takip eder.
Aynı Komut, Farklı Tüketiciler
apidog run --project <projectId> --out-dir ./apidog-reports
| Tüketici | Neyi Çıkarır |
|---|---|
| CI işlem hattı | Çıkış kodu (0/1), rapor dosya konumu |
| Ajan | JSON çıktısı, agentHints, hata detayları |
| İnsan | Konsol çıktısı, HTML rapor bağlantısı |
| Betik | Stdout/stderr, yapılandırılabilir format |
Tek bir komut hepsi için yeterlidir.
Entegrasyon Noktaları
Apidog CLI şunlarla entegrasyonu destekler:
| CI Aracı | Entegrasyon |
|---|---|
| Jenkins | İşlem hattı adımları, rapor yayınlama |
| GitLab CI | YAML yapılandırması, yapıtlar |
| GitHub Actions | İş akışı adımları, gizli yönetim |
| CircleCI | Orbs, iş akışı yapılandırması |
| Azure DevOps | İşlem hattı görevleri, test sonuçları |
Tüm entegrasyonlar aynı apidog run temelini kullanır.
Kalite Geçidi ve Doğrulama
| Kullanım Durumu | Anlamı |
|---|---|
| CI kalite geçidi | Geçme/kalma işlem hattı ilerlemesini belirler |
| Ajan doğrulama | Değişikliklerden sonra doğruluğu teyit etmek için çalıştırılır |
Aynı komut, farklı bağlam:
| Bağlam | Ne Zaman Kullanılır | Amaç |
|---|---|---|
| CI | Kod gönderildikten sonra | Kötü kodun dağıtılmasını önler |
| Ajan | Test oluşturulduktan sonra | Ajanın çalışmasının doğru olduğunu teyit eder |
Temel İlke
Bu seride anlattığımız her şey—cli-schema, agentHints, SKILL—bu temel üzerine kuruludur:
┌─────────────────────────────────────────┐
│ Ajan Özellikleri │
│ (cli-schema, agentHints, SKILL) │
├─────────────────────────────────────────┤
│ CI/CD Temeli │
│ (apidog run, çıkış kodları, raporlar) │
├─────────────────────────────────────────┤
│ Çekirdek CLI │
│ (komutlar, parametreler, yürütme) │
└─────────────────────────────────────────┘Ajan özellikleri, CI özelliklerinin yerini almaz. Onları genişletirler.
Sırada Ne Var
Sorun tespitinden pratik iş akışlarına ve temel ilkelere kadar tüm resmi ele aldık.
Şimdi bir kritik parça daha var: güvenlik.
Ajanlar proje kaynaklarını değiştirdiğinde, ana dalı doğrudan etkilemelerini nasıl önlersiniz?
9. Bölüm'de, AI Branch: AI Ajanları ile Daha Güvenli Proje Değişiklikleri, AI Branch'ın nasıl izole bir düzenleme ortamı sağladığını inceleyeceğiz—değişiklikler insan incelemesine kadar ayrı bir dalda kalır, böylece Ajan odaklı değişiklikler için bir güvenlik katmanı oluşturulur.
Temel Çıkarımlar
- CI/CD uyumluluğu temeldir, isteğe bağlı değildir
- Ajan dostluğu, CI dostluğunun üzerine inşa edilmiştir
- Aynı komut (
apidog run) CI'ye, Ajanlara, insanlara, betiklere hizmet eder - CI ihtiyaçları: çıkış kodları, raporlar, kararlı parametreler
- Ajanların ihtiyaçları: yapılandırılmış çıktı, hata detayları, sonraki adımlar
- Kalite geçidi (CI) + doğrulama (Ajan) = ikili amaç
Tek bir çalışma alanında API'ları tasarlamak, taklit etmek, test etmek ve belgelemek için Apidog'u indirin. Komut satırı API testi, CI otomasyonu ve AI Ajanı iş akışları için Apidog CLI hakkında daha fazla bilgi edinin.
