Herhangi bir dosyayı ölçülebilir bir metriğe göre optimize eden otonom deney döngüsü. Karpathy'nin autoresearch'ünden ilham almıştır. Agent, hedef dosyayı düzenler, sabit bir evaluasyonu çalıştırır, iyileştirmeleri tutar (git commit), başarısızlıkları siler (git reset) ve sonsuz döngüye girer. Kullanım: kod hızını optimize etmek, bundle/image boyutunu azaltmak, test geçiş oranını iyileştirmek, prompt'ları optimize etmek veya içerik kalitesini artırmak istediğinizde.
cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills mkdir -p ~/.claude/skills/autoresearch-agent
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/autoresearch-agent/SKILL.md \
-o ~/.claude/skills/autoresearch-agent/SKILL.md Siz uyursunuz. Agent deneyler. Siz uyanınca sonuçlar hazır.
Karpathy's autoresearch tarafından esinlenen özerk deneyim döngüsü. Agent bir dosyayı düzenler, sabit bir değerlendirme çalıştırır, iyileştirmeleri tutar, başarısızlıkları atar ve sonsuza kadar döngüye devam eder.
Bir tahmin değil — elli ölçülü deneme, bileşik.
| Komut | Ne yapıyor |
|---|---|
/ar:setup |
Yeni bir deneyim etkileşimli olarak ayarla |
/ar:run |
Tek bir deneyim iterasyonu çalıştır |
/ar:loop |
Yapılandırılabilir aralıkla özerk döngü başlat (10m, 1h, daily, weekly, monthly) |
/ar:status |
Dashboard ve sonuçları göster |
/ar:resume |
Duraklatılmış deneyimi devam ettir |
Kullanıcıdan bu desenleri tanı:
Kullanıcı hedef dosya + başarı ölçüsü tanımlarsa → bu skill geçerlidir.
Setup scriptini çalıştır. Kullanıcı deneylerin nerede yaşayacağına karar verir:
Proje seviyesi (repo içinde, git-izlenen, takım ile paylaşılabilir):
python scripts/setup_experiment.py \
--domain engineering \
--name api-speed \
--target src/api/search.py \
--eval "pytest bench.py --tb=no -q" \
--metric p50_ms \
--direction lower \
--scope project
Kullanıcı seviyesi (kişisel, ~/.autoresearch/ içinde):
python scripts/setup_experiment.py \
--domain marketing \
--name medium-ctr \
--target content/titles.md \
--eval "python evaluate.py" \
--metric ctr_score \
--direction higher \
--evaluator llm_judge_content \
--scope user
--scope flag'i .autoresearch/'ın nerede yaşayacağını belirler:
project (varsayılan) → .autoresearch/ repo kökünde. Deneyim tanımları git-izlenir. Sonuçlar gitignore edilir.user → ~/.autoresearch/ home dizininde. Her şey kişisel..autoresearch/
├── config.yaml ← Global ayarlar
├── .gitignore ← results.tsv, *.log'u yoksayar
└── {domain}/{experiment-name}/
├── program.md ← Amaçlar, kısıtlamalar, strateji
├── config.cfg ← Hedef, eval komutu, metrik, yön
├── results.tsv ← Deneyim günlüğü (gitignore)
└── evaluate.py ← Değerlendirme scripti (--evaluator kullanıldıysa)
results.tsv sütunları: commit | metric | status | description
commit — kısa git hashmetric — float değeri veya çöküşler için "N/A"status — keep | discard | crashdescription — ne değişti veya neden çöktü| Domain | Kullanım Alanları |
|---|---|
engineering |
Kod hızı, bellek, bundle boyutu, test geçiş oranı, derleme zamanı |
marketing |
Başlıklar, sosyal copy, email konuları, reklam copy, katılım |
content |
Makale yapısı, SEO açıklamaları, okunabilirlik, CTR |
prompts |
Sistem promptları, chatbot tonu, agent talimatları |
custom |
Ölçülebilir metrik ile diğer her şey |
program.md Zaten VarsaKullanıcı kendi program.md'sini yazmış olabilir. Deneyim dizininde bulunursa, oku. Template'i geçersiz kılar. Sadece eksikleri sor.
Siz döngüsünüz. Scriptler kurulum ve değerlendirmeyi yönetir — siz yaratıcı işi yönetirsiniz.
.autoresearch/{domain}/{name}/config.cfg oku:
target — düzenleyeceğiniz dosyaevaluate_cmd — değişikliklerinizi ölçen komutmetric — eval çıktısında aranacak metrik adımetric_direction — "lower" veya "higher" daha iyitime_budget_minutes — değerlendirme başına maksimum zamanprogram.md'yi okuresults.tsv'yi oku (sütunlar: commit, metric, status, description)git checkout autoresearch/{domain}/{name}git add {target} && git commit -m "experiment: {description}"python scripts/run_experiment.py --experiment {domain}/{name} --singlegit reset --hard HEAD~1)# Tek iterasyon (agent bunu tekrar tekrar çağırır)
python scripts/run_experiment.py --experiment engineering/api-speed --single
# Kuru çalışma (başlamadan önce setup'ı test et)
python scripts/run_experiment.py --experiment engineering/api-speed --dry-run
Her 10 deneyin ardından, desenler için results.tsv'yi gözden geçir. program.md'nin Strategy bölümünü öğrendiklerinizle güncelleyin (ör. "önbellek değişiklikleri %5-10 tarafından tutarlı olarak iyileştirir", "refactoring denemeleri metriği hiçbir zaman iyileştirmez"). Gelecek iterasyonlar bu birikmiş bilgiden faydalanır.
evaluate.py temel gerçekliktir. Değiştirmek tüm karşılaştırmaları geçersiz kılar. Bunu yapıyorsanız sert duru.Hazır kullanılabilir değerlendirme scriptleri. Setup sırasında --evaluator ile deneyim dizinine kopyalanır.
| Evaluatör | Metrik | Kullanım Alanı |
|---|---|---|
benchmark_speed |
p50_ms (lower) |
Function/API yürütme zamanı |
benchmark_size |
size_bytes (lower) |
Dosya, bundle, Docker image boyutu |
test_pass_rate |
pass_rate (higher) |
Test paketi geçiş yüzdesi |
build_speed |
build_seconds (lower) |
Derleme/Docker inşa zamanı |
memory_usage |
peak_mb (lower) |
Yürütme sırasında pik bellek |
| Evaluatör | Metrik | Kullanım Alanı |
|---|---|---|
llm_judge_content |
ctr_score 0-10 (higher) |
Başlıklar, titler, açıklamalar |
llm_judge_prompt |
quality_score 0-100 (higher) |
Sistem promptları, agent talimatları |
llm_judge_copy |
engagement_score 0-10 (higher) |
Sosyal mesajlar, reklam copy, emailler |
LLM hakimleri, kullanıcının zaten çalıştırdığı CLI tool'u çağırır (Claude, Codex, Gemini). Değerlendirme prompt'u evaluate.py içinde kilitlidir — agent onu değiştiremez. Bu agentin kendi evaluatörünü oyunla kaçırmasını engeller.
Kullanıcının mevcut aboneliği maliyeti kapsar:
Yerleşik evaluatör uygunsa, kullanıcı kendi evaluate.py'sini yazar. Tek gereklilik: metric_name: value yazdırmalı stdout'a.
#!/usr/bin/env python3
# Benim özel evaluatörüm — DENEYIM BAŞLADIKTAN SONRA DEĞİŞTİRME
import subprocess
result = subprocess.run(["my-benchmark", "--json"], capture_output=True, text=True)
# Ayrıştır ve çıktı
print(f"my_metric: {parse_score(result.stdout)}")
# Tek deneyim
python scripts/log_results.py --experiment engineering/api-speed
# Bir domaindeki tüm deneyimler
python scripts/log_results.py --domain engineering
# Cross-deneyim dashboard
python scripts/log_results.py --dashboard
# Dışa aktarma formatları
python scripts/log_results.py --experiment engineering/api-speed --format csv --output results.csv
python scripts/log_results.py --experiment engineering/api-speed --format markdown --output results.md
python scripts/log_results.py --dashboard --format markdown --output dashboard.md
DOMAIN EXPERIMENT RUNS KEPT BEST Δ FROM START STATUS
engineering api-speed 47 14 185ms -76.9% active
engineering bundle-size 23 8 412KB -58.3% paused
marketing medium-ctr 31 11 8.4/10 +68.0% active
prompts support-tone 15 6 82/100 +46.4% done
Sorulmadan bunları işaretle:
git init && git add . && git commit -m 'initial' önce yap.git clone https://github.com/alirezarezvani/claude-skills.git
cp -r claude-skills/engineering/autoresearch-agent ~/.claude/skills/
./scripts/convert.sh --skill autoresearch-agent --tool codex|gemini|cursor|windsurf|openclaw
clawhub install cs-autoresearch-agent
2 veya daha fazla bağımsız görevin paralel olarak yürütülebileceği ve aralarında state paylaşımı ya da sıralı bağımlılık olmadığı durumlarda kullanın.
Ayrı bir oturumda inceleme kontrol noktaları ile yürütülecek yazılı bir uygulama planınız olduğunda kullanın.
Mevcut oturumda bağımsız görevlerle uygulama planlarını yürütürken kullanın
Herhangi bir hata, test başarısızlığı veya beklenmeyen davranışla karşılaştığınızda, çözüm önerisi sunmadan önce kullanın.
Herhangi bir feature ya da bugfix uygulamaya başlamadan önce kullanın.
Yeni beceriler oluştururken, mevcut becerileri düzenlerken veya dağıtımdan önce becerileri doğrularken kullanın.