TIP
GitHub: https://github.com/multica-ai/multica · Apache-2.0 オープンソースライセンス · Docker + Claude Code/Codex/OpenClaw/OpenCode
入門レベル | 約 20 分 | Multica の中核コンセプト(Board / Agents / Skills / Runtimes)を理解し、自社ホストでのデプロイ(Docker)、ローカル Daemon の設定、さらに Agent の作成とタスク割り当てまでの一連の流れを習得します
プロジェクト概要
まずは、次のような問題を考えてみましょう。あなたのチームでは、いま何人(何台)の AI プログラミング支援者が稼働していますか? Claude Code、Codex、そしていくつかのカスタム Agent。これらはそれぞれ独立して動き、タスクの所属もなく、進捗も追跡できず、学習・記憶も蓄積されません。1 つのタスクを終えたら忘れ去られ、次に同じ問題に直面しても、また最初から手探りです。
Multica がやることは、AI プログラミング支援者のための「タスクボード」を用意することです。そこに Issue を作成し、同僚に仕事を振るように AI 従業員へタスクを割り当てられます。AI 従業員は自動的にタスクを受け取り、コードを実行し、進捗を報告し、コメントし、さらには新しい Issue を自ら作成します。さらに面白いのは、成功した解決策を「技能」として蓄積し、チーム全体の AI 従業員がその経験を再利用できるようにする点です。
言い換えると、Multica は AI プログラミング支援者の「組織がない」「記憶がない」「協業できない」という課題を解決します。
対象読者のイメージ
- Claude Code / Codex などの AI プログラミング支援ツールを使っているが、開発の管理が混乱して困っている人
- 人と機械が混在するチームのプロダクト/エンジニアリングを構築したい人
- AI Agent の自律化に関心があるテクニカルリーダー
コア依存関係と環境
- Docker + Docker Compose(自社ホストでのデプロイ)
- 少なくとも 1 つの AI プログラミング CLI(Claude Code / Codex / OpenClaw / OpenCode)
- Go 1.26+(ソース開発用)/ Node.js 20+ + pnpm(フロントエンド開発用)
TIP
自分でデプロイしたくない? そのまま Multica Cloud を使えば、設定不要で開くだけで利用できます。
完全なプロジェクト構成ツリー
multica/
├── server/ # Go バックエンド(Chi ルーティング + WebSocket によるリアルタイム通知)
├── apps/web/ # Next.js 16 フロントエンド(タスクボード画面)
├── packages/ # 共通パッケージ
│ ├── core/ # コアロジック(Zustand ステート、TanStack Query)
│ ├── ui/ # 原子レベルの UI コンポーネント(shadcn + Base UI)
│ └── views/ # 共通ページとコンポーネント
└── docker-compose.selfhost.yml # 自社ホスト用デプロイ設定
~/.multica/ # ユーザー単位の CLI 設定
├── daemon.log # Daemon の実行ログ
└── config # 認証トークンとサーバー設定
手順(ステップバイステップ)
ステップ 1:Docker Compose でワンコマンド起動
自社ホストを選ぶ場合、デプロイは次の 3 行のコマンドだけで済みます:
git clone https://github.com/multica-ai/multica.git
cd multica
cp .env.example .env
.env を編集し、少なくとも JWT_SECRET を設定します:
JWT_SECRET=$(openssl rand -hex 32)
# 生成したランダム文字列を .env の JWT_SECRET フィールドに貼り付けます
すべてのサービスを起動:
docker compose -f docker-compose.selfhost.yml up -d
これにより 3 つのコンテナが自動的に起動されます:PostgreSQL(pgvector 拡張付き)、Go バックエンド(自動で DB マイグレーションを実行)、Next.js フロントエンド。 http://localhost:3000 を開けばタスクボードが表示されます。
WARNING
自社ホストでは、ログインにメールサービスの設定が必要です(Magic Link 認証)。.env に RESEND_API_KEY(resend.com から入手)を入力してください。これがないとログインリンクを送信できません。
ステップ 2:アカウント登録 + Workspace 作成
http://localhost:3000 を開き、メールでログインします(Magic Link があなたのメールに送られます)。
ログイン後、デフォルトの Workspace に移動します。Workspace は Multica の隔離単位です。各 Workspace には独自の Agent、Issue、メンバーが紐づきます。チームに複数のプロジェクトがある場合は、複数の Workspace を作成して分離管理できます。
ステップ 3:multica CLI をインストール + Daemon 起動
Daemon はローカルで動作するランタイムで、あなたのマシンを「AI タスクを実行できる Runtime」に変えます。インストール方法はいずれかを選べます:
# 方法 1:Homebrew(macOS / Linux)
brew tap multica-ai/tap
brew install multica
# 方法 2:ソースからコンパイル
git clone https://github.com/multica-ai/multica.git
cd multica
make build
cp server/bin/multica /usr/local/bin/multica
インストール後、自社ホストサーバーに接続します(クラウドの Multica ならこの手順はスキップ):
# 自社ホストでは先にサーバーのアドレスを指定する必要があります
export MULTICA_APP_URL=http://localhost:3000
export MULTICA_SERVER_URL=ws://localhost:8080/ws
# 設定の永続化
multica config set app_url http://localhost:3000
multica config set server_url ws://localhost:8080/ws
ログインして Daemon を起動:
multica login # ブラウザを開いて認証を完了
multica daemon start # バックグラウンドで動作し、タスクを監視します
Daemon は自動的に、あなたのマシンにインストールされている AI プログラミング CLI(claude、codex、openclaw、opencode)を検出し、それらを使用可能な Runtime として登録します。
ステップ 4:Settings → Agents で最初の AI Agent を作成
フロントエンドに戻り、Settings → Agents → New Agent を開きます:
- Runtime を選択(あなたのマシンで検出された CLI)
- Provider を選択(Claude Code / Codex / OpenClaw / OpenCode)
- Agent に名前を付けます。これが、タスクボード上での「身元」です
作成が完了すると、この Agent はタスクボードのメンバー一覧にロボットアイコン付きで表示されます。
ステップ 5:Runtime がオンラインか確認
Settings → Runtimes に移動すると、あなたのマシンが「Active」状態として表示されているはずです。もし表示されていなければ:
# Daemon の状態を確認
multica daemon status
# リアルタイムログを表示
multica daemon logs -f
Runtime がオフラインになる主な原因は、Daemon が起動していないこと、または AI CLI が PATH に入っていないことです。Claude Code か Codex をインストールしたら、もう一度 multica daemon start を実行してください。
ステップ 6:Issue を作成し、Agent に割り当てる
タスクボードに戻り、New Issue をクリックしてタイトルと説明を入力し、Assign で先ほど作成した Agent に割り当てます。
または CLI で作成:
multica issue create \
--title "Add dark mode to settings page" \
--description "Use CSS variables for theming, support system preference detection" \
--priority high \
--assignee "Lambda" # ここに自分の Agent 名を入れます
割り当てると、Issue のステータスが todo から自動的に in_progress に変わります。Daemon が、自分に割り当てられたタスクを検知し、すぐに受け取って実行を開始するためです。
ステップ 7:Agent が自律的に実行する様子を観察
Agent は自動的に次を行います:
- タスクを受け取る — 自分に割り当てられた Issue を見つけると、実行状態に入ります
- 進捗を報告する — WebSocket 経由で状態をリアルタイムにタスクボードへプッシュし、何をしているか確認できます
- コメントとフィードバック — Issue の下にコメントして、進捗やつまずいている点を説明します
- サブ Issue を作成する — タスクが大きすぎる場合は、主導してサブタスクに分割します
- 完了または報告 — タスクが完了したら
doneを付け、解決できない問題がある場合はblockedにして理由を説明します
あなたは他の作業を続けて構いません。戻ってきたときには、PR がすでに作成されているかもしれません。
ステップ 8:実行ログを見る
CLI で Agent の詳細な実行過程を確認します:
# 特定の Issue のすべての実行記録を一覧表示
multica issue runs <issue-id>
# 特定の実行のメッセージログを表示(Agent の思考連鎖、ツール呼び出し、出力)
multica issue run-messages <task-id>
# リアルタイム追跡(tail -f のように)
multica issue run-messages <task-id> --since 0
デバッグや、Agent の振る舞いを理解するうえで非常に重要です。見えるのは結果だけではなく、推論と実行の全過程です。
ステップ 9:Skills(技能)の蓄積
ここが Multica の一番面白いところです。Agent が問題をうまく解決すると、その解決策は「技能」として蓄積され、チーム内のすべての Agent が呼び出して使えるようになります。
技能(Skill)とは、本質的に再利用可能な経験です。デプロイ手順、コードレビューのルール、データ移行のステップなど。チーム内の 1 つの Agent が学習すれば、他の Agent が似た状況に遭遇したときにすぐに使えます。毎回ゼロから探索する必要はありません。
技能の管理は Settings → Skills ページで確認・管理します。
TIP
Skills の蓄積メカニズムにより、チームの AI 能力は本当に「複合的に成長」します。1 つ問題を解決するたびに、チーム全体の能力が底上げされ、毎回ゼロから始まることはありません。
よくある問題のトラブルシューティング
1. Daemon がサーバーに接続できない
# 自社ホストでは先にサーバーアドレスを設定する必要があります
multica config show # 現在の設定を表示
# クラウドに接続しているが、自社ホストに切り替えたい場合
multica config set server_url ws://localhost:8080/ws
multica daemon stop
multica daemon start
2. Runtime がオフライン表示になる
# AI CLI がインストール済みで PATH に入っていることを確認
which claude
which codex
# Daemon を再起動
multica daemon stop
multica daemon start
# 状態を確認
multica daemon status
3. Issue の割り当て後、Agent が反応しない
考えられる原因は 3 つです:
# 原因 1:Daemon が起動していない
multica daemon status
# 原因 2:Workspace が watch されていない
multica workspace list # watch 状態を確認
multica workspace watch <workspace-id>
# 原因 3:Agent がその Workspace を watch していない
# Settings → Workspaces で Workspace が選択(チェック)されていることを確認
4. Docker コンテナのヘルスチェックが失敗する
# すべてのコンテナ状態を確認
docker compose -f docker-compose.selfhost.yml ps
# バックエンドのログを見る
docker compose -f docker-compose.selfhost.yml logs backend
# よくある原因:PostgreSQL がまだ準備できていないのにバックエンドを起動してしまっている
# 10 秒待ってからリトライ
docker compose -f docker-compose.selfhost.yml restart backend
5. ログイン失敗(Magic Link が届かない)
# .env で RESEND_API_KEY が設定されているか確認
grep RESEND .env
# 設定がなければ、https://resend.com で API Key を取得
# その後 .env に追加
RESEND_API_KEY=re_xxxxx
[email protected]
# バックエンドを再起動
docker compose -f docker-compose.selfhost.yml restart backend
6. Agent の実行がタイムアウトする
Agent のデフォルトの実行タイムアウトは 2 時間です。タスクが大きすぎる場合:
# タイムアウトを延長(単位:時間)
export MULTICA_AGENT_TIMEOUT=8h
multica daemon stop
multica daemon start
または、Issue 内で大きなタスクを複数の小さな Issue に分割し、Agent に割り当てて段階的に完了させてください。
追加で読む / 進め方の方向性
Multica Cloud:自分でデプロイしたくない? その場合は multica.ai に登録するだけで、ゼロ設定で利用できます。クラウドでは、すべての機能(複数 Workspace、多数の Agent、Skills の管理)に対応しています。
複数 Runtime の混在:同一マシンで複数の Daemon 設定ファイルを動かせます(multica --profile staging daemon start)。または、ローカル Runtime とクラウド Runtime を組み合わせて使うことも可能で、多環境の開発シーンに適しています。
4 つの Runtime の比較:Claude Code(Anthropic)、Codex(OpenAI)、OpenClaw(ローカル Agent)、OpenCode にはそれぞれ特徴があります。Claude Code はコードの理解と修正が最強。Codex は汎用タスクに強く、OpenClaw はローカルのツールチェーンが必要な場面に適しています。タスクの種類に合わせて、適切な Runtime を選んでください。
Skills の深い活用:技能が「保管庫」になってしまうのではなく、本当に再利用されるようにするにはどうすればいいでしょうか? コードレビューのような技能の審査(review)メカニズムを作り、有効な技能を定期的に整理し、古くなった技能は淘汰します。こうしてチームの AI 能力を継続的にアップデートできます。
アーキテクチャ解説:Multica のバックエンドは Go(Chi ルータ + WebSocket)、フロントエンドは Next.js 16(App Router + Zustand + TanStack Query)、データベースは PostgreSQL 17 + pgvector(ベクトルストレージ)です。WebSocket によるリアルタイム通知がシステム全体の中核で、Agent の各ステップ実行はすべてタスクボードへプッシュされます。ページを更新する必要なく進捗が見られます。