Shazam — ターミナルで動く自律型AIエージェントチーム

AI/ML

概要

Shazam は「ターミナルから動かす自律型のAIエージェントチーム」をコンセプトにしたCLIツールです。ユーザーが作りたいものを自然言語で指示すると、PM(プロダクトマネージャ)エージェントが高レベルの要件を分割し、各サブタスクを複数の開発エージェントに割り当てます。各エージェントはClaude系のAIモデルと連携してタスクを実行し、TUI(ターミナルUI)で進捗とログをリアルタイムに可視化します。Elixirで書かれており、プロセス間通信や並行実行を活かした応答性の高い実装が可能です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 2
  • ウォッチャー数: 3
  • コミット数: 8
  • ファイル数: 19
  • メインの言語: Elixir

主な特徴

  • ターミナル上のリアルタイムTUIでエージェントの進行状況とログを監視可能
  • PMエージェントによる要件分解と複数の開発エージェントによる並列実行
  • Claude系AI(Anthropic系API想定)と連携するエージェント駆動型ワークフロー
  • Elixirの特性を活かした並行処理とフォールトトレランス設計

技術的なポイント

Shazam は Elixir を核に据えた設計になっており、ここからいくつかの技術的注目点が読み取れます。まず Elixir/Erlang の軽量プロセスとメッセージパッシングは、複数の「エージェント」を独立したプロセスとして立ち上げ、各タスクを並列に実行させるのに適しています。PMエージェントがタスクを分解してサブエージェントへ投げるワークフローは、Supervisorツリーとプロセス監視による自動再起動やエラー隔離と親和性が高い設計です。

次に、外部のAIモデル(READMEにある Claude 系)との通信は非同期I/Oで処理されることが期待され、HTTPクライアントやTaskを用いた非同期呼び出しでレイテンシを吸収します。TUI(ターミナルUI)はリアルタイム更新を行うため、内部でイベント駆動の状態管理を持ち、各エージェントからのログやステータスを集約して描画する仕組みが必要です。これは状態の一貫性を保ちつつスクリーンを更新する実装が求められます。

さらに、設定やエージェント定義を分離する拡張性の高い構成が想定されます(.agents や .claude といったディレクトリが存在)。CI/CDやデプロイフロー、認証情報の取り扱い(APIキー等)についても注意が必要で、環境変数やシークレット管理を通じて安全に外部サービスと接続する設計が望まれます。最後に、Elixir エコシステムの利点として軽量なバイナリ配布(escript やリリース)や監視ツール統合があり、CLIツールとしての配布・運用が比較的容易です。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .agents: dir
  • .claude: dir
  • .formatter.exs: file
  • .github: dir
  • .gitignore: file

…他 14 ファイル

(リポジトリ内にはエージェント定義やClaude連携用の設定ファイル、TUI関連の実装やドキュメント、GitHub Actions 等のCI設定が含まれている想定です。)

使い方のイメージ

READMEの例にある通り、ユーザーは自然言語で指示を与えるだけでワークフローが開始されます。PMがタスクを作成・分配し、各開発エージェントが作業を遂行、TUIに逐次ログが出力される流れです。CLIから一連の開発プロセスを観察・制御できるため、手元でプロトタイプを素早く作る用途に向いています。

サンプル(README抜粋): shazam❯ Build a REST API for user authentication with JWT tokens 22:15:03 [pm] Created: Build a REST API for user authentication… 22:15:08 [pm] Started: task_1 22:…

まとめ

Elixirで実装された自律型エージェントの実験的CLI。TUIで見える化されたワークフローが魅力。(約50字)

リポジトリ情報:

READMEの抜粋:

Shazam

Autonomous AI agent teams, right from your terminal.

Shazam is an open-source CLI that orchestrates teams of Claude AI agents. You describe what you want built. A PM agent breaks it down, assigns subtasks to developer agents, and they execute — all while you watch in a real-time TUI dashboard.

shazam❯ Build a REST API for user authentication with JWT tokens
  22:15:03 [pm]        Created: Build a REST API for user authentication...
  22:15:08 [pm]        Started: task_1
  22:...