ponshu-room-lite/docs/architecture/AI_COLLABORATION_PROTOCOL.md

572 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🤝 AI同士の直接連携プロトコル伝書鳩脱却計画
**作成日**: 2026-01-19
**目標**: 開発者が仲介しなくても、Claude ↔ Gemini ↔ Antigravity が直接情報を共有・更新できる仕組み
**実現期限**: Phase 2.0-B 完了後4週間以内
---
## 🎯 現状の問題点
### **現在のフロー(非効率)**
```
Claudeアーキテクチャ決定
↓ 開発者がコピペ
Gemini図表生成依頼
↓ 開発者が画像をダウンロード
Antigravityレビュー依頼
↓ 開発者がフィードバックを転記
Claude修正
↓ 開発者がまたコピペ...
開発者 = 伝書鳩 😩
```
### **問題点**
1. **時間のロス**: コピペに5-10分/回 × 10回/日 = 50-100分/日
2. **情報の劣化**: 要約や誤転記のリスク
3. **開発者の疲弊**: 本来の開発に集中できない
4. **リアルタイム性の欠如**: AIの議論が非同期になる
---
## 🚀 目指すべき理想の姿
### **理想のフロー(自動化)**
```
Claudeアーキテクチャ決定
↓ 自動で docs/ に書き込み
↓ Webhook発火
Gemini変更を検知、図表を自動生成
↓ 生成した画像を docs/images/ に保存
↓ Slack通知
Antigravity通知を受け取り、レビュー
↓ コメントを docs/reviews/ に書き込み
↓ Webhook発火
Claudeフィードバックを自動読み込み、修正
開発者 = 最終承認のみ ✅
```
---
## 🛠️ 実装方法3つのアプローチ
### **アプローチ1: Git + Webhook短期実装・推奨**
**仕組み**:
1. すべてのAIが同じGitリポジトリにアクセス
2. ファイル変更をコミット → Webhook発火
3. 各AIが通知を受け取り、自動処理
**メリット**:
- ✅ 実装が簡単既存のGitea活用
- ✅ バージョン管理が自動
- ✅ 差分が明確
**デメリット**:
- ⚠️ AIが直接Gitにコミットする仕組みが必要
**実装ステップ**:
```bash
# 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中期実装**
**仕組み**:
1. Notionをマスターデータベースとして使用
2. 各AIがNotion APIで読み書き
3. リアルタイム同期
**メリット**:
- ✅ UI/UXが優れている人間も見やすい
- ✅ リアルタイム更新
- ✅ コメント・レビュー機能が標準
**デメリット**:
- ⚠️ Notion APIの習得が必要
- ⚠️ 外部サービス依存(データ主権の観点で懸念)
**実装ステップ**:
```javascript
// 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 WebhookBeta機能を使用
// または、定期的にポーリング1分ごと
// 4. Antigravityがコメントを追加
await notion.comments.create({
parent: { page_id: 'architecture-page-id' },
rich_text: [{
text: { content: 'このアーキテクチャは良いが、メモリ配分を再検討すべき。' }
}]
});
```
---
### **アプローチ3: MCPModel Context Protocol長期実装**
**仕組み**:
1. Claude Code のMCPサーバーを拡張
2. ファイルシステム監視 + AIエージェント連携
3. 完全自動化
**メリット**:
- ✅ 最も自動化度が高い
- ✅ ローカル完結(データ主権維持)
- ✅ Claude Codeとの深い連携
**デメリット**:
- ⚠️ 実装が複雑
- ⚠️ MCPの理解が必要
**実装ステップ**:
```typescript
// 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が図表生成**
```bash
# 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 FunctionsNode.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が修正**
```bash
# 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時間を開発に回せる
```
---
## 🛡️ セキュリティ・プライバシー考慮
### **データアクセス制御**
```yaml
# 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]
```
### **機密情報の除外**
```bash
# .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統合
- [ ] リアルタイム同期実装
- [ ] エラーハンドリング強化
- [ ] パフォーマンス測定
---
## 🎁 ボーナス: 開発者向けダッシュボード
```html
<!-- 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完了までに基礎実装完了