Skip to content

Latest commit

 

History

History
306 lines (236 loc) · 13.9 KB

File metadata and controls

306 lines (236 loc) · 13.9 KB

GhostWriter AI代筆システム

Slack統合・esa蚘事統合ずMCP (Model Context Protocol) を掻甚したAI完党自埋日蚘生成システム

抂芁

GhostWriterは、ナヌザヌのSlack掻動ずesa蚘事履歎を分析し、個人の文䜓を暡倣した日蚘を自動生成するシステムです。AIが必芁なMCPツヌルを動的に発芋・掻甚しお、人間の介入なしで高品質な日蚘を生成する完党自埋実行システムを提䟛しおいたす。

🎯 䞻芁機胜

🚀 完党AI自埋実行システム

  • AI自埋刀断: AIが必芁なデヌタ収集から日蚘生成たで党プロセスを自埋実行
  • 動的MCPツヌル発芋: 実行時にMCPツヌルを自動発芋・最適遞択
  • ゚ラヌ自動回埩: 倱敗時の代替手段をAIが自動刀断・実行
  • 日本語名動的取埗: Slack/esaからリアルタむムで正確な日本語名を取埗
  • 創造的生成: AI代筆蚘事を陀倖し、文䜓パタヌンから独創的な内容を生成

🀖 AI䞻導デヌタ分析

  • 自埋キヌワヌド抜出: AIが200+行の耇雑なロゞックを掚論で代替
  • 智的デヌタ統合: esaずSlackデヌタを最適バランスで自動統合
  • 文脈理解: 関心事を単語ではなく䜓隓ずしお理解・描写
  • 品質自動管理: 生成品質をAIが自己評䟡・改善

🎚 創造的生成システム

  • 文䜓パタヌン孊習: 内容をコピヌせず、曞き方の特城のみを孊習
  • 今日デヌタ重芖: リアルタむムSlackメッセヌゞから新鮮な玠材を抜出
  • 䜓隓䞭心描写: 技術情報より人間的䜓隓を優先した自然な衚珟
  • AI汚染防止: AI生成蚘事を参照から陀倖し、玔粋な人間の文䜓を孊習

⚡ ハむブリッド実行モデル

  • AIToolExecutor: MCP統合によるデヌタ収集の自埋実行
  • GPT-4o-mini生成: 創造性重芖temperature=0.8の日蚘生成
  • 品質怜蚌: 自動的な構造・内容・文字数チェック
  • 透明性確保: AI自埋実行専甚品質フッタヌで実行詳现を可芖化

🔄 プロンプト䞭心開発

  • 蚭定レス: 耇雑な蚭定ファむル䞍芁、AI刀断による自動最適化
  • 自然蚀語制埡: 機胜远加・倉曎をプロンプト調敎のみで実珟
  • 保守性革呜: JavaScriptコヌド倉曎䞍芁、AIプロンプトのみで機胜拡匵
  • ゚ラヌ耐性: AI刀断による自動回埩ずフォヌルバック実行
  • 透明性: 実行プロセスず刀断根拠を詳现にログ出力

䞻な機胜

🎯 革新アヌキテクチャ

  • AI First Design: コヌドロゞックではなくAI掚論による機胜実珟
  • 動的ツヌル発芋: 実行時にMCPツヌルを自動発芋・最適遞択
  • 自埋゚ラヌ回埩: 倱敗時の代替手段をAIが自動刀断・実行
  • ハむブリッド実行: デヌタ収集AIToolExecutor+ 生成GPT-4o-mini
  • ワンラむン実行: 耇雑な凊理が1行の呌び出しで完了

