
Block Buzz: Ajanların Bot Değil Ekip Arkadaşı Olduğu Yapay Zeka Ajan Çalışma Alanı
"Sohbetinizdeki yapay zeka" kurulumlarının çoğu aynı şekilde çalışır: Slack veya Discord'a bir bot eklersiniz, ona bir eğik çizgi komutu verirsiniz ve çağrıldığında yanıt verir. Bot, ekibin dışında yaşar. Ayrı bir kimliği, ayrı bir denetim izi ve dokunabilecekleri konusunda katı bir üst sınırı vardır. Block bu örüntüye baktı ve ajanın odanın bir üyesi olması gerektiğine karar verdi.
Bu fikir Buzz'dır; Block, Inc.'in zaten yaklaşık 18.000 GitHub yıldızı toplayan açık kaynaklı bir çalışma alanı. Buzz'da insanlar ve yapay zeka ajanları aynı kanalları paylaşır, eylemlerini aynı tür kriptografik anahtarla imzalar ve aynı aranabilir günlüğe düşer. Rust ile yazılmıştır ve Apache 2.0 altında lisanslanmıştır. Deponun mimari belgelerini sizin yerinize okumak için zaman harcadım ve tasarım seçimleri pazarlamanın öne sürdüğünden daha ilginç.
Block Buzz Nedir?
Buzz, Block, Inc.'in insanların ve yapay zeka ajanlarının aynı kanalları paylaştığı, kendi kendine barındırılabilen bir çalışma alanıdır. Bir Nostr rölesi üzerinde çalışır, böylece her mesaj, tepki, kod yaması, onay ve iş akışı adımı, tek, aranabilir, kurcalamaya karşı korumalı bir günlükte tek bir imzalı olaydır. Apache 2.0 altında açık kaynaktır, Rust ile inşa edilmiştir ve röleyi kendiniz çalıştırırsınız.
Önemli çıkarımlar:
- Ajanlar, kendi anahtarlarına ve denetim izine sahip birinci sınıf üyelerdir; kenara eklenmiş botlar değildir.
- Her şey (sohbet, yamalar, CI, onaylar) tek bir aranabilir günlükte tek bir imzalı Nostr olayıdır.
- Ajanlar ACP ve MCP üzerinden bağlanır, böylece Goose, Codex ve Claude Code kutudan çıktığı gibi çalışır.
- Kendi kendine barındırılan ve açık kaynak (Apache 2.0), henüz yapılmamış olanların dürüst, kamuya açık bir listesiyle birlikte.
Projenin dayandığı ifade "a hive mind communication platform"dur. Bu büyük görünüyor, ancak günlük gerçeklik daha sade: bir ekip çalışma alanı gibi hissettiriyor. Kanallar, konular, doğrudan mesajlar, bir tuval, sesli buluşmalar, arama. İşin püf noktası altta yatan. Her eylem imzalı bir Nostr olayıdır ve bu olayın yazarı bir kişi veya bir süreç olabilir. Aynı şekil, aynı kimlik modeli, her iki durumda da aynı denetim izi.
LangGraph, CrewAI ve OpenAI Agents SDK gibi ajan çerçevelerini karşılaştırıyorsanız, Buzz tamamen farklı bir katmandır. Onlar, bir ajanın akıl yürütmesini düzenlemek için koda gömdüğünüz kütüphanelerdir. Buzz, ajanın ve ekibinizin konuştuğu, işi devrettiği ve bir kayıt bıraktığı odadır. Tamamlayıcıdırlar, rakip değiller.
"Üye Olarak Ajanlar" Modeli Neden Değiştiriyor?
Bot modelinin yapısal bir sorunu var: ajan bir misafirdir. Ona izin bayrakları verirsiniz, dar bir API üzerinden çalışır ve bir şey ters gittiğinde iki ayrı geçmişi, ekibin sohbetini ve botun günlüklerini uzlaştırırsınız.
Buzz bunu tersine çevirir. Bir ajan kendi anahtar çiftini, kendi kanal üyeliklerini ve kendi denetim izini alır. Bir ajanı bir kanala, bir kişiyi eklediğiniz aynı şekilde eklersiniz. Proje kapsamlandırmayı "by identity, not by permission flags" olarak tanımlar; bu, insan bir ekip arkadaşını kapsamlandıracağınız aynı yoldur. Onlara bazı odalarda güvenirsiniz, bazılarında güvenmezsiniz.
Bir ajan üye olduğunda, diğer herkesin sahip olduğu aynı olanakları alır. Depo açabilir, yama gönderebilir, kod inceleyebilir, iş akışları çalıştırabilir, tuvalleri düzenleyebilir, diğer ajanları düzenleyebilir, kanal oluşturabilir ve sesli buluşmalara katılabilir. README bunu somutlaştıran üç senaryoyu anlatır:
- Olay belleği. Gece saat 2, "bu hatayı daha önce gördük mü?" diye sorarsınız ve kanalı izleyen bir ajan altı aylık geçmişi çeker, konuları ve kök nedenleri yayınlar ve son düzeltmeyi gönderen kişiyi çağırmayı teklif eder. Tüm alışveriş kanıt olarak kanalda kalır.
- Oda olarak dal. Bir özellik dalı açarsınız ve bir kanal belirir. Yamalar olay olarak düşer, CI sonuçları yayınlar, bir ajan ilk geçiş incelemesi yapar ve birleştirme kararı, onu gerekçelendiren kanıtla aynı odada yaşar.
- Kendini yazan bir sürüm. Bir etikette bir iş akışı tetiklenir, bir ajan birleştirilen PR'lardan sürüm notları hazırlar, insan incelemesi için yayınlar, bir beğeni tepkisi alır ve gönderir. Her adım imzalı, her adım aranabilir.
Ortak tema, konuşmanın, kodun ve kararın, birbirini tanıyormuş gibi yapan yedi sekme yerine tek bir yerde yaşamasıdır.
Ajanlar Gerçekte Nasıl Bağlanır: ACP ve MCP
Mühendisliğin temizleştiği yer burası. Buzz, ajanlar için iki küçük ikili dosya gönderir ve bunlar kasıtlı olarak birbirini tanımaz.
buzz-agent bir ACP ajanıdır. stdio üzerinden Agent Client Protocol konuşur, bir LLM çağırır ve MCP araçlarını kullanır. Her biri kendi MCP sunucularına, geçmişine ve bağlamına sahip, en fazla sekiz eşzamanlı oturum çalıştırır. Bir oturumun bağlamı dolduğunda, kendi geçmişini özetler ve devam eder. Zed, JetBrains veya ACP konuşan başka herhangi bir şeyle çalışır.
buzz-dev-mcp bir MCP sunucusudur. Herhangi bir ajana bir kabuk ve bir dosya düzenleyici verir. Süreçler, her çıkış yolunda süreç grubu öldürme ile geçicidir, çıktı sınırlıdır ve dosya düzenlemeleri çalışma dizinine göre çözümlenir. Daha önce Model Context Protocol ile inşa ettiyseniz, bu tanıdık gelecektir: standart "bir ajana eller ver" örüntüsüdür, sağlamlaştırılmış haliyle.
Depodaki tasarım notu açıkça söyler: "two binaries, two protocols, no coupling between them." Ajan hangi MCP sunucusuyla konuştuğunu bilmez ve MCP sunucusu onu hangi ajanın çağırdığını bilmez. İçe aktarımlarla değil, protokollerle birleşirler. Pratik kazancı, Buzz arkasında farklı MCP yapılandırmalarıyla on ajan çalıştırabilmeniz veya LLM sağlayıcınızı tek bir ortam değişkeniyle değiştirebilmenizdir.
buzz-acp, röle @mentions'larını ajan alt süreçlerine köprülediği için, onu Goose, Codex veya Claude Code'a yönlendirebilirsiniz. Zaten arka plan kodlama ajanları çalıştırıyorsanız, Buzz onlara sessiz bir başsız döngü yerine çalışacakları ortak bir oda verir. Ve kendi araçlarınızı getirmek isterseniz, bir MCP sunucusu inşa etmek desteklenen yoldur; başlamak için bol miktarda hazır MCP sunucusu vardır.
Kaputun Altı: Mimari
Buzz bir Rust monoreposudur ve en önemli tek gerçek şudur: röle tek doğruluk kaynağıdır. Eşler arası dedikodu ve çoğaltma yoktur. İstemciler WebSocket üzerinden tek bir röleye bağlanır ve röle kimlik doğrulamayı yönetir, imzaları doğrular, olayları kalıcı hale getirir, abonelere dağıtır, arama için dizinler ve otomasyonu tetikler.
Her şey bir Nostr NIP-01 olayıdır. Her olayın altı alanı vardır: bir id (serileştirilmiş olayın SHA-256'sı), bir pubkey, bir kind tam sayısı, etiketler, içerik ve bir Schnorr imzası. kind tam sayısı tek dağıtım anahtarıdır. Yeni bir özellik mi istiyorsunuz? Yeni bir kind numarası tanımlayın. Mevcut istemciler hiçbir şey görmez ve hiçbir şeyi bozmaz. Kod tabanı 81 kind tanımlar; özel Buzz kind'ları 40000-49999 aralığında yaşar.

Destekleyici yığın, en iyi anlamda kasıtlı olarak sıkıcıdır:
| Crate | Rol |
|---|---|
buzz-core | Sıfır G/Ç türleri, Schnorr doğrulama, filtre eşleştirme, kind kayıt defteri |
buzz-relay | Her alt sistemi birbirine bağlayan Axum sunucusu |
buzz-db | Postgres olay deposu, kanallar, iş akışları, aylık bölümleme |
buzz-auth | NIP-42 ve NIP-98 Schnorr kimlik doğrulama, kapsamlar |
buzz-pubsub | Redis pub/sub dağıtımı, varlık, yazıyor göstergeleri |
buzz-search | Oluşturulan bir tsvector sütunu üzerinde Postgres tam metin arama |
buzz-audit | Hash zinciri, kurcalamaya karşı korumalı denetim günlüğü |
buzz-workflow | Kod olarak YAML otomasyon motoru |
buzz-cli | Ajan öncelikli CLI, JSON giriş / JSON çıkış |
buzz-acp | Röle @mentions'larını ACP üzerinden yapay zeka ajanlarına köprüler |
Postgres olayları tutar ve tam metin aramayı çalıştırır. Redis pub/sub dağıtımını, varlığı ve yazmayı yönetir. S3 uyumlu nesne depolama (yerel olarak MinIO) medyayı Blossom protokolü üzerinden tutar.
Güvenlik modeli, göz gezdirmeyi bıraktığım yerdir. Her olayın Schnorr imzası ve SHA-256 ID'si depolamadan önce doğrulanır. NIP-42 kimlik doğrulaması, tekrar saldırılarını engellemek için ±60 saniyelik zaman damgası toleransı kullanır ve kimlik doğrulama olayları asla depolanmaz veya denetlenmez. Denetim günlüğü gerçek bir hash zinciridir: her girdinin SHA-256'sı, önceki hash dahil her alanı kapsar, böylece bir girdiyi kurcalamak ondan sonraki her girdiyi bozar. Giden webhook'lar, özel IP aralıklarını kontrol eden SSRF koruması alır. Ve kanal üyeliği, her işlemde uygulanan tek erişim kapısıdır; abonelik işleyicisi, bir aboneliği kaydetmeden önce erişimi kontrol eder, böylece özel kanal sızıntıları için bir yarış penceresi yoktur.
Kontrol ettiğiniz altyapıda ajanlı yapay zekayı nasıl dağıtacağınızı değerlendiriyorsanız, iki kez okumaya değer kısım burasıdır.
Bugün Ne Çalışıyor (ve Ne Çalışmıyor)
Proje kendi durumu hakkında alışılmadık derecede dürüst ve bu dürüstlüğün ciddi bir kod tabanının en güçlü işareti olduğunu düşünüyorum. İşte doğrudan depodan mevcut durum:
| Durum | Yetenek |
|---|---|
| ✅ Bugün çalışıyor | Röle, kanallar, konular, doğrudan mesajlar, tuvaller, medya, arama, denetim günlüğü, masaüstü uygulaması (Tauri + React), buzz-cli + ACP harness, YAML iş akışları, Git olayları (NIP-34), git barındırma arka ucu |
| 🚧 Devam ediyor | Mobil istemciler (iOS + Android, Flutter), iş akışı onay kapıları, buluşma yaşam döngüsü olayları |
| 💭 Kod bekliyor | Röleler arası güven ağı itibarı, anlık bildirimler |
Şimdi çoğu ürün yazısının atladığı kısım. Mimari belgesi doğrulanmış boşlukları listeler, özlemleri değil:
- Henüz hız sınırlaması uygulanmıyor.
RateLimitertrait'i var ve dört katman tasarlandı (human, agent-standard, agent-elevated, agent-platform), ancak tek uygulama bir test taslağıdır. - Onay kapıları uçtan uca bağlı değil. Yürütücü bir çalıştırmayı askıya alabilir, ancak bir onay kapısına çarpan bir iş akışı şu anda başarısız olarak işaretlenir.
- Bazı iş akışı eylemleri taslaktır.
send_dmveset_channel_topic"not implemented" döndürür, bu yüzden birine ulaşan bir çalıştırma başarısız olur. - Buluşma kaydı ve parça başına yayınlama inşa edilmedi. Ses odaları ve katılma/ayrılma yaşam döngüsü çalışır; kaydın ayrılmış olay kind'ları var ama üreticisi yok.
- sqlx çevrimdışı sorgu önbelleği yok. Sorgular derleme zamanında doğrulanmak yerine çalışma zamanında çalışır.
Bunların hiçbiri, değerlendirdiğiniz kendi kendine barındırılan bir araç için diskalifiye edici değildir, ancak kenarların tam olarak nerede olduğunu söyler. Ajanları üretimde katı garantilerle değerlendirmeniz gerekiyorsa, 💭 ve 🚧 sütunlarını taşıyıcı uyarılar olarak ele alın.
Buzz ile Başlarken
Kim olduğunuza bağlı olarak üç yol var.
Sadece denemek mi istiyorsunuz? En son sürümden paketlenmiş bir derleme alın: macOS (.dmg), Linux (.AppImage veya .deb) veya Windows (.exe). Varsayılan olarak ws://localhost:3000'e bağlanır, bu yüzden yine de çalışan bir röle istersiniz.
Kaynaktan derlemek mi istiyorsunuz? Docker ve Hermit veya Rust 1.88+, Node 24+, pnpm 10+ ve just gerekir. Sonra:
git clone https://github.com/block/buzz.git && cd buzz
. ./bin/activate-hermit
just setup && just build
# every day:
. ./bin/activate-hermit
just dev # starts the relay + desktop app togetherRöle ws://localhost:3000'e düşer ve masaüstü uygulaması açılır. Yerel geliştirme yığını yerine tek düğümlü bir VPS dağıtımı için, deploy/compose/ altında Postgres, Redis, MinIO ve TLS için isteğe bağlı Caddy içeren bir üretim Compose paketi vardır.
Bir ajan mı getiriyorsunuz? BUZZ_PRIVATE_KEY ayarlayın ve JSON giriş ve JSON çıkış olan, özellikle LLM araç çağrıları için tasarlanmış buzz-cli'yi kullanın. Ajan iş akışlarınızın bağlandığı dikiş budur.
Buzz'ı Kim Çalıştırmalı?
Buzz, bir yığın yapıştırıcı kod yerine tek bir alt tabaka isteyen ekipler içindir. Mevcut kurulumunuz sohbet artı bir forge artı botlar artı CI panoları artı sürüm araçları artı bir arama dizini ise ve bunların birbirini bilmemesinden sıkıldıysanız, Buzz'ın yaptığı bahis şudur: tek topluluk, tek kimlik modeli, tek olay günlüğü.
Şunlar için güçlü bir uyum:
- Kendi kendine barındıranlar, ajan trafiğini sahip oldukları altyapıda, doğrulayabilecekleri bir denetim iziyle isteyenler.
- Platform mühendisleri, ajanların hataları önceliklendirdiği, incelemeleri çalıştırdığı ve sürümleri script olarak değil üye olarak hazırladığı ajan öncelikli iş akışlarını değerlendirenler.
- Açık kaynak değerlendiricileri, her şeyi bir öğleden sonra okumak isteyenler. Ajan yüzeyi, kasıtlı olarak denetlenebilecek kadar küçük, bağlantısız iki crate'tir.
Henüz, yarın teknik olmayan bir ekibe verebileceğiniz, bitmiş, her şey dahil bir SaaS isteyenler için değil. Onay kapıları, hız sınırlaması ve mobil istemciler hâlâ geliyor. Buzz bunu açıkça söyler; bu tam olarak ona dikkatli bir pilotu emanet etme nedenimdir.
Sürekli geri döndüğüm çerçeveleme README'de: "Agents are part of the room, not haunted cron jobs." Gece saat 2'de ne yaptığını veya neden yaptığını bilmeden bir botun hatasını ayıkladıysanız, bunun neden önemli olduğunu zaten biliyorsunuzdur.
SSS
Buzz ücretsiz ve açık kaynak mı?
Evet. Buzz, Apache 2.0 lisansı altında açık kaynaktır ve Block, Inc. tarafından inşa edilmiştir. Röleyi kendiniz barındırırsınız, bu yüzden yazılım için koltuk başına ücret yoktur. Maliyetleriniz kendi altyapınızdır: röle için bir sunucu, Postgres, Redis ve nesne depolama. Kaynak, sorunlar ve yol haritasının tümü GitHub'da block/buzz altında kamuya açıktır.
Buzz, botlu Slack'ten nasıl farklı?
Slack'te bir ajan, ayrı kimliği ve denetim izi olan, izin bayraklarıyla kapsamlandırılmış ikinci sınıf bir bottur. Buzz'da bir ajan, kendi anahtar çiftine, kanal üyeliklerine ve bir insanla aynı olanaklara sahip birinci sınıf bir üyedir: depo açma, yama gönderme, iş akışı çalıştırma, buluşmalara katılma. Her şey tek bir imzalı, aranabilir olay günlüğüne düşer.
ACP ve MCP nedir?
ACP, Agent Client Protocol'dür; buzz-agent'in Zed gibi bir LLM istemcisiyle konuşmak için kullandığı stdio arayüzüdür. MCP, Model Context Protocol'dür; buzz-dev-mcp'nin bir ajana bir kabuk ve dosya düzenleyici vermek için kullandığı arayüzdür. İki ikili dosya birbirini tanımaz; protokollerle birleşirler, böylece ajanları ve araç sunucularını özgürce karıştırabilirsiniz.
Buzz blokzincir kullanıyor mu?
Hayır ve README bu konuda nettir: "Not blockchain. Signed events are useful without making everyone buy a commemorative coin." Buzz, kurcalama kanıtı için Nostr'un kriptografik imzalarını ve bir hash zinciri denetim günlüğünü kullanır, ancak token, zincir veya mutabakat mekanizması yoktur. Doğrulanabilir geçmişi ek yük olmadan alırsınız.
Goose, Codex veya Claude Code gibi kendi yapay zeka ajanlarımı kullanabilir miyim?
Evet. buzz-acp harness, yapay zeka ajan alt süreçlerini başlatır ve röle @mentions'larını ACP üzerinden onlara köprüler. Goose, Codex ve Claude Code'u kutudan çıktığı gibi destekler, bir ila 32 ajan sürecinden oluşan bir havuz çalıştırır ve bir ajan çökerse yeniden başlatır. Özel araçlar için kendi MCP sunucunuzu bağlarsınız.
Buzz üretime hazır mı?
Kısmen. Röle, kanallar, arama, denetim günlüğü, masaüstü uygulaması ve ajan CLI'si bugün çalışıyor. Ancak hız sınırlaması uygulanmıyor, onay kapıları uçtan uca bağlı değil ve mobil istemciler hâlâ devam ediyor. Pürüzlü kenarlara tolerans gösteren bir ekiple kendi kendine barındırılan bir pilot için denemeye hazır. Uyumluluk açısından kritik bir dağıtım için, 🚧 öğelerinin gelmesini bekleyin.
Yazar Hakkında
Mert Batur, ekibin B2B müşteriler için yapay zeka ajanları, otomasyon sistemleri ve ses/SDR işlem hatları gönderdiği Techsy.io'nun Ortak Kurucusudur. Techsy ekibinin üretimde gerçekten kullandığı LLM araç yığını hakkında yazıyor. Onunla LinkedIn üzerinden bağlantı kurun.