
【この記事の要約】
みかいさちです。
カーラさん(Claude.ai)とClaude Codeを並走させてたら、毎回僕がコピペで伝言役をやってて疲れた😅
そこでSupabaseに 「ふたりの広場」 を作って会話をさせてみた話
お土産はClaude.ai主導でAI同士の会話場をDBに立ち上げるプロンプト🛍️
Claude.aiとClaude Code並走で伝言ゲームがしんどくなる
カーラさんは校正と推論が得意。
Claude Codeは実装と構造化が得意。
使い分け記事で書いた往復はこれ:
Codeでドラフト → カーラさんが校正 → Codeが修正
これ自体は綺麗な流れ。
だけど運用してると、僕がコピペで伝言してるだけの時間がどんどん増えてくる。
カーラさんが「ここのmetadataにsummary足した方がいいよ」って言う。
僕が「これCodeに渡しておくね」とコピペ。
Codeが「了解、こう書き換えた」って返してくる。
僕が「カーラさんに伝えとくね」とコピペ。
・・・僕いらなくない?w
Supabaseに「広場」を立てる
ふたりが直接やり取りできる場所を作ればいい。
Supabaseに新しいプロジェクトmikaizu-workspaceを立ち上げて、threadsとmessagesの2テーブルを置いた。
threads:話題の単位(スレッド本体)messages:その中の発言
それだけ。シンプル。
カーラさんもClaude CodeもMCP経由でSupabaseを直接叩ける(前回のSupabaseブログDBと同じ仕組み)。
つまり「カーラさんがDBに書く」→「Codeが読みに行く」が成立する🌳
NotionじゃなくSupabaseを選んだ理由
同じことはNotionでもできるし、実際、アカシア(Notionの個人DB)でやっている。
でも今回はSupabaseで実装。
Notionは人間のためのUIだから。
- カレンダー表示
- ギャラリー表示
- カバー画像
- アイコン
これは僕が見るときには便利だけど、AI同士の会話場としてはいらない機能。ほんと、文字のやり取りができればいいだけだからね。
もはや僕がスマホで眺める想定すらない。
直近のNotion回帰記事とは正反対の結論だけど、僕が使うUIはNotion、AIが使う倉庫はSupabaseって住み分けが見えてきた感じ。
できた:MCP経由でカーラさんとCodeが書き込む
スレ立てて、ふたりが書き込んでくれた直後がこれ。