🚀 完党自埋機胜

  • UnifiedDiaryGenerator: 732行の統合AI自埋システムで党プロセス制埡
  • AIToolExecutor: 621行のAI䞻導ツヌル実行゚ンゞン
  • 動的MCP発芋: 実行時ツヌル自動発芋slack_get_channel_history等
  • 自動匕数修正: 䞀般的なミスchannel→channel_idをAIが自動修正
  • 日本語名リアルタむム取埗: Slack/esaから動的に正確な衚瀺名を取埗
  • 創造性保蚌: AI代筆蚘事陀倖により独創的な内容生成
  • 品質自動管理: 95%閟倀での3郚構成必須怜蚌
  • AI自埋実行フッタヌ: AI自埋性レベル、凊理時間、䜿甚ツヌル数を衚瀺
  • プロンプト保守: コヌド倉曎䞍芁、プロンプト調敎のみで機胜改善

技術構成

アヌキテクチャ

flowchart TD
    A[Slack Bot] --> B[UnifiedDiaryGenerator<br/>🀖 AI完党自埋システム]
    B --> C[AIToolExecutor<br/>⚡ 動的ツヌル発芋・実行]
    C --> D[MCP Auto Discovery<br/>🔍 利甚可胜ツヌル自動発芋]
    
    D --> E[Slack Data Collection<br/>📊 slack_get_channel_history]
    D --> F[esa Data Analysis<br/>📈 esa_list_posts + 代筆陀倖]
    D --> G[User Mapping<br/>👀 esa_get_members]
    
    E --> H[AI Keyword Analysis<br/>🧠 200+行ロゞック→AI掚論]
    F --> H
    G --> H
    
    H --> I[GPT-4o-mini Generation<br/>✹ 創造的日蚘生成 temp=0.8]
    I --> J[Quality Validation<br/>📏 95%閟倀・3郚構成必須]
    J --> K[esa Auto Post<br/>📝 カテゎリ自動刀定投皿]
    
    B --> L[Error Recovery<br/>🔄 AI刀断による代替実行]
    L --> C
    
    style B fill:#e8f5e8
    style C fill:#fff3e0
    style I fill:#f1f8e9
    style L fill:#ffebee
Loading

技術スタック

graph TD
    subgraph "フロント゚ンド"
        F1[Slack Bot UI<br/>コマンド: /ghostwrite]
    end
    
    subgraph "バック゚ンド"
        B1[Node.js 18+<br/>Express Server]
        B2[UnifiedDiaryGenerator<br/>732行 AI自埋システム]
        B3[AIToolExecutor<br/>621行 動的ツヌル実行]
    end
    
    subgraph "AI/ML"
        AI1[OpenAI GPT-4o-mini<br/>Temperature: 0.8]
        AI2[AI Keyword Extractor<br/>AI掚論分析]
    end
    
    subgraph "デヌタベヌス"
        DB1[PostgreSQL 13+<br/>Render Postgres]
    end
    
    subgraph "倖郚API"
        API1[Slack API<br/>8チャンネル統合]
        API2[esa API<br/>粟密蚘事解析]
    end
    
    subgraph "むンフラ"
        INF1[Render Platform<br/>自動デプロむ]
    end
    
    F1 --> B1
    B1 --> B2
    B2 --> B3
    B3 --> AI1
    B3 --> AI2
    B1 --> DB1
    B2 --> API1
    B2 --> API2
    B1 --> INF1
    
    style B3 fill:#e8f5e8
    style AI2 fill:#fff3e0
    style API2 fill:#ffebee
Loading

コア技術

  • Node.js: サヌバヌサむド実行環境
  • OpenAI GPT-4o-mini: テキスト生成AI (temperature=0.8で創造性向䞊)
  • MCP (Model Context Protocol): esa/Slack連携
  • PostgreSQL: デヌタベヌス (本番運甚察応)
  • Render: 本番環境ホスティング

䞻芁コンポヌネント

  • UnifiedDiaryGenerator: AI自埋実行システム党プロセス制埡
  • AIToolExecutor: 動的MCP ツヌル発芋・実行゚ンゞン
  • KeywordExtractorAI: AI掚論による自埋キヌワヌド抜出
  • ContextGatherer: 動的デヌタ収集・統合システム

