· kaynak dev.to (home feed)
Bir dev.to yazısı, Sniffnet ile Cline gibi AI agent'larının gizli ağ trafiğini izliyor
Bir dev.to rehberi, Rust tabanlı trafik izleyici Sniffnet'i kurarak Cline gibi AI kodlama agent'larının ağ üzerinden ne gönderdiğini gösteriyor ve tek bir yakalamanın ne kadar kolay yanlış yorumlanabileceği konusunda uyarıyor.

Cline kodlama agent'ını günün neredeyse tamamında VS Code'da açık tutan bir geliştirici, agent loglarını okumayı bırakıp yerine paketleri izlemeye başladığınızda ne olduğuna dair el yordamıyla yapılmış bir deneyimini yayımladı. dev.to'daki yazıya göre motivasyon basit bir görünürlük eksikliğiydi: token maliyetleri her sağlayıcının panelinde görünür, ancak bir agent beklerken, poll yaparken veya bir model API'sine context gönderirken ne kadar gerçek ağ trafiği ürettiğine dair eşdeğer bir görünüm yok.
Yazarın argümanı bilinçli olarak mütevazı. Trafik şüpheli varsayılmıyor; asıl nokta, neredeyse hiç kimsenin buna bakmaması ve bu kör noktanın ileriye dönük pahalıya mal olması — garip gecikmeleri teşhis etmeniz, bir agent'in neden yavaş göründüğünü çözmeniz veya hangi süreçlerin hangi uç noktalarla konuştuğunu belirlemeniz gerektiğinde.
Sniffnet ne yapar
Sniffnet, Rust ile yazılmış, gerçek zamanlı trafiği grafiksel bir arayüzde görselleştiren ve sizi ham tcpdump çıktısı okumaktan kurtaran açık kaynaklı bir ağ analiz aracıdır. Yazının projenin deposundan özetlediği gibi Linux, macOS ve Windows üzerinde çalışır, pcap üzerine inşa edilmiştir — yani gerçek bir arayüzde yakalama yapmak için yükseltilmiş izinler gerekir — ve bazı sistemlerde her bağlantıyı açan sürece atfedebilir. Bu son yetenek, on beş sekmesi açık olan bir tarayıcıdan Cline'ı ayırmanızı sağlayan şeydir.
Bilinçli olarak pasiftir: bir intrusion detection sistemi değildir, firewall değildir ve hiçbir şeyi engellemez. En az bunun kadar önemli olan, vaat etmedikleridir. TLS şifresini çözmez, model API'lerinin yaptığı HTTPS isteklerinin içeriğini göstermez ve trafiği token harcaması veya model gecikmesiyle ilişkilendirmez. Byte'ları ve açık bağlantıları ölçer, anlamı değil. Kurulum tek bir cargo install sniffnet komutu, artı Linux'ta root olarak çalışmadan yakalama ayrıcalıkları vermek için bir setcap komutudur.
Tek bir yakalama nasıl yanlış yorumlanır
Yı Yazı enerjisinin çoğunu yorumlamaya harcıyor ve iki standart hatayı tespit ediyor. İlki, beş dakikalık bir trafik artışını bir hüküm gibi görmektir. Bağlam olmadan agent'in büyük bir dosyanın içeriğini yüklediğini, bir modeli indirdiğini ya da yalnızca bir keep-alive bağlantısını açık tuttuğunu söyleyemezsiniz. Bu bağlamdan yoksun bir sayı size neredeyse hiçbir şey söylemez.
İkinci hata, trafik grafiğinin faydalı işi altyapıdan ayırt ettiğini varsaymaktır. TCP/IP'nin "faydalı" trafik diye bir kavramı yoktur; dolayısıyla gerçek LLM çağrı yükünü bağlantı overhead'inden, yeniden denemelerden veya alakasız bir eklentinin poll'ünden ayırmak süreç, port ve hedef IP'ye göre filtreleme gerektirir. Yazar, Sniffnet'in bunu mümkün kıldığını ama kutudan çıkmış çözülmüş halde gelmediğini, aktif emek gerektirdiğini belirtiyor.
Verilen karşı örnek tanıdıktır: biri, editörünün daha kendisi yazı yazmazken bile sürekli trafik ürettiğini görür ve AI agent'inin kötü davrandığı sonucuna varır. Bu, eklenti telemetrisi, bir bağlantı heartbeat'i veya editörün ayarları buluta senkronize etmesi de olabilir — agent'le hiçbir ilgisi olmayan şeyler.
Araç nerede uygun, nerede değil
Yazıya göre Sniffnet, makinenizde hangi süreçlerin gerçek zamanlı trafik ürettiğini görmek, düşen veya yeniden deneyen bağlantıları teşhis etmek ve bir geliştirme kurulumunun genel trafik desenini haritalamak için doğru araçtır. Bir LLM API'sinin ne kadar HTTPS trafiği aldığını ölçmek için yalnızca kısmen uygundur, çünkü byte'ları ve hedefleri görürsünüz ama içeriği göremezsiniz — çağrı düzeyinde ayrıntı için gerçek bilgi kaynağı aracın kendi logudur, örneğin VS Code'daki Cline activity paneli. Bir agent'in production'da çok fazla tüketip tüketmediğine karar vermek için tamamen yanlış araçtır; bu, zaman içinde toplanmış metrikleri, ya da otomatik uyarılarla intrusion detection'ı gerektirir — yazının Suricata veya Zeek'e atfettiği alan.
Idle ve aktif durumu
Yazarın önerdiği ilk adım bir sayı değil, bir karşılaştırmadır: agent boştayken hangi süreçlerin aktif bağlantı tuttuğunu kaydedin, sonra büyük bir refactor görevi sırasında gözlemi tekrarlayın. Bu boş ve aktif durumu arasındaki fark, tek başına herhangi bir rakamdan daha bilgilendiricidir ve zaten Cline'ı tanımlı sınırlarla autopilot modunda çalıştıran biri için ağ görünümü bu sınırların tamamlayıcısıdır, yerini alan şey değil.
Tek bir oturum ne kanıtlayamaz
Yazı kendi sınırları konusunda alışılmadık derecede açık sözlü. Tek bir yakalama bir veri noktasıdır, trend değil. Süreçten bağlantıya eşleme, container ortamlarında veya bir VPN üzerinden bozulabilir. Ağ byte'ları ile LLM token'ları farklı büyüklüklerdir — byte cinsinden küçük olan bir istek, uzun ve pahalı bir prompt taşıyabilir. Ve uygulama logları, hangi çağrının hangi agent eylemine karşılık geldiğinin otoriter kaydı olmaya devam eder. Özellikle, yazar hiçbir manşet trafik rakamı yayımlamayı reddediyor; amaç normalde incelenmeden geçen bir katmanı açmak, onu sonuçlandırmak değil.
Neden önemli
AI kodlama agent'ları sessizce varsayılan geliştirme ortamının parçası haline geliyor, ancak gözlemlenebilir yüzeyleri çoğunlukla bir faturalandırma paneli. Ağ katmanı, tam da sorun gidermenin gerçekleştiği yerde bir kör nokta: açıklanamayan gecikmeler, takılmış gibi görünen agent'ler, bilinmeyen uç noktalar. Sniffnet gibi ücretsiz ve pasif bir araç, bakmanın maliyetini düşürür. En az bunun kadar değerli olan, yazının disiplinidir — ham trafik verisi yanlış sonuçlara davetiye çıkarır ve byte ile anlam arasındaki boşluk yalnızca tekrarlanan, filtrelenmiş ölçümle kapatılabilir. Agentic workflow'ları standartlaştıran ekipler için bu, hem nasıl gözlemleyeceğine dair hem de nasıl yorumlamayacağına dair faydalı bir şablon.
- #sniffnet
- #network-monitoring
- #ai-agents
- #rust
- #cline