İçeriğe geç
ceaksan
ai

Argus: AI Kodlama Asistanının Web Aramalarını Görünür Kıl

AI kodlama asistanları konuşma sırasında web araması yapar ama bu aramalar görünmez. Argus her WebSearch ve WebFetch çağrısını lokal bir SQLite veritabanına kaydeder, CLI ile sorgulatır ve arama desenlerini analiz eder. 68 günlük gerçek veriyle ne ölçülebildiğini anlatıyorum.

1 Haz 2026 3 dk okuma
TL;DR

AI kodlama asistanları konuşma sırasında web araması ve sayfa çekme yapar, ama bu çağrılar hiçbir yere kaydedilmez. Neyi aradığı, hangi kaynağı kaç kez çektiği, aramaların oturumlar arasında nasıl değiştiği görünmez. Argus her WebSearch ve WebFetch çağrısını Claude Code'un PreToolUse/PostToolUse hook'larıyla yakalar, lokal bir SQLite veritabanına yazar ve CLI ile sorgulatır. 68 günlük snapshot: 2032 query, 177 session, 20 proje. argus analyze komutu ham log'u üç sinyale dönüştürür: içerik adayı kümeler, oturum verimliliği ve bilgi boşlukları. Bu sinyaller runtime failure desenleriyle örtüşür: tekrar eden fetch'ler döngü, düşen verimlilik keşif sapması, terk edilen arama erken sonuç anlamına gelir.

AI kodlama asistanları konuşma sırasında web araması yapar. Bir konuda emin olmadığında arar, dokümana gider, bir Reddit tartışmasını açar. Ama bu aramalar görünmez. Ne arandığını, hangi sonuçların geldiğini, aynı sayfanın kaç kez çekildiğini gösteren bir kayıt yoktur. Argus tam olarak bu boşluğu kapatmak için yazıldı: her WebSearch ve WebFetch çağrısını yakalar, lokal saklar ve CLI ile sorgulatır.

Görünmez Problem

Bir AI asistanla çalışırken asistanın arama davranışı tamamen kapalı bir kutu. Asistan “bunu araştırayım” der, birkaç saniye sonra cevapla döner. Arada ne oldu görünmez. Hangi sorgu yazıldı, kaç sonuç geldi, hangi kaynak okundu, aynı dokümana tekrar mı gidildi. Bu sorular cevapsız kalıyor.

Bu görünmezlik iki şeyi imkansız kılıyor. Birincisi, asistanın neyi sık araştırdığı bilinemez. Tekrar tekrar aynı konuya dönülüyorsa bu, ya bir bilgi boşluğunun ya da yazılmaya değer bir içerik konusunun işaretidir. İkincisi, arama davranışındaki verimsizlik fark edilemez. Aynı kaynağı üç kez çekmek, bir konuyu çözmeden bırakıp başkasına atlamak, dışarıda aranan bir cevabın aslında kendi notlarında bulunması. Bunların hiçbiri ölçülmüyor.

Daha önce AI hatalarını kaydeden bir sistem kurmuştum. Coffee Debt, asistanın yaptığı hataları JSONL formatında log’a kaydedip pattern çıkarıyor. Argus aynı felsefenin arama tarafındaki karşılığı: hatayı değil, arama davranışını görünür kılıyor.

Argus Ne Yapıyor

Argus, Claude Code’un hook sistemine bağlanan küçük bir CLI aracı. Çalışma prensibi basit:

  • Otomatik yakalama: PreToolUse ve PostToolUse hook’ları WebSearch ve WebFetch çağrılarını dinler. Sorgu gönderildiğinde ve sonuç döndüğünde kayıt oluşur.
  • Lokal saklama: Tüm veri tek bir SQLite dosyasında. Cloud yok, dış bağımlılık yok, veri makineden çıkmaz.
  • Arama geçmişi: Geçmiş sorgular tarih, proje, asistan ve anahtar kelimeye göre filtrelenebilir.
  • Pattern analizi: argus analyze ham log’u yorumlanabilir sinyallere çevirir.
  • Export: JSON ve CSV çıktısı, daha ileri analiz için.

Çok asistanlı çalışır. Claude Code birincil hedef olsa da Kimi CLI ve OpenCode için de hook entegrasyonu var.

Kurulum

git clone https://github.com/ceaksan/argus.git
cd argus
npm install
npm run build
npm link

