14 KiB
14 KiB
🤝 AI同士の直接連携プロトコル(伝書鳩脱却計画)
作成日: 2026-01-19 目標: 開発者が仲介しなくても、Claude ↔ Gemini ↔ Antigravity が直接情報を共有・更新できる仕組み 実現期限: Phase 2.0-B 完了後(4週間以内)
🎯 現状の問題点
現在のフロー(非効率)
Claude(アーキテクチャ決定)
↓ 開発者がコピペ
Gemini(図表生成依頼)
↓ 開発者が画像をダウンロード
Antigravity(レビュー依頼)
↓ 開発者がフィードバックを転記
Claude(修正)
↓ 開発者がまたコピペ...
開発者 = 伝書鳩 😩
問題点
- 時間のロス: コピペに5-10分/回 × 10回/日 = 50-100分/日
- 情報の劣化: 要約や誤転記のリスク
- 開発者の疲弊: 本来の開発に集中できない
- リアルタイム性の欠如: AIの議論が非同期になる
🚀 目指すべき理想の姿
理想のフロー(自動化)
Claude(アーキテクチャ決定)
↓ 自動で docs/ に書き込み
↓ Webhook発火
Gemini(変更を検知、図表を自動生成)
↓ 生成した画像を docs/images/ に保存
↓ Slack通知
Antigravity(通知を受け取り、レビュー)
↓ コメントを docs/reviews/ に書き込み
↓ Webhook発火
Claude(フィードバックを自動読み込み、修正)
開発者 = 最終承認のみ ✅
🛠️ 実装方法(3つのアプローチ)
アプローチ1: Git + Webhook(短期実装・推奨)
仕組み:
- すべてのAIが同じGitリポジトリにアクセス
- ファイル変更をコミット → Webhook発火
- 各AIが通知を受け取り、自動処理
メリット:
- ✅ 実装が簡単(既存のGitea活用)
- ✅ バージョン管理が自動
- ✅ 差分が明確
デメリット:
- ⚠️ AIが直接Gitにコミットする仕組みが必要
実装ステップ:
# 1. Gitea にAI専用ユーザー作成
# Giteaで: Settings → Users → Create New User
# Username: claude-bot, gemini-bot, antigravity-bot
# 2. 各AIにアクセストークン発行
# Giteaで: User Settings → Applications → Generate New Token
# 3. Claudeがドキュメント更新時に自動コミット
# Claude側(MCP経由で実装):
git config user.name "Claude Bot"
git config user.email "claude@posimai.local"
git add docs/architecture/
git commit -m "feat(arch): Update architecture decision"
git push origin main
# 4. Webhook設定(Giteaで)
# URL: https://gemini-webhook.example.com/on-commit
# Trigger: Push events
# Target: docs/architecture/**
# 5. Geminiが受け取る
# Gemini側:
# - Webhookを受信
# - 変更ファイルを読み取り
# - 図表生成が必要か判定
# - 必要なら画像生成 → docs/images/ にコミット
アプローチ2: Notion API(中期実装)
仕組み:
- Notionをマスターデータベースとして使用
- 各AIがNotion APIで読み書き
- リアルタイム同期
メリット:
- ✅ UI/UXが優れている(人間も見やすい)
- ✅ リアルタイム更新
- ✅ コメント・レビュー機能が標準
デメリット:
- ⚠️ Notion APIの習得が必要
- ⚠️ 外部サービス依存(データ主権の観点で懸念)
実装ステップ:
// 1. Notion Integration作成
// https://www.notion.so/my-integrations
// 2. Claude側の実装例(MCP経由)
const { Client } = require('@notionhq/client');
const notion = new Client({ auth: process.env.NOTION_API_KEY });
// アーキテクチャページを更新
await notion.pages.update({
page_id: 'architecture-page-id',
properties: {
'Status': { status: { name: 'Updated' } },
'Last Updated': { date: { start: new Date().toISOString() } }
}
});
// 3. Geminiが変更を検知
// Notion Webhook(Beta機能)を使用
// または、定期的にポーリング(1分ごと)
// 4. Antigravityがコメントを追加
await notion.comments.create({
parent: { page_id: 'architecture-page-id' },
rich_text: [{
text: { content: 'このアーキテクチャは良いが、メモリ配分を再検討すべき。' }
}]
});
アプローチ3: MCP(Model Context Protocol)(長期実装)
仕組み:
- Claude Code のMCPサーバーを拡張
- ファイルシステム監視 + AIエージェント連携
- 完全自動化
メリット:
- ✅ 最も自動化度が高い
- ✅ ローカル完結(データ主権維持)
- ✅ Claude Codeとの深い連携
デメリット:
- ⚠️ 実装が複雑
- ⚠️ MCPの理解が必要
実装ステップ:
// MCP Server 実装例
// mcp-server-posimai/src/index.ts
import { McpServer } from '@anthropic/mcp-server';
import { watch } from 'fs';
import { exec } from 'child_process';
const server = new McpServer({
name: 'posimai-collaboration',
version: '1.0.0',
});
// docs/ フォルダを監視
watch('docs/architecture', { recursive: true }, async (event, filename) => {
console.log(`File changed: ${filename}`);
// 1. 変更内容を解析
const content = await fs.readFile(`docs/architecture/${filename}`, 'utf-8');
// 2. Geminiに通知(HTTP POST)
if (filename.includes('.md')) {
await fetch('https://gemini-webhook.example.com/notify', {
method: 'POST',
body: JSON.stringify({
type: 'document_updated',
file: filename,
content: content,
}),
});
}
// 3. Antigravityにメール通知
exec(`echo "ドキュメント更新: ${filename}" | mail -s "Posimai Update" antigravity@example.com`);
});
server.listen(3001);
📅 実装ロードマップ
Phase 1: 手動からセミ自動へ(Week 1-2)
現在: 開発者がすべて転記
↓
Week 1: 共有Gitリポジトリ作成
Week 2: Webhook設定
↓
結果: AIがファイルを監視できる
実装タスク:
- Giteaにドキュメント専用リポジトリ作成
- Claude用アクセストークン発行
- Webhook URL設定(テスト用)
Phase 2: Geminiの自動図表生成(Week 3-4)
現在: 開発者がGeminiにプロンプトをコピペ
↓
Week 3: Gemini Webhookエンドポイント作成
Week 4: 自動図表生成スクリプト実装
↓
結果: .md更新 → 自動で画像生成
実装タスク:
- Gemini API統合(Cloud Functions or VM上)
- 画像生成トリガー実装
- docs/images/ への自動保存
Phase 3: Antigravityの自動レビュー(Month 2)
現在: 開発者がAntigravityに状況説明
↓
Month 2: Slack Bot作成
↓
結果: ドキュメント更新 → Slackに通知 → レビュー
実装タスク:
- Slack Workspace作成
- Incoming Webhook設定
- Gitea Webhook → Slack連携
Phase 4: 完全自動化(Month 3-6)
現在: 開発者が最終承認
↓
Month 3-6: MCP実装、AIエージェント化
↓
結果: AIが自律的に議論・決定(開発者は拒否権のみ)
🔧 具体的な実装例
例1: Claudeが決定 → Geminiが図表生成
# Claude側(docs/ に書き込み)
cat > docs/architecture/NEW_DECISION.md <<'EOF'
# 新しいアーキテクチャ決定
## 概要
PostgreSQLをVM内に移動することを検討。
## 理由
...
EOF
git add docs/architecture/NEW_DECISION.md
git commit -m "feat: Consider moving PostgreSQL to VM"
git push
# → Gitea Webhook発火
# Gemini側(Webhookを受信)
# Cloud Functions(Node.js)で実装
export default async function handler(req, res) {
const { file, content } = req.body;
// 図表生成が必要か判定
if (content.includes('アーキテクチャ') || content.includes('構成')) {
// Gemini APIで図表生成
const imageUrl = await generateDiagram(content);
// Gitにコミット(画像)
await commitToGit('docs/images/new_diagram.png', imageUrl);
// Slack通知
await notifySlack('新しい図表を生成しました');
}
res.status(200).send('OK');
}
例2: Antigravityのレビュー → Claudeが修正
# Antigravity側(Slackでコメント)
# Slack Botが docs/reviews/ に保存
# Slackメッセージ:
# "@claude-bot このアーキテクチャはメモリ不足のリスクがある。
# VMを6GBに増やすべき。"
# → Slack Bot が自動処理
cat > docs/reviews/2026-01-19_antigravity.md <<'EOF'
# レビュー by Antigravity
**日付**: 2026-01-19
**対象**: NEW_DECISION.md
## コメント
このアーキテクチャはメモリ不足のリスクがある。
VMを6GBに増やすべき。
EOF
git add docs/reviews/
git commit -m "review: Antigravity feedback on NEW_DECISION"
git push
# → Webhook発火
# Claude側(MCP経由で自動読み込み)
# docs/reviews/ を監視
# 新しいレビューがあれば、元のドキュメントを修正
📊 効果測定
Before(現状)
| 指標 | 値 |
|---|---|
| AI間の情報共有時間 | 5-10分/回 |
| 1日のコピペ回数 | 10-20回 |
| 開発者の時間消費 | 50-100分/日 |
| 情報の鮮度 | 数時間遅延 |
After(理想)
| 指標 | 目標値 |
|---|---|
| AI間の情報共有時間 | <1分/回 |
| 1日のコピペ回数 | 0回 |
| 開発者の時間消費 | <10分/日 |
| 情報の鮮度 | リアルタイム |
ROI計算:
節約時間: 50-100分/日 → 40-90分/日節約
月間: 800-1800分(13-30時間)
年間: 9600-21600分(160-360時間)
= 年間で約200-360時間を開発に回せる
🛡️ セキュリティ・プライバシー考慮
データアクセス制御
# docs/architecture/.access_control.yml
files:
- pattern: "CRITICAL_*.md"
read: [claude, antigravity]
write: [claude]
- pattern: "AI_HANDOFF_*.md"
read: [claude, gemini, antigravity]
write: [claude]
- pattern: "reviews/*.md"
read: [claude, gemini, antigravity]
write: [antigravity]
- pattern: "images/*.png"
read: [all]
write: [gemini]
機密情報の除外
# .gitignore に追加
docs/architecture/SECRETS.md
docs/architecture/*_PRIVATE.md
*.env
credentials.json
🎓 学習コスト
各AIが習得すべきスキル
| AI | 必要スキル | 学習時間 | 優先度 |
|---|---|---|---|
| Claude | Git操作、MCP開発 | 2-4時間 | 🔴 高 |
| Gemini | Webhook受信、画像生成API | 1-2時間 | 🟡 中 |
| Antigravity | Slack操作、Markdown記法 | 30分-1時間 | 🟢 低 |
🚀 今すぐできる最小限の実装
ステップ1: 共有Notionページ作成(5分)
1. Notionで新規ページ作成
タイトル: "Posimai AI Collaboration Hub"
2. セクション作成:
- 📋 Current Status
- 🏗️ Architecture Decisions
- 🎨 Generated Diagrams
- 💬 Reviews & Feedback
3. 各AIに共有
- Claudeに: ページURL + 編集権限
- Geminiに: ページURL + コメント権限
- Antigravityに: ページURL + 編集権限
ステップ2: Slack Workspace作成(10分)
1. Slack Workspace作成
Name: "Posimai Development"
2. チャンネル作成:
#architecture - アーキテクチャ議論
#deployments - デプロイ通知
#reviews - レビュー依頼
3. Incoming Webhook設定
https://api.slack.com/messaging/webhooks
4. Gitea Webhook と連携
Gitea → Slack #deployments に通知
ステップ3: 開発者の役割を「承認者」に限定(即日)
新しいフロー:
1. Claudeがアーキテクチャ決定
→ Notionに書き込み
→ Slackに通知
2. Geminiが図表生成
→ Notionに画像添付
→ Slackに通知
3. Antigravityがレビュー
→ Notionにコメント
→ Slackに通知
4. 開発者が最終承認
→ Slackで 👍 リアクション
→ または「修正が必要」とコメント
開発者の作業: コピペ不要、承認のみ
📝 チェックリスト
Week 1-2(基礎構築)
- Notion Workspace作成
- Slack Workspace作成
- Gitea Webhook → Slack連携
- 各AIにアクセス権付与
- テスト運用開始
Week 3-4(自動化)
- Gemini Webhook実装
- 自動図表生成テスト
- Claude MCP統合
- レビューフロー確立
Month 2-3(最適化)
- Notion API統合
- リアルタイム同期実装
- エラーハンドリング強化
- パフォーマンス測定
🎁 ボーナス: 開発者向けダッシュボード
<!-- docs/dashboard.html -->
<!DOCTYPE html>
<html>
<head>
<title>Posimai AI Collaboration Dashboard</title>
</head>
<body>
<h1>🤖 AI Activity Monitor</h1>
<div class="stats">
<div>Claude Commits: <span id="claude-commits">0</span></div>
<div>Gemini Images: <span id="gemini-images">0</span></div>
<div>Antigravity Reviews: <span id="antigravity-reviews">0</span></div>
</div>
<div class="timeline">
<!-- リアルタイムでAIの活動を表示 -->
</div>
<script>
// Gitea API経由でコミット履歴を取得
// Slackの新着メッセージを取得
// リアルタイム更新
</script>
</body>
</html>
最終更新: 2026-01-19 次回レビュー: Week 2終了時 目標: Phase 2.0-B完了までに基礎実装完了