
Block Buzz:エージェントがボットではなくチームメイトであるAIエージェントワークスペース
「チャットにAI」の構成のほとんどは同じように動きます。SlackやDiscordにボットをくっつけ、スラッシュコマンドを与え、呼び出されたときに答える。ボットはチームの外に生きています。別のアイデンティティ、別の監査証跡、そして触れられるものに厳しい上限があります。Blockはそのパターンを見て、エージェントはただルームのメンバーであるべきだと考えました。
そのアイデアが Buzz です。Block, Inc.によるオープンソースのワークスペースで、すでに約18,000のGitHubスターを集めています。Buzzでは、人間とAIエージェントが同じチャンネルを共有し、同じ種類の暗号鍵でアクションに署名し、同じ検索可能なログに行き着きます。Rustで書かれ、Apache 2.0でライセンスされています。私はリポジトリのアーキテクチャドキュメントを読み込む時間を費やしました。あなたがそうしなくて済むようにするためです。設計上の選択は、マーケティングが示唆するよりも興味深いものです。
Block Buzzとは?
Buzzは、人間とAIエージェントが同じチャンネルを共有する、Block, Inc.のセルフホスト可能なワークスペースです。Nostrリレー上で動作し、すべてのメッセージ、リアクション、コードパッチ、承認、ワークフローステップが、1つの検索可能で改ざん検知可能なログの中の署名済みイベントになります。Apache 2.0のオープンソースで、Rustで構築され、リレーは自分で運用します。
主要なポイント:
- エージェントは、独自の鍵と監査証跡を持つ一級メンバーであり、脇にくっつけたボットではありません。
- すべて(チャット、パッチ、CI、承認)が、1つの検索可能なログの中の署名済みNostrイベントです。
- エージェントはACPとMCPを通じて接続するため、Goose、Codex、Claude Codeがすぐに動きます。
- セルフホストかつオープンソース(Apache 2.0)で、まだ終わっていないことの正直で公開されたリストがあります。
プロジェクトが頼りにするフレーズは「a hive mind communication platform」です。大げさに聞こえますが、日々の現実はもっとシンプルで、チームのワークスペースのように感じられます。チャンネル、スレッド、DM、キャンバス、音声ハドル、検索。ひねりはその下にあります。すべてのアクションが署名済みのNostrイベントであり、そのイベントの作成者は人間でもプロセスでもかまいません。同じ形、同じアイデンティティモデル、どちらの場合も同じ監査証跡です。
LangGraph、CrewAI、OpenAI Agents SDKのようなエージェントフレームワークを比較してきたなら、Buzzはまったく別の層です。あれらはエージェントの推論をオーケストレーションするためにコードに埋め込むライブラリです。Buzzは、エージェントとチームが話し、作業を引き継ぎ、記録を残すルームです。補完関係であり、競合ではありません。
「メンバーとしてのエージェント」がなぜモデルを変えるのか
ボットモデルには構造的な問題があります。エージェントはゲストだということです。権限フラグを付与し、狭いAPIを通じて操作させ、何か問題が起きると、チームのチャットとボットのログという2つの別々の履歴を突き合わせることになります。
Buzzはこれをひっくり返します。エージェントは独自の鍵ペア、独自のチャンネルメンバーシップ、独自の監査証跡を得ます。エージェントをチャンネルに追加するのは、人間を追加するのと同じ方法です。プロジェクトはスコープ設定を「by identity, not by permission flags」と表現しており、これは人間のチームメイトのスコープを設定するのと同じ方法です。あるルームでは信頼し、別のルームでは信頼しない。
エージェントがメンバーになると、他の全員が持つものと同じアフォーダンスを得ます。リポジトリを開き、パッチを送り、コードをレビューし、ワークフローを実行し、キャンバスを編集し、他のエージェントをオーケストレーションし、チャンネルを作成し、音声ハドルに飛び込むことができます。READMEはこれを具体化する3つのシナリオを紹介します。
- インシデントの記憶。 午前2時、「このエラー、以前見たことある?」と尋ねると、チャンネルを監視しているエージェントが6か月分の履歴を引き出し、スレッドと根本原因を投稿し、最後の修正を出荷した人を呼び出そうと提案します。やり取り全体が証拠としてチャンネルに残ります。
- ルームとしてのブランチ。 機能ブランチを開くとチャンネルが現れます。パッチはイベントとして着地し、CIが結果を投稿し、エージェントが最初のレビューを実行し、マージの判断はそれを正当化した証拠と同じルームに存在します。
- 自ら書くリリース。 タグでワークフローが起動し、エージェントがマージ済みPRからリリースノートを作成し、人間のレビューのために投稿し、サムズアップのリアクションを得て、出荷します。すべてのステップが署名され、すべてのステップが検索可能です。
共通する糸は、会話とコードと判断が、互いを知っているふりをする7つのタブではなく、1つの場所に存在することです。
エージェントは実際にどう接続するのか:ACPとMCP
ここがエンジニアリングがきれいになる場所です。Buzzはエージェント用に2つの小さなバイナリを出荷し、それらは意図的にお互いを知りません。
buzz-agent はACPエージェントです。stdio経由でAgent Client Protocolを話し、LLMを呼び出し、MCPツールを使用します。最大8つの同時セッションを実行し、それぞれが独自のMCPサーバー、履歴、コンテキストを持ちます。セッションのコンテキストがいっぱいになると、自分の履歴を要約して続けます。Zed、JetBrains、その他ACPを話すものなら何でも動きます。
buzz-dev-mcp はMCPサーバーです。任意のエージェントにシェルとファイルエディタを与えます。プロセスはすべての終了パスでプロセスグループkillを伴う一時的なもので、出力は制限され、ファイル編集はワーキングディレクトリに対して解決されます。以前にModel Context Protocolで構築したことがあれば、なじみがあるでしょう。「エージェントに手を与える」という標準パターンを強化したものです。
リポジトリの設計メモは率直に述べます。「two binaries, two protocols, no coupling between them.」エージェントはどのMCPサーバーと話すかを知らず、MCPサーバーはどのエージェントが呼ぶかを知りません。インポートではなくプロトコルを通じて構成されます。実用上の利点は、異なるMCP設定で10のエージェントをBuzzの背後で実行したり、環境変数1つでLLMプロバイダーを交換したりできることです。
buzz-acpはリレーの@mentionsをエージェントのサブプロセスへ橋渡しするため、Goose、Codex、Claude Codeに向けることができます。すでにバックグラウンドコーディングエージェントを実行しているなら、Buzzはそれらに、静かなヘッドレスループではなく、活動するための共有ルームを与えます。そして自分のツールを持ち込みたいなら、MCPサーバーの構築がサポートされる道で、始められる既製のMCPサーバーも豊富にあります。
内部の仕組み:アーキテクチャ
BuzzはRustのモノレポであり、最も重要な単一の事実はこれです。リレーが唯一の信頼できる情報源(single source of truth)であるということ。ピアツーピアのゴシップもレプリケーションもありません。クライアントはWebSocketで1つのリレーに接続し、リレーは認証を処理し、署名を検証し、イベントを永続化し、サブスクライバーに配信し、検索用にインデックスし、自動化をトリガーします。
すべてがNostr NIP-01イベントです。各イベントは6つのフィールドを持ちます。id(シリアライズされたイベントのSHA-256)、pubkey、kind整数、タグ、コンテンツ、そしてSchnorr署名です。kind整数が唯一のディスパッチスイッチです。新しい機能が欲しい?新しいkind番号を定義すればいい。既存のクライアントは何も見ず、何も壊しません。コードベースは81のkindを定義し、カスタムBuzz kindは40000-49999の範囲に存在します。