argus hook install

Bu noktadan sonra Claude Code’daki her WebSearch ve WebFetch arka planda sessizce log’a kaydedilir. Kurulum dışında ek bir adım gerekmez.

68 Günlük Kanıt

Argus’u kendi kullanımımda 26 Mart’tan beri çalıştırıyorum. 1 Haziran itibarıyla biriken veri şöyle:

MetrikDeğer
Toplam query2032 (1283 search + 749 fetch)
Oturum177
Proje20
Dönem68 gün (26 Mart - 1 Haziran)
En çok arayan projeceaksan-v4.0 (1183, %58)
İkinciDNM_Projects (662, %33)

Asistan dağılımı:

AsistanQuery
claude-code1936
kimi-code88
opencode8

Burada dürüst bir sınır var. Cross-assistant veri mevcut ama süreğen değil. kimi-code kayıtlarının tamamı fetch, hiç search yok ve hepsi üç günlük bir Nisan aralığına sıkışmış. Yani bu veri “asistanlar arası karşılaştırma” iddiası taşıyamaz. Tek kullanıcı, hook ile filtrelenmiş, küçük örneklem. Argus bir gözlem aracı, şimdilik eldeki sınırlı veri bağlamında istatistiksel bir kıyaslama platformu değil.

Log’tan Failure-Observability’ye

Ham log tek başına sınırlı bir hikaye anlatır. “Şu sorgu yapıldı, bu sayfa çekildi” demek bir veri noktasıdır ama bir anlam değildir. argus analyze bu log’u üç sinyale çevirir ve bu sinyaller asistanın çalışma sırasında ürettiği davranış desenlerine bağlanır.

Daha önce yazdığım LLM Davranışsal Bozulma Modları pillar’ında, modellerin uzun çalışmalarda nasıl saptığını anlatmıştım. Argus’un ürettiği sinyaller bu desenlerin arama tarafındaki gözlemlenebilir izleri. Yaklaşan bir yazıda bu sinyalleri farklı failure taksonomileriyle yan yana koyacağım; Argus orada WebSearch ve WebFetch katmanının dar ama somut bir dilimini temsil edecek.

Dört Sinyal, Gerçek Çıktı

İçerik Adayı Kümeler

Aynı konuda farklı açılardan yapılan tekrar aramalar bir küme oluşturur. 68 günlük dönemde dört küme öne çıktı: Looker Studio Community Connector deneyimleri, Chrome üçüncü taraf cookie sonlandırma takvimi, marketing mix modeling pratisyen deneyimleri ve Astro redirect desenleri.

── Content Signals (4 clusters) ──
  "looker studio community connector experience problems" (3 queries)
    depth: 3 unique angles, 0 repeated fetches
  "Chrome third-party cookie deprecation timeline" (3 queries)
    depth: 3 unique angles, 1 repeated fetches
  "marketing mix modeling meridian robyn pymc practitioner" (3 queries)
    depth: 3 unique angles, 2 repeated fetches
  "astro content collection aliases redirects old-slug" (3 queries)
    depth: 3 unique angles, 3 repeated fetches

Buradaki “repeated fetches” sayısı önemli. Aynı kaynağı tekrar tekrar çekmek, asistanın bir konuyu çözmek için aynı yere dönüp durduğunu gösterir. Bunu, daha önce yazdığım davranışsal bozulma modlarındaki adım tekrarı ve döngü desenleriyle ilişkilendiriyorum. Yüksek tekrar, hem yazılmaya değer bir içerik konusunun hem de asistanın o konuda zorlandığının sinyali olabilir.

Oturum Verimliliği

Her oturum tekrar eden sorgu ve fetch oranına göre puanlanır. Kısa ve odaklı oturumlar yüzde 90 ve üstü alırken, uzun keşif oturumlarında skor düşer.

── Session Efficiency ──
  Session 0e171..  │ 63 queries │ score: 70%
  Session 9bb6c..  │ 24 queries │ score: 72%
  Session 46085..  │ 20 queries │ score: 79%

63 sorgulu bir oturumun yüzde 70’e düşmesi dikkat çekici. Uzun oturumlarda asistan sorguyu yeniden ve yeniden biçimlendirir, aynı konunun etrafında döner. Bunu keşif sapması olarak okuyorum. Skor, oturum uzadıkça verimliliğin nasıl eridiğine dair sayısal bir gösterge.

