株式会社renue
renueについて
renueは、AIで業務を実装する会社です
AIコンサルティングから図面AI・広告運用エージェント・コールセンターAIまで、実際に動いているサービスをご覧いただけます。renueが何をしている会社か、まずはサービス一覧からご確認ください。
AIエージェントをSlackから呼び出す——「@メンション一発」で開発タスクを実行させる設計
「Slackで@メンションしたら、AIエージェントが自律的にコードを書いて、PRを作成して、結果をSlackに返してくれる」——2026年、この夢は現実になっています。
しかし、Slackとのintegrationは単にAPIを繋ぐだけではありません。認証の設計、イベントの重複排除、VM上のエージェント制御、セキュリティ——企業環境で安全に運用するには、体系的な設計が必要です。
本記事では、AIコーディングエージェントをSlack経由で起動・制御するための設計パターンを、実装レベルで解説します。
アーキテクチャ概要
イベントの受領 → 送信元と利用者の確認 → 対象業務の認可 → エージェントの実行 → 共有範囲を確認して返信、という責任分担で整理します。実行環境と認証方式は、接続先と社内の認証基盤に合わせて選びます。
Socket Mode vs HTTP Webhook
| 方式 | メリット | デメリット | 推奨用途 |
|---|---|---|---|
| Socket Mode | 公開URLが不要、ファイアウォール内で動作 | 常時接続が必要 | 閉域環境・開発環境 |
| HTTP Webhook | スケーラブル、ステートレス | 公開エンドポイントが必要 | 本番の高トラフィック環境 |
閉域環境やIP制限がある場合はSocket Modeが最適です。公開HTTPエンドポイントを設ける必要がないため、ネットワークセキュリティの要件を満たせます。
認証フロー:チャットと業務システムの主体を対応付ける
チャット上の利用者を、承認された社内の認証基盤に対応付けます。表示名やメールアドレスの一致だけで権限を付与せず、ワークスペース・組織・利用者の対応を検証します。
バックエンドAPIは、エージェントからの要求でも認証情報とリソースごとの権限を検証します。起動時の認証を理由に、実行時の認可を省略しません。代理実行した人と、実際に実行したサービス主体を追跡できるようにします。
Webhook統一エンドポイント設計
Slack Appは1つのエンドポイントしかInteractivity URLを持てません。複数の処理(議事録のプロジェクト変更、承認フロー等)を1つのエンドポイントで振り分ける設計が必要です。
統一Webhookエンドポイント(POST) ↓ 1. 署名検証(Slack Signing Secret) ↓ 2. ペイロード解析(form-data → JSON) ↓ 3. action_id抽出 ↓ 4. ルーティング ├ 議事録変更用アクション → 議事録プロジェクト変更 ├ 承認用アクション → 承認処理 └ その他 → 「未対応のアクション」
action_idでバックエンドのルーティングを制御する設計により、処理を追加するたびにボットを作成する必要がなくなります。
イベント重複排除
Slackのイベントは再送される場合があります。同じメンションで実行セッションが二重に作成されないよう、重複排除が必要です。
対策
app_mentionイベントのみに絞る(message_changedなどは無視)- イベントIDの重複チェック(処理済みイベントをキャッシュ)
- 実行セッション作成の冪等性を確保(同一メッセージに対して1 Runのみ)
セキュリティ設計
チャンネルアクセス制御
- チャンネル許可リスト:特定チャンネルからのメンションのみ受け付ける
- DM制御:DMからの起動を許可するか、チャンネルのみに限定するか
- レート制限:1ユーザーあたりの同時実行数を制限
操作権限のマッピング
役職やチャット上のロールだけで全操作を許可せず、業務上必要な操作とリソースを最小単位で定義します。管理操作・データ閲覧・更新・外部送信を分け、権限外の操作が拒否されるかを確認します。
プラットフォーム非依存のエージェント設計
コアのエージェントロジックはプラットフォーム非依存にすべきです。推論、意思決定、アクション実行のレイヤーは、リクエストがSlackから来たのかWebから来たのかを知る必要はありません。
┌─ Slack Adapter ─┐
│ 入力パース │
│ 出力フォーマット │
└──────┬──────────┘
↓
┌─ Core Agent ────┐
│ 推論・判断 │ ← プラットフォーム非依存
│ ツール実行 │
│ 結果生成 │
└──────┬──────────┘
↓
┌─ Slack Adapter ─┐
│ スレッド返信 │
│ リアクション追加 │
└─────────────────┘
この設計により、将来TeamsやDiscordにも同じエージェントロジックを展開できます。
実装のチェックリスト
| 領域 | チェック項目 |
|---|---|
| Slack App設定 | Bot Token Scopesが必要最小限に設定されているか |
| Socket Mode | App-Level Tokenが設定され、WebSocket接続が安定しているか |
| 認証 | チャット側の主体と社内の認証主体の対応を検証したか |
| 認可 | 利用者・操作・対象リソースの認可がAPIごとに機能するか |
| 重複排除 | 同一メンションで実行セッションが1回だけ作成されるか |
| Webhook | action_idルーティングが正しく振り分けられるか |
| 署名検証 | Slack Signing Secretで署名検証を実施しているか |
| セキュリティ | チャンネル許可リスト・レート制限が設定されているか |
| プラットフォーム分離 | コアロジックがSlack固有コードに依存していないか |
| end-to-end | Slack返信まで完了したことをログで確認できるか |
AIエージェントのSlack連携は、単なるボット開発ではありません。認証・認可・重複排除・セキュリティ・プラットフォーム分離——これらを設計段階で組み込むことで、企業環境で安全に運用できるAI Slack Botが完成します。
あわせて読みたい
- 5Sとは|整理・整頓・清掃・清潔・しつけの意味・目的・進め方を解説
- AIリードスコアリング実装ガイド【2026年版】— 4要素スコアリング×テリトリー管理×ステータス倍率の本番アーキテクチャ
- AIカスタマーサポート完全ガイド【2026年版】— RAG・チャットボット・有人連携の実装パターンとツール比較
関連記事
AI開発のご相談はrenueまで。
サービス・採用に関する公開情報は、renue公式サイトをご確認ください。
