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 anlatan 10 bölümlük bir seridir. Sırasıyla okuyabilir veya ilginizi çeken herhangi bir gönderiye atlayabilirsiniz:
| Başlık | Odak Noktası | |
|---|---|---|
| 1 | 126 MCP Aracı Geliştirdik. Ama Ajan İçin En İyi Çözüm Bu Değil | Problem keşfi |
| 2 | Neden Yepyeni Apidog CLI'ı Geliştirdik | Mimari geliştirme |
| 3 | Altın Kural: CLI Gerçekleri Üretir, Model Gerçekler Üzerinde Hareket Eder | Temel felsefe |
| 4 | agentHints: CLI'lara Ajanlarla Konuşmayı Öğretmek |
Yapılandırılmış çıktı |
| 5 | BECERİ: Operasyonel Deneyimi Kod Olarak Göndermek | 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 Eksiksiz Bir Ajan İş Akışı | Pratik eğitim |
| 8 | CI/CD Uyumluluğu Neden Ajan Araçları İçin Tartışılmazdır | DevOps bakış açısı |
| 9 | Yapay Zeka Dalı: Yapay Zeka Ajanları ile Daha Güvenli Proje Değişiklikleri | Güvenlik katmanı |
| 10 | Önce Şartname Dündü. Yetenek-Önce'ye Hoş Geldiniz. | Vizyon ve gelecek |
Modelin tüm kuralları ezberlemesini sağlamayın; kuralların doğru yerlerde yürütülmesine izin verin. cli-schema validate, Şemayı bilgiden bir kalite kapısına dönüştürür.
Temel İlke: Kuralların Doğru Yerlerde Yürütülmesine İzin Verin.
Tecrübemizden bir temel ilke damıttık:
Modelin tüm kuralları ezberlemesini sağlamayın. Kuralların doğru yerlerde yürütülmesine izin verin.
Bu, Ajan değerlendirmesinden çıkan bir derse benzer:
| Gösterge Türü | Ait Olduğu Yer |
|---|---|
| Deterministik göstergeler | Betikler, kod, otomatik kontroller |
| Semantik yargılar | LLM'ler, model akıl yürütmesi |
Apidog CLI + BECERİ'de:
| Ne | Nerede |
|---|---|
| Deterministik yapı doğrulama | CLI (cli-schema) |
| Görev yargısı ve üretimi | Ajanlar |
CLI'nin yapıyı doğrulamasını sağlayın. Ajanların içeriği oluşturmasını sağlayın.
Model Hafızasıyla İlgili Sorun
Bir Yapay Zeka Ajanı, Apidog kaynaklarını oluşturmaya veya güncellemeye yardımcı olduğunda, riskli kısım sadece içerik oluşturmak değildir.
Riskli kısım, oluşturulan içeriği yeterli yapı veya doğrulama olmadan gerçek bir projeye yazmaktır.
Apidog kaynakları yapılandırılmıştır. Bir test senaryosunun veya test durumunun neler içerdiğini düşünün:
| Bileşen | Karmaşıklık |
|---|---|
| İstek verisi | Metot, URL, başlıklar, gövde, kimlik doğrulama |
| Onaylar | Karşılaştırıcı, konu, hedef değer, koşullar |
| Değişken çıkarma | Değişken adı, türü, çıkarma yolu |
| Ön işlemciler | İstek öncesi betikler |
| Son işlemciler | Yanıt sonrası betikler |
| Adım sırası | Sıralama, bağımlılıklar |
| Ortam referansları | Ortam Kimliği, değişken geçersiz kılmaları |
Eğer bir Ajan yapıyı tahmin ederse:
- Yanlış alan adı → Başarısız yazma
- Geçersiz enum değeri → Sunucu reddi
- Gerekli alan eksik → Eksik kaynak
- Yanlış tür → Kullanıcı arayüzü görüntüleme sorunları
- Yanlış iç içe geçmişlik → Testler beklendiği gibi davranmaz
cli-schema validate: Kalite Kapısı
İlkemizin en doğrudan somutlaşmış hali cli-schema validate'dir.
apidog cli-schema validate test-scenario-update --file ./scenario-update.jsonBir Ajan bir test senaryosu yazmak veya güncellemek istediğinde, Yapay Zeka'nın karmaşık adım yapıları oluşturması çok hataya açık bir durumdur.
validate komutu:
- Alan adlarını doğrular
- Yapısal geçerliliği kontrol eder
- Enum değerinin etkinliğini doğrular
- Tür kısıtlamalarını doğrular
Tüm bunlar, yazma isteği başlatılmadan önce yapılır.
cli-schema'nın Yakaladığı Yaygın Hatalar
İşte Ajanların sıkça yaptığı ve cli-schema validate'ın yakaladığı hatalara dair gerçek örnekler:
| Yanlış Değer | Doğru Değer | Bağlam |
|---|---|---|
global |
globals |
Değişken kapsam türü |
contains |
include |
Onay karşılaştırıcısı |
responseBody |
responseJson |
Yanıt gövdesi konusu |
"500" (dize) |
500 (sayı) |
Milisaniye cinsinden gecikme |
equals |
equal |
Onay karşılaştırıcısı |
header |
headers |
İstek başlıkları alanı |
Bunlar teorik değil. Gerçek Ajan etkileşimleri aracılığıyla keşfettik.
Her hata şunlara neden olurdu:
- Başarısız bir yazma isteği
- Bir API hata yanıtı
- Neyin yanlış gittiği konusunda Ajanın kafasının karışması
- Birden fazla yeniden deneme girişimi
- Tekrarlanan çağrılarda token israfı
cli-schema validate ile bu hatalar, ağ çağrısından önce, yerel olarak yakalanır.
Tasarım Felsefesi
Alternatifleri düşünelim:
Alternatif 1: Kuralları İstemlere Yazmak
Eğer tüm alan kurallarını Ajanın istemine yazsaydık:
- Her alan adı belgelendi
- Her enum değeri listelendi
- Her tür kısıtlaması açıklandı
- Her iç içe geçmiş yapı tanımlandı
Sonuç: Büyük bağlam yükü.
Kapsamlı bir test senaryosu şeması, kolayca 5.000'den fazla tokenlik açıklama gerektirebilir. Bu, modelin çoğu kuralın ilgili olmadığı durumlarda bile her görev için taşıması gereken bir bağlamdır.
Alternatif 2: Model Hafızasına Güvenmek
Eğer modelin doğru yapıyı "bilmesine" güvenirsek:
- Model bazı API kalıpları üzerinde eğitilmiş
- Ancak özellikle Apidog şemaları üzerinde değil
- Alan adları ürünler arasında farklılık gösterir
- Enum değerleri ürüne özeldir
Sonuç: Yüksek hata oranları.
Model, Apidog'a özgü kuralları mükemmel bir şekilde hatırlamaz. Tahmin edecektir ve tahminler yanlış olacaktır.
Daha İyi Yaklaşım: Yerel Olarak Doğrula
Ajanın taslaklar oluşturmasına izin verin. CLI'nin yazmadan önce doğrulamayı yürütmesini sağlayın.
# Ajan JSON oluşturur
# (Ajanın tüm kuralları ezberlemesine gerek yoktur)
# CLI doğrular
apidog cli-schema validate test-case-create --file ./test-case-create.json
# CLI varsa belirli hataları verir
# Ajan hatalara göre ayar yapar
# Yalnızca geçerli yazma işlemleri devam eder
apidog test-case create --project <projectId> --file ./test-case-create.jsonŞema Dönüşümü
cli-schema validate, Şemanın anlamını dönüştürür:
| Önce | Sonra |
|---|---|
| Şema = modelin ezberlemesi gereken bilgi | Şema = geçilmesi gereken kalite kapısı |
| Başarısız yazma işlemleriyle keşfedilen hatalar | Yerel doğrulama yoluyla keşfedilen hatalar |
| Ağ çağrıları yoluyla yeniden deneme | Yerel ayarlama yoluyla düzeltme |
| Bağlam yükü | Yürütme kapısı |
Sorunlar anlamsız ileri geri ağ isteklerinde tüketilmez.
Kalite kontrolleri yerel komutlar aracılığıyla tamamlanır.
Pratik Örnek
Gerçek bir iş akışını inceleyelim:
# Ajan uç noktayı okur
apidog endpoint get <endpointId> --project <projectId>
# Ajan test durumu JSON'u oluşturur
# (./test-case-create.json oluşturur)
# Yazmadan önce doğrula
apidog cli-schema validate test-case-create --file ./test-case-create.jsonDoğrulama başarılı olursa:
apidog test-case create --project <projectId> --file ./test-case-create.jsonDoğrulama başarısız olursa:
Error: Field "assertions[0].comparator" has invalid value "contains"
Valid values: equal, not_equal, greater, less, include, not_include, exists, not_exists
Error: Field "extractors[0].type" has invalid value "global"
Valid values: globals, environment, collection, local
Suggestion: Fix these fields and re-validate before writing.Ajan:
- Belirli hataları okur
- Neyin yanlış olduğunu tam olarak anlar
- JSON dosyasını ayarlar
- Doğrulamayı yeniden çalıştırır
- Yalnızca geçerli olduğunda devam eder
Başarısız yazma yok. Karışık yeniden denemeler yok. Boşa harcanan tokenler yok.
Daha Geniş Ders
Bu ilke doğrulamanın ötesine geçer.
| Kural Türü | Ait Olduğu Yer |
|---|---|
| Alan adı kuralları | cli-schema |
| Enum değer kuralları | cli-schema |
| Tür kısıtlamaları | cli-schema |
| İş akışı sırası | BECERİ |
| Sonraki adım rehberliği | agentHints |
| Görev ayrıştırması | Ajan |
Deterministik kurallar → Mühendislik sistemi
Semantik yargı → Ajan
Sırada Ne Var
Doğrulama ilkesini belirlediğimize göre, bir sonraki soru şudur:
Doğrulamadan sonra CLI, Ajanı bir sonraki adıma nasıl yönlendirir?
4. Bölüm'de, agentHints: CLI'lara Ajanlarla Konuşmayı Öğretmek, bir sonraki adım önerileriyle yapılandırılmış çıktının CLI'yi bir komut yürütücüsünden bir iş akışı gezginine nasıl dönüştürdüğünü inceleyeceğiz.
Temel Çıkarımlar
- Temel ilke: kurallar bağlamda değil, yürütmede olmalıdır
- cli-schema validate, yazmadan önce kalite kapısıdır
- Yaygın hatalar: yanlış alan adları, geçersiz enum'lar, yanlış türler
- Doğrulama, hataları yerel olarak yakalayarak ağ gidiş-dönüşlerini önler
- Şema, "ezberlenecek bilgi"den "geçilmesi gereken kapıya" dönüşür
- Deterministik kurallar → mühendislik; semantik yargı → Ajan
Tek bir çalışma alanında API'ları tasarlamak, mock'lamak, 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.