Bilgi Boşlukları

Bazı sorgular hiçbir tatmin edici sonuç bulamadan terk edilir. argus analyze, dnomia-knowledge köprüsü aktifken bu sorguları işaretler. Düşük eşleşme skoru, ya gerçek bir bilgi boşluğunu ya da asistanın bir konuyu yarım bırakıp erken sonuca atladığını gösterir.

Kaçırılan Bağlantılar

Son sinyal en ilginci. dnomia-knowledge köprüsü, dışarıda aranan bir sorgunun cevabının aslında kendi notlarının içinde bulunup bulunmadığını kontrol eder. Yüksek eşleşme skoru, “cevap içerideydi ama asistan dışarı sordu” durumunu yakalar. Bu, bağlam içindeki bilgiyi kullanmadan dışarı yönelmenin gözlemlenebilir bir örneği.

Yol Haritası

Argus açık kaynak, ISC lisanslı. Bu sürümle birlikte argus analyze ve argus stats asistan bazında filtrelenebilir hale geldi. Sırada cross-assistant karşılaştırma raporları ve semantic köprünün yaygınlaştırılması var. Veri biriktikçe sinyaller netleşecek; gözlem aracının değeri, zaman içinde ortaya çıkan desenler.

Kaynak kod ve kurulum: github.com/ceaksan/argus

Önemli Noktalar
  • 01 AI asistanların web aramaları varsayılan olarak görünmez. Argus bunları PreToolUse/PostToolUse hook ile yakalayıp lokal SQLite'a yazar, sıfır cloud bağımlılığı.
  • 02 68 günlük snapshot somut bir gözlem zemini sağlıyor: 2032 query, 177 session, 20 proje. Aramaların %58'i tek bir projeye yoğunlaşıyor.
  • 03 argus analyze ham log'u üç sinyale çeviriyor: içerik adayı kümeler, oturum verimliliği skoru, bilgi boşlukları. Ham log tek başına veri verir, analiz anlayış verir.
  • 04 Sinyaller runtime failure desenleriyle örtüşüyor: aynı kaynağı tekrar tekrar çekmek döngü, uzun oturumda düşen verimlilik keşif sapması, terk edilen arama erken sonuç çıkarma işaretidir.
  • 05 Cross-assistant veri var ama henüz süreğen değil. Tek kullanıcı, hook ile filtrelenmiş, küçük örneklem. Argus gözlem aracıdır, genellenebilir bir kıyaslama değil.
Sık Sorulan Sorular (FAQ)
+ Argus nedir?

Argus, AI kodlama asistanlarının yaptığı web aramalarını kaydeden ve analiz eden açık kaynak bir CLI aracı. Claude Code'un PreToolUse ve PostToolUse hook'larına bağlanarak her WebSearch ve WebFetch çağrısını yakalar, lokal bir SQLite veritabanında saklar. Cloud bağımlılığı yoktur, veri makineden çıkmaz. Kimi CLI ve OpenCode entegrasyonları da mevcut.

+ Argus hangi veriyi kaydediyor?

Her arama kaydı şu alanları tutar: zaman damgası, oturum kimliği, asistan adı, tip (search veya fetch), sorgu metni, tetikleyen metin, sonuçlar ve proje dizini. Bu yapı sayesinde aramalar proje, oturum ve asistana göre filtrelenebilir, zaman içindeki değişim izlenebilir.

+ argus analyze ne yapıyor?

Ham arama kaydını üç sinyale dönüştürür. Birincisi içerik adayı kümeler: aynı konuda farklı açılardan yapılan tekrar aramalar, yazılmaya değer konu sinyalidir. İkincisi oturum verimliliği: tekrar eden sorgu ve fetch oranına göre her oturuma bir skor verir. Üçüncüsü bilgi boşlukları: dnomia-knowledge köprüsüyle, dışarıda aranan ama içeride zaten cevabı olan konuları işaret eder.

+ Argus tek bir asistanla mı çalışıyor?

Hayır. Claude Code birincil hedef olsa da Kimi CLI ve OpenCode için de hook entegrasyonu var. argus stats --assistant ve argus analyze --assistant komutlarıyla asistan bazında filtreleme yapılabilir. Şu an verinin büyük çoğunluğu Claude Code'tan geliyor; cross-assistant karşılaştırma henüz erken aşamada.