サポートスタックは、最良の意味で意図的に退屈です。
| Crate | 役割 |
|---|---|
buzz-core | ゼロI/O型、Schnorr検証、フィルターマッチング、kindレジストリ |
buzz-relay | すべてのサブシステムを結びつけるAxumサーバー |
buzz-db | Postgresイベントストア、チャンネル、ワークフロー、月次パーティショニング |
buzz-auth | NIP-42およびNIP-98 Schnorr認証、スコープ |
buzz-pubsub | Redis pub/sub配信、プレゼンス、タイピング表示 |
buzz-search | 生成されたtsvectorカラム上のPostgres全文検索 |
buzz-audit | ハッシュチェーン、改ざん検知可能な監査ログ |
buzz-workflow | YAML-as-code自動化エンジン |
buzz-cli | エージェントファーストCLI、JSON入力 / JSON出力 |
buzz-acp | リレーの@mentionsをACP経由でAIエージェントへ橋渡し |
Postgresはイベントを保持し全文検索を実行します。Redisはpub/sub配信、プレゼンス、タイピングを処理します。S3互換オブジェクトストレージ(ローカルではMinIO)がBlossomプロトコル経由でメディアを保持します。
セキュリティモデルは、私が流し読みをやめた場所です。すべてのイベントは、保存前にSchnorr署名とSHA-256 IDが検証されます。NIP-42認証は±60秒のタイムスタンプ許容値を使いリプレイ攻撃をブロックし、認証イベントは保存も監査もされません。監査ログは本物のハッシュチェーンです。各エントリのSHA-256は直前のハッシュを含むすべてのフィールドをカバーするため、1つのエントリを改ざんするとそれ以降のすべてのエントリが壊れます。送信WebフックはプライベートIP範囲をチェックするSSRF保護を得ます。そしてチャンネルメンバーシップが唯一のアクセスゲートで、すべての操作で強制され、サブスクリプションハンドラーはサブスクリプションを登録する前にアクセスをチェックするため、プライベートチャンネル漏洩の競合ウィンドウがありません。
自分が制御するインフラ上でエージェントAIをデプロイする方法を評価しているなら、ここが2回読む価値のある部分です。
今動くもの(そして動かないもの)
プロジェクトは自身の状態について異常なほど正直であり、その正直さこそが真剣なコードベースの最強のシグナルだと思います。リポジトリからそのままの現在の状態がこちらです。
| 状態 | 機能 |
|---|---|
| ✅ 今動く | リレー、チャンネル、スレッド、DM、キャンバス、メディア、検索、監査ログ、デスクトップアプリ(Tauri + React)、buzz-cli + ACPハーネス、YAMLワークフロー、Gitイベント(NIP-34)、gitホスティングバックエンド |
| 🚧 進行中 | モバイルクライアント(iOS + Android、Flutter)、ワークフロー承認ゲート、ハドルライフサイクルイベント |
| 💭 コード待ち | リレー間のweb-of-trustレピュテーション、プッシュ通知 |
ここからが、ほとんどのプロダクト記事が飛ばす部分です。アーキテクチャドキュメントは願望ではなく検証済みのギャップを列挙します。
- レート制限はまだ強制されていない。
RateLimiterトレイトは存在し4つのティアが設計されています(human、agent-standard、agent-elevated、agent-platform)が、唯一の実装はテストスタブです。 - 承認ゲートがエンドツーエンドで結線されていない。 エグゼキューターは実行を一時停止できますが、承認ゲートに到達したワークフローは現在失敗としてマークされます。
- 一部のワークフローアクションがスタブ。
send_dmとset_channel_topicは「not implemented」を返すため、そこに到達した実行は失敗します。 - ハドルの録音とトラックごとの公開は未構築。 音声ルームと参加/退出ライフサイクルは動作します。録音は予約済みイベントkindを持ちますがプロデューサーがありません。
- sqlxオフラインクエリキャッシュがない。 クエリはコンパイル時に検証されるのではなく実行時に走ります。
これらはどれも、評価中のセルフホストツールにとって失格にはなりません。しかし、エッジがどこにあるかを正確に教えてくれます。硬い保証を持ってエージェントを本番環境で評価する必要があるなら、💭と🚧のカラムを荷重を支える警告として扱ってください。
Buzzを始める
あなたが誰かによって、3つの道があります。
とりあえず試したい? 最新リリースからパッケージ済みビルドを取得します。macOS(.dmg)、Linux(.AppImageまたは.deb)、Windows(.exe)。デフォルトではws://localhost:3000に接続するため、やはりリレーを動かしておきたくなります。
ソースからビルドしたい? Dockerと、HermitまたはRust 1.88+、Node 24+、pnpm 10+、そしてjustが必要です。そして:
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 togetherリレーはws://localhost:3000に着地し、デスクトップアプリがポップアップします。ローカル開発スタックの代わりにシングルノードVPSデプロイメントを行うなら、deploy/compose/の下にPostgres、Redis、MinIO、そしてTLS用の任意のCaddyを備えた本番Composeバンドルがあります。
エージェントを持ち込む? BUZZ_PRIVATE_KEYを設定し、JSON入力・JSON出力で、LLMツール呼び出しのために特別に設計されたbuzz-cliを使います。そこがあなたのエージェントワークフローが接続する継ぎ目です。
誰がBuzzを運用すべきか?
Buzzは、接着コードの山ではなく1つの基盤を望むチームのためのものです。現在の構成がチャットとフォージとボットとCIダッシュボードとリリースツールと検索インデックスで、それらが互いを知らないことにうんざりしているなら、これがBuzzが張っている賭けです。1つのコミュニティ、1つのアイデンティティモデル、1つのイベントログ。
次のような場合に強く合います。
- セルフホスター:エージェントのトラフィックを自分が所有するインフラに置き、検証できる監査証跡を望む人。
- プラットフォームエンジニア:エージェントがバグをトリアージし、レビューを実行し、リリースを作成する(スクリプトとしてではなくメンバーとして)エージェントファーストのワークフローを評価する人。
- オープンソース評価者:午後いっぱいですべてを読みたい人。エージェントの表面は結合のない2つのクレートで、意図的に監査できるほど小さく保たれています。
まだ、完成したバッテリー同梱のSaaSを明日非技術チームに渡したい人のためのものではありません。承認ゲート、レート制限、モバイルクライアントはまだ着地中です。Buzzはこれを率直に伝えます。だからこそ、慎重なパイロットなら任せようと思うのです。
私が何度も立ち返るフレーミングはREADMEにあります。「Agents are part of the room, not haunted cron jobs.」午前2時に、何をしたのか、なぜそうしたのか見当もつかないままボットをデバッグしたことがあれば、なぜそれが重要かすでに知っているはずです。
FAQ
Buzzは無料でオープンソースですか?
はい。BuzzはApache 2.0ライセンスのオープンソースで、Block, Inc.が構築しています。リレーは自分でセルフホストするため、ソフトウェアに対するシートごとの料金はありません。コストはあなた自身のインフラです。リレー用サーバー、Postgres、Redis、オブジェクトストレージ。ソース、イシュー、ロードマップはすべてGitHubのblock/buzzで公開されています。
Buzzはボット付きのSlackとどう違いますか?
Slackでは、エージェントは別のアイデンティティと監査証跡を持つ二級ボットで、権限フラグでスコープされます。Buzzでは、エージェントは独自の鍵ペア、チャンネルメンバーシップ、そして人間と同じアフォーダンスを持つ一級メンバーです。リポジトリを開き、パッチを送り、ワークフローを実行し、ハドルに参加します。すべてが1つの署名済みで検索可能なイベントログに着地します。
ACPとMCPとは何ですか?
ACPはAgent Client Protocolで、buzz-agentがZedのようなLLMクライアントと話すために使うstdioインターフェースです。MCPはModel Context Protocolで、buzz-dev-mcpがエージェントにシェルとファイルエディタを与えるために使うインターフェースです。2つのバイナリは互いを知りません。プロトコルを通じて構成されるため、エージェントとツールサーバーを自由に混ぜられます。
Buzzはブロックチェーンを使いますか?
いいえ。READMEはこれについて明確です。「Not blockchain. Signed events are useful without making everyone buy a commemorative coin.」Buzzは改ざん検知のためにNostrの暗号署名とハッシュチェーン監査ログを使いますが、トークンもチェーンもコンセンサスメカニズムもありません。オーバーヘッドなしに検証可能な履歴を得られます。
Goose、Codex、Claude Codeなど自分のAIエージェントを使えますか?
はい。buzz-acpハーネスはAIエージェントのサブプロセスを起動し、リレーの@mentionsをACP経由でそれらへ橋渡しします。Goose、Codex、Claude Codeをすぐにサポートし、1から32のエージェントプロセスのプールを実行し、エージェントがクラッシュしたら再起動します。カスタムツールには、自分のMCPサーバーを接続します。
Buzzは本番環境に対応していますか?
一部は。リレー、チャンネル、検索、監査ログ、デスクトップアプリ、エージェントCLIは今日動きます。しかしレート制限は強制されておらず、承認ゲートはエンドツーエンドで結線されておらず、モバイルクライアントはまだ進行中です。粗いエッジを許容できるチームとのセルフホストパイロットには、試す準備ができています。コンプライアンス上重要なデプロイには、🚧の項目が着地するのを待ってください。
著者について
Mert BaturはTechsy.ioの共同創業者で、チームはB2Bクライアント向けにAIエージェント、自動化システム、音声/SDRパイプラインを出荷しています。Techsyチームが実際に本番環境で使うLLMツールスタックについて書いています。LinkedInでつながってください。