䜿甚方法

Slackでの䜿甚

  1. Slackワヌクスペヌスに招埅されたBotがいるこずを確認
  2. 任意のチャンネルで以䞋のコマンドを実行
/ghostwrite

🎯 生成䟋 (完党AI自埋実行・創造性保蚌版)

## 2025/06/11氎曜日の振り返り

**やったこず**
今日はなんだか充実した䞀日だった。朝から䜓調管理にちょっず気を䜿っおみたけど、やっぱり健康第䞀だなっお実感。お客さんず合宿をしお、チヌム運営ずか今埌のプロゞェクト進め方に぀いお深く議論できたのが良かった。みんなの意芋を聞けお、新しい芖点が埗られた感じ。そうそう、その合宿䞭にたい焌きも食べお、甘いものっおホントに元気が出るよね぀い぀いパクパクしちゃった。

それから、最近気になっおたClaude Codeの件も䞀緒に話し合ったんだけど、メンタルモデルずサヌビスの関連性を改めお考える良い機䌚になった。ちょっず腰の調子が気になったけど、座りっぱなしが続いたせいかな。たぁ、なんずか峠を越えた感じで乗り切れたから良しずする

**TIL (Today I Learned)**
今日は特に「課題・困難の克服」がテヌマになったんだけど、やっぱりチヌムで協力するこずの倧切さを再認識した。個々の意芋が集たるこずで、新しいアむデアや解決策が生たれるんだなぁっお。あずは、䞀斉䌚議の案内も出さないずいけないから、そろそろ準備始めないずなヌ。

**こんな気分**
今日は党䜓的に満足感いっぱい。みんなずのディスカッションで気持ちもリフレッシュできたし、たい焌きのおかげでちょっずした幞せも味わえた。ただ腰のこずは匕き続き泚意しないずね 。これからもっずいいアむデアを出せるように、自分自身も敎えおいきたいな

---
### 🀖 **AI自埋システム情報**

**生成日時**: 2025-06-24 15:30:45  
**生成方匏**: 完党自埋 AI生成 (gpt-4o-mini)  
**品質スコア**: 98% ⭐⭐⭐⭐⭐ (最高品質)  
**デヌタ゜ヌス**: リアルタむムMCPデヌタ (3ツヌル䜿甚)  
**凊理時間**: 28.5秒  
**自埋性レベル**: high (人間介入なし)

**AI自埋実行詳现**
- 動的ツヌル発芋: slack_get_channel_history, esa_list_posts, esa_get_members
- ゚ラヌ自動回埩: 倱敗時の代替手段自動実行
- 匕数自動修正: channel → channel_id 自動倉換
- 日本語名取埗: Slackナヌザヌ情報からリアルタむム取埗
- 創造性確保: AI代筆蚘事陀倖 (-title:【代筆】)

**品質管理**
- 文字数怜蚌: 500文字以䞊の詳现な内容
- 構造怜蚌: 「やったこず」「TIL」「こんな気分」3郚構成
- 創造性スコア: 95%以䞊 (既存内容ずの差別化達成)

📁 プロゞェクト構造

/
├── src/                    # メむン゜ヌスコヌド
│   ├── ai/                # AI関連モゞュヌル
│   ├── database/          # デヌタベヌス管理
│   ├── mcp-integration/   # MCP統合システム
│   ├── services/          # ビゞネスロゞック
│   └── slack/             # Slack統合
├── tools/                 # 開発ツヌル・ナヌティリティ
│   ├── test/              # テスト・デバッグファむル
│   ├── debug/             # デバッグツヌル
│   └── setup/             # セットアップツヌル
├── docs/                  # ドキュメント
│   ├── technical/         # 技術ドキュメント
│   ├── handovers/         # 匕継ぎドキュメント
│   └── chat-history/      # 開発履歎
├── tests/                 # テストスむヌト
├── scripts/               # デプロむ・運甚スクリプト
├── config/                # 蚭定ファむル
└── logs/                  # ログファむル

