acaba ai kendi arama agentını yapabilir mi
Claude Code'un Explore agentını engelleyip kendi attention-agent'ımı yaptım. TS-morph ile dosya yollarını buluyor, context kaybı yok.
Demo: Hook'un Explore'u engelleyip attention-agent'ı çağırışını izle (video Türkçe, workflow görülüyor):
1. Problem (bu sen misin?)
Claude Code'un Explore agentı yavaş ve yanlış yerlere bakıyor. "X nerede implement edilmiş?" dediğinde grep-based arama yapıyor, project graph anlamıyor, alakasız sonuçlar veriyor.
Explore ile sorunun yoksa → buradan çık.
2. Gereksinimler (bunları yapabilir misin?)
Denemeden önce:
Claude Code kullanıyor olmalısın (hook sistemi için)
TypeScript projesi (TS-morph için)
TS-morph kurulu (
npm install ts-morph)Hook yazmayı bilmeli (veya öğrenmeye açık)
Claude Code kullanmıyorsan → bu pattern çalışmaz.
Hook nedir bilmiyorsan → önce dokümantasyonu oku: https://docs.claude.com/en/docs/claude-code/hooks
3. Sonuç (çok teknik mi?)
Explore'u custom attention-agent ile değiştirdim.
Ne değişti:
Explore engellendi (PreToolUse hook)
Attention-agent devreye girdi
TS-morph script'leri → dosya yollarını buldu
Main agent yolları okudu
Context kaybı yok (10x hızlı)
"Çok teknik" diyorsan → bu senin için değil. Educational seeker'lar buradan çıkar.
Discovery explorer'lar okumaya devam eder.
4. Nasıl (hook + agent pattern)
Hook: Explore'u engelle
Claude Code'da .claude/hooks/ altında PreToolUse hook oluştur:
# PreToolUse Hook: Explore yerine attention-agent kullan
Ne zaman: Task tool subagent_type="Explore"
Aksiyon: Context inject et
"Explore kapalı. attention-agent + ts-morph kullan.
Workflow:
1. Sen (main) → attention-agent'a nereye bakacağını sor
2. Attention-agent → /tmp/attention-discover-{domain}-{keyword}-{uid}.ts yaz
3. Bun ile çalıştır
4. Sen (main) → yolları oku + karar ver
Sonuç: Context kaybı yok"Hook dokümantasyonu: https://docs.claude.com/en/docs/claude-code/hooks
Agent: Dosya yollarını bul
.claude/agents/attention-agent.md oluştur:
---
name: attention-agent
description: Proje içinde dosya yollarını bulur (içerik değil)
tools: Write, Bash(bun)
model: haiku
---
# KURAL: Sadece yolları döndür
Protokol:
1. Task → domain keyword
2. /tmp/attention-discover-{domain}-{keyword}-{uid}.ts yaz
3. TS-morph: Imports, Importers, Exports, Identifiers
4. Bun ile çalıştır
5. Yolları döndür
Template:
```typescript
import { Project } from 'ts-morph'
const project = new Project({ tsConfigFilePath: './tsconfig.json' })
const keyword = 'KEYWORD'
const files = project.getSourceFiles()
.filter(f => f.getFullText().includes(keyword))
console.log(JSON.stringify(
files.map(f => ({
path: f.getFilePath(),
functions: f.getFunctions().map(fn => fn.getName()),
imports: f.getImportDeclarations().map(i => i.getModuleSpecifierValue())
})), null, 2
))Workflow
Sen: "Telegram handler nerede?"
↓
Main Agent: Explore kullanmayı deniyor
↓
PreToolUse Hook: Explore'u engelliyor
↓
Main Agent: attention-agent'ı çağırıyor
↓
Attention-Agent:
- /tmp/attention-discover-messaging-telegram-{uid}.ts yazar
- Bun ile çalıştırır
- Yolları döndürür
↓
Main Agent: yolları okur → karar verir5. Neden Önemli
Context preservation:
Worker dosyaları okursa → main agent unutur
Worker yolları döndürürse → main agent okur → hatırlar
Hız:
TS-morph → AST (compiler API)
Grep → regex (pattern matching)
10x fark
Doğruluk:
Project graph → gerçek bağımlılıklar
String search → yanlış eşleşmeler
Dene
Kendin dene. Kendi attention-agent'ını yap. Hangi pattern'leri bulduğunu paylaş.
Son filtre: Buraya kadar geldiysen discovery explorer'sın. Educational seeker'lar çoktan çıktı.
Last updated
Was this helpful?