Hook'lar
Hook, bee’nin söz alma biçimidir. Ajanın çalışma ortamı tanımlı bir anda bee’yi çağırır, bee söyleyeceğini yazdırır, ve çalışma ortamı bunu modelin bağlamına katar.
bee hook install --harness claude --scope project # ya da codex, ya da hermeshook install adını verdiğiniz ortam için doğru yapılandırmayı yazar — yanlış
yapılması kolay bayraklar dahil; neden farklı olduklarını aşağıdaki tabloda
görebilirsiniz.
| ne zaman | ajanın bağlamına ne ulaşır |
|---|---|
| oturum başı | kim olduğu (SOUL), duran kurallar, son birkaç olgu |
| her prompt | kurallar + az önce sorulanla eşleşen hafızalar |
| bir dosya yazılırken | o dosyayı yöneten kurallar |
Tam olarak ne yazdırdıklarını görmek için elle koşturun:
bee hook session-startecho '{"prompt":"datasource testini düzelt"}' | bee hook promptecho '{"file_path":"src/Catalog/Data/ProductDataSource.cs"}' | bee hook pre-toolHer ortamın gerçekte desteklediği
Bölüm başlığı “Her ortamın gerçekte desteklediği”| ortam | oturum başı | her prompt | yazmadan önce |
|---|---|---|---|
| Claude Code | ✅ | ✅ | ✅ — --emit claude-pretool gerekir |
| Codex | ✅ | ✅ | bağlanmadı |
| Hermes | ilk prompta biner | ✅ --emit context-json |
bağlanmadı |
Her ✅ gerçek çalışma ortamı bee’nin kendi ürettiği yapılandırmaya karşı koşturularak ve modele “ne aldın, aynen aktar” denerek üretildi. Boşluklar “henüz yapılmadı” değil — her biri o ortamın bir özelliği:
Claude Code yazma öncesi olayda düz stdout’u atar. Yalnızca
hookSpecificOutput.additionalContext yükü hayatta kalır. İki yönlü ölçüldü:
düz metinle model hiçbir şey almadığını bildirdi; yapılandırılmış yükle kuralı
kelimesi kelimesine aktardı.
Codex’in Write aracı yok — dosyaları kabuk komutları koşturarak düzenler, yani yazma öncesi olay bir dosya yolu değil bir komut satırı taşır, ve kuralı arayacak bir şey kalmaz.
Hermes dönen yükü yalnızca tek bir olayda kullanır (pre_llm_call). Diğer
ikisi bee’yi koşturur ve çıktıyı atar, yani onları bağlamak bağlanmış gibi
görünüp hiçbir şey yapmazdı.
Zamanlama, dürüstçe
Bölüm başlığı “Zamanlama, dürüstçe”Yazma öncesi hook yazmadan önce koşar, ama bağlamı modele araç sonucuyla
birlikte ulaşır — yani ilk yazma kurala uymaz, ve model düzeltir. Her .cs
dosyasının bir lisans satırıyla başlaması gerektiğini söyleyen bir kuralla:
1. Write "public class Thing" ← kural henüz gelmemişti2. Edit "// LICENCE-7" ← gördükten sonra düzelttiBir fazladan düzenleme, ve dosya doğru hâline geliyor. Bu bir düzeltme üretir, bir önleme değil. Buna “yazmadan önce” demek fazla iddialı olurdu.