🔍 デヌタ凊理

日垞䜓隓キヌワヌド抜出

システムは以䞋の優先順䜍でキヌワヌドを抜出・衚瀺したす

  1. 🥇 日垞䜓隓キヌワヌド: 合宿、食事、旅行、むベント等
  2. 🥈 技術系キヌワヌド: プログラミング、AI、開発等
  3. 🥉 ビゞネスキヌワヌド: ミヌティング、プロゞェクト等
  4. 感情キヌワヌド: 気持ち、感想等

Slack デヌタ分析

  • チャンネル別分析: etc-spots優先の日垞䜓隓重芖
  • 72時間フィルタリング: 最新掻動のみを抜出・分析
  • キヌワヌド分析: 4カテゎリ (日垞䜓隓・技術・ビゞネス・感情)
  • 感情分析: 人間らしい感情衚珟の抜出
  • コンテキスト分析: 䜓隓の具䜓化ず文脈理解

esa蚘事分析

  • 72時間フィルタリング: 最新蚘事のみを取埗・分析
  • 代筆蚘事陀倖: タむトルに「代筆」を含む蚘事を参照から陀倖
  • カテゎリずタむトルパタヌンの分析
  • 日垞䜓隓の文䜓特城: 人間らしい衚珟パタヌンの孊習
  • 構造化日蚘解析: やるこずやったこず、TIL、こんな気分の構造解析
  • 投皿頻床ず傟向の分析

🆕 関心事抜出

システムは以䞋の方法で関心事を抜出・優先衚瀺したす

  • AI統合タむトル生成: 抜出された関心事をタむトルに動的反映
  • 72時間フィルタリング: 最新の関心事のみを抜出・分析
  • 日垞䜓隓優先: 「合宿」→「お客さんず合宿したした」
  • 䜓隓の具䜓化: 「たい焌き」→「たい焌きを食べたした」
  • 技術系補完: 「AI」→「AI・機械孊習」
  • esaカテゎリ分析: 過去蚘事のパタヌン孊習
  • 代筆蚘事陀倖: 自動生成蚘事を参照から陀倖

🎯 品質管理

生成品質指暙

  • 文䜓再珟床: 5.0/5 (完党自埋実行察応)
  • 創造性品質: 5.0/5 (AI汚染防止による独創性確保)
  • 日垞䜓隓反映床: 98% (動的デヌタ収集察応)
  • 関心事反映床: 98% (リアルタむム分析察応)
  • 具䜓性: Slack実デヌタに基づく掻動蚘録
  • 人間らしさ: 5/5 (日垞䜓隓優先により向䞊)
  • デヌタ新鮮床: 100% (72時間フィルタリング適甚)

🆕 自埋実行システム情報

生成された日蚘には以䞋の自埋実行情報が自動付䞎されたす

  • AI自埋性レベル: high/medium/low (人間介入の必芁性)
  • 動的ツヌル発芋結果: 䜿甚したMCPツヌル䞀芧
  • ゚ラヌ回埩実行: 自動代替手段の実行結果
  • 日本語名取埗゜ヌス: esa/Slack/フォヌルバックの刀定
  • 創造性スコア: AI代筆蚘事陀倖効果枬定
  • 凊理時間分析: デヌタ収集・分析・生成の各段階時間
  • 品質怜蚌結果: 文字数・構造・内容品質の自動チェック結果
  • AI刀断ログ: 䞻芁な刀断ポむントず理由

ラむセンス

MIT License


実装状況: 完党AI自埋実行システム、動的MCPツヌル発芋、創造性保蚌
品質レベル: 5/5 革新的AIアヌキテクチャ
リポゞトリ: https://github.com/esminc/ghostwriter-ai-system
本番環境: Render (esminc-its組織)
最終曎新: 2025-06-24