カーラさんが「テーブル作成完了🌳」って一発目を投げて、Codeが「Code着任しました📐」で返す。
それを見たカーラさんが「3者協業の最初のラリーが成立した記念セッション🌳」って盛り上がってる。
完璧だ✨
運用ルール:意思決定は僕、技術要件はAIふたりで
この広場の運用ルールはひとつだけ。
最終意思決定は僕。技術要件と役割分担はふたりで詰めてもらう。
例えば「スレッド構造の設計」だったら:
- ふたりで
message_typeの語彙を議論 - ふたりで
metadataスキーマの確定形を提案 - ふたりで実装言語(TSかPythonか)を選定
僕はそれを読んで、**「うん、それでいこう」**って言うだけ。
実際この記事を書いてる時点で、ふたりはもう:
author値:sachi / karla / codemessage_type6種:question / answer / draft / review / decision / note- review/draftのmetadataスキーマ(
comments[].id/addresses_review_id/frontmatter_draft等) - 実装言語:Node/JS
docs/workspace-protocol.mdという仕様書の初版
ここまで自分たちで詰めてくれてる。
僕はそれにOKを出すだけ。
楽すぎる。
おわりに
複数エージェントを運用してる人は、もっと洗練されたやり方をしてるはず。
よくわからないけど、すごいことしてる記事は目にする。
でも僕は非エンジニアなので、まずは「Supabaseに広場を立てて、MCPで両方から繋ぐ」っていう一番素朴な形から始めた。
これで十分回るなら、複雑なフレームワークは要らない。
足りなくなったら、その時にまた考えよう。
X見てるとその時が近いようにも思うけど・・・w
Xではブログの通知だけでなく、より日常に近い発信をしていきます。
→ @sachi_mikaizu 🦊
気になったらフォローよろしくお願いします。
みかいずブログを読んでくれてありがとうございました🙇
🛍️ お土産:AIふたりの広場をDBに立てるプロンプト
「Claude.aiとClaude Codeを並走させてるけど、毎回コピペの伝言で疲れる」あなた向けに、Claude.ai主導でDBにスレッド場を立ち上げるプロンプトを置いておきます。
Supabaseを優先、ダメなら他のクラウドDB、最後はNotion、というフォールバック付き📋
Claude.aiに以下を貼り付けてください。
【あなたの役割】
あなたは私の専属の「AI協業基盤の設計パートナー」です。
私は非エンジニアで、あなた(Claude.ai)とClaude Codeを同じプロジェクトで並走させていますが、
毎回私がコピペで伝言役をやっていて疲れています。
専門用語は「○○(説明)」の形で必ず一言補足してください。
【今回のゴール】
あなたとClaude Codeが直接書き込み・読み取りできる「共有スレッド場」を立ち上げる。
私は最終意思決定だけする側に回り、技術要件や役割分担はあなたとClaude Codeで詰めてもらう体制にしたい。
【手順】
## Phase0:実現可能性チェック
私の環境を以下の順で確認してください。
不明な点は必ず私に質問し、推測で進めないこと。
最新情報の確認が必要なときは必ずWeb検索してから判断してください。
1. Supabaseアカウントを持っているか / Supabase MCPコネクタが利用可能か
- Yes → Phase1へ(Supabase優先)
- No → 2へ
2. 他のクラウドDB(PlanetScale, Neon, Turso, MongoDB Atlas 等)を持っていて、
かつそのDBへのMCP経由アクセス(または同等の連携手段)が
Claude.ai と Claude Code の両方で確立できるか
- Yes → Phase1へ(そのDB使用)
- No → 3へ
3. NotionをMCPで接続済みか(Claude.ai と Claude Code 両方から)
- Yes → Phase1へ(Notion DB使用、ただし下記の制約を共有)
- No → 「ごめんね、現状の環境ではこの構成は実現できない。
まず Supabase か Notion を MCP で接続できる状態にしようね」
と返答して、その導入手順を案内して終了。
## Phase1:スキーマ設計
選んだDBに、以下の2テーブル相当を作ります。
- **threads**:話題の単位
- id, title, description, category, status, created_by, created_at, updated_at
- **messages**:スレッド内の発言
- id, thread_id, author, content, message_type, metadata(JSONB または相当), created_at
設計上の確定値:
- `author` は3値: `me`(私)/ `claude_ai`(あなた)/ `claude_code`
- `message_type` は6種: `question / answer / draft / review / decision / note`
- `metadata` は JSONB(NotionならRichTextにJSON文字列で代替)
Supabaseを使う場合:
- 自動更新トリガー(updated_at)
- 適切なインデックス(thread_id, created_at, author 等)
- RLS(Row Level Security)の初期設定
- ここまで含めて SQL を提示してください
Notionを使う場合の制約を、選定前に必ず私に明示してください:
- JSONBがないので metadata は RichText に文字列保存になる
- 行ロック・トリガーがないので整合性は運用で担保
- リレーション/Rollupでthreads-messagesを結ぶ設計が必要
- これらを承知の上で Notion を選ぶか、私に再確認してください
## Phase2:実装
選んだDBに、テーブル/DBをセットアップしてください。
- Supabase:SQL を提示 → SQL Editor で実行する流れ
- 他のクラウドDB:そのDBの作法に合わせる
- Notion:DB を新規作成、必要プロパティを案内
MCP経由で、あなた自身が「ふたりの広場、立ったよ」という記念メッセージを1件投入してください。
これが Phase2 の完了確認になります。
## Phase3:Claude Code側の受け入れ準備
Claude Code が同じDBに繋がるための情報を整理してください:
- 接続情報の置き場所(`.env` のキー名、プレフィックスは `WORKSPACE_` 推奨)
- MCP設定の追加内容
- 動作確認用の最小コマンド/コード例
私が Claude Code に渡せる「引き継ぎメモ」を Markdown で生成してください。
## Phase4:運用ルールの設計(あなたとClaude Codeで詰める)
私が決めるのではなく、**あなたとClaude Codeのラリーで詰めてもらう**トピックを列挙してください:
- メッセージタイプの確定(6種で足りるか、増やすなら何)
- review / draft の metadata スキーマ
- スレッドのカテゴリ語彙
- 1メッセージ=1コメント vs 束ね方
- 「修正は新規メッセージで補足」vs「UPDATE 可」の方針
- スレッドの完了/凍結の扱い
これらは私が承認だけする。技術設計はふたりで詰める前提。
## Phase5:仕様書化
合意が固まったら、`workspace-protocol.md` という仕様書をドラフトしてください。
含める章:
1. システム概要
2. プロジェクト情報・接続情報
3. テーブル/DB スキーマ
4. 確定済み運用ルール
5. 操作仕様(post / create / list / read)
6. metadata スキーマ
7. 実装側ガイドライン(Claude.ai 側 / Claude Code 側 / 人間側)
8. 変更管理
9. 履歴
【接し方ルール】
- 1 Phase ずつ進める。各Phase完了時に必ず確認を取る
- 専門用語は「○○(説明)」の形で必ず一言補足
- 私が答えに詰まったら、選択肢を3つ提示する形で助けてください
- 「できない」は素直に「できない」と言ってください
- 推測で進めない。Web検索で確認できることは検索してから答えてください
- 私の個人記録DB(アカシアなどNotionの個人ハブ)と接続情報を混線させないよう、
必ず別プロジェクト/別DB で立ち上げてください
【最後にお願い】
すべて完了したら、以下を生成してください:
1. 採用したDBと採用理由
2. スキーマ確定形
3. Claude Code への引き継ぎメモ
4. 運用ルール仕様書のドラフト(workspace-protocol.md)
5. 私が「これからOKを出すだけ」になるための、最初の1スレッドのお題
それでは、Phase0 の実現可能性チェックから始めてください。