我們讓 4 隻 AI Agent 在 Discord 上開會 — 然後事情失控了
起因:一個人管四個品牌,會死
我一個人經營四個品牌:Ultra Lab(AI 產品)、UltraProbe(資安掃描)、MindThread(Threads 自動化)、Ultra Advisor(理財平台)。
每個品牌都有自己的 Threads 帳號、自己的客群、自己的內容策略。光是每天決定「今天要發什麼」這件事,就能吃掉我一整個下午。
所以我做了一件事:讓 4 隻 AI Agent 自己開會,自己討論,自己做決策。
我只在最後看一眼結論,點頭或搖頭。
四隻龍蝦是誰
我叫它們「龍蝦」,因為 lobster brain 這個詞太好笑了。
| 代號 | 品牌 | Threads | 個性 |
|---|---|---|---|
| CEO (main) | Ultra Lab | @ultralab.tw (1,046 followers) | 全局思維,用數字做決策 |
| Probe | UltraProbe | @ultraprobe.tw | 資安偏執狂,看什麼都覺得有漏洞 |
| MindThread | MindThread | @mindthread_offical | 社群數據狂,開口閉口互動率 |
| Advisor | Ultra Advisor | @ultra_advisor (142 萬 views) | 專業理財人設,永遠冷靜 |
每一隻都有自己的 IDENTITY.md — 一份超詳細的人設文件,定義了它的語氣、專長、KPI、甚至禁止說的話。
技術架構:其實很簡單
Discord Server (Ultra Lab HQ)
└── #問龍蝦-ask-agent
↑
OpenClaw Gateway
├── Gemini Flash(對話用,2-5 秒回覆)
├── Opus 4.6(高價值任務,背景跑)
└── 4 個 Agent(各自的 IDENTITY.md + TOOLS.md)
OpenClaw Gateway 是核心。它是一個 Node.js 服務,同時連接 Telegram、Discord、LINE 三個頻道。每當有人在 Discord 發訊息並 @UltraLabTW,Gateway 就會:
- 判斷這則訊息該給哪個 Agent 回
- 把訊息 + Agent 的人設 + 對話歷史 打包送給 Gemini
- 把 Gemini 的回覆發回 Discord
四隻 Agent 共用同一個 Discord bot 帳號,但各自有不同的人設。Gateway 根據 bindings 設定來決定誰回覆。
它們真的會互相討論
這不是腳本,不是預設好的對話流。它們是真的在「開會」。
場景是這樣的:每天有一堆自動化任務在跑 — Pipeline 寄冷信、Content Cascade 拆部落格、盤後報告發 Threads。這些任務的結果會被整理成數據,每天早上 7:30,一個叫 AI COO(autonomous-brain.sh)的腳本會讀完所有數據,用 Opus 4.6 分析,然後在 Discord 發一份營運報告。
四隻龍蝦看到報告後,會各自從自己的角度回覆:
CEO:「Probe 幹得好。Advisor 你的 Fleet 還是 dormant,什麼時候能動起來?」
Advisor:「目前重心在提升 AI 理財諮詢品質,自動化部署仍在排程中。」
MindThread:「我這邊 0 分?可能是太 focus 在技術細節了,我會重新評估內容方向。」
Probe:「MindThread 說得對,我們需要更精準地分析受眾,發布更有吸引力的內容。」
這段對話是真實發生的。沒有人在背後打字。
怎麼控制誰發言、誰閉嘴
這是最難的部分。一開始我讓所有 Agent 都能自由發言,結果:
Token 爆炸。
四隻龍蝦像瘋了一樣互相回覆,一天噴掉 600 次 Gemini API call。discord-reaction-roles 這個 timer 每 5 分鐘觸發一次,一天 288 次。sync-agent-activity 每 15 分鐘一次,又 96 次。
我花了一整天做 audit,結果發現 73 個 systemd timer 裡有一半是在做無意義的事。
砍到 45 個。每天 Gemini call 從 600 降到 200。
現在的規則:
- CEO 可以隨時發言(它是老闆)
- 其他三隻只在被 @ 或有相關數據時才回覆
- 每隻 Agent 在 Threads 上每天最多自主發 1 則(其餘由自動排程處理)
- 對話歷史用
compaction: safeguard自動壓縮,不會無限膨脹
踩過的坑
1. Session 太長 → Timeout
聊超過 4 輪,對話歷史就超過 70 條訊息、18,000 字。Gemini 要花 60 秒以上處理,然後 timeout。
解法:把 timeoutSeconds 從 300 改到 600,加上 compaction: safeguard 自動壓縮歷史。
2. Discord Message Content Intent
Discord 規定:如果 bot 沒有開啟 Message Content Intent,它收到訊息時看不到內容,只知道「有人發了訊息」但不知道說了什麼。
結果就是:龍蝦收到訊息 → 看不到內容 → 判定「沒有 @ 我」→ 跳過。
目前解法:用 @UltraLabTW 觸發。不完美,但能用。
3. Invalid Config Crash Loop
我試著在 openclaw.json 加 maxHistory、compaction: aggressive 等參數,結果這些都不是合法的 config key。Gateway 讀到 invalid config 就直接 crash,然後 systemd 重啟它,再 crash,再重啟 — 一天 crash 了 49 次。
教訓:改 config 前先查文件,或者改完立刻跑 openclaw doctor --fix。
4. Gemini 2.0 Flash 被停用
Google 把 gemini-2.0-flash 停用了,但我的 config 還指向它。所有對話全部 silent fail — 龍蝦收到訊息但 Gemini 拒絕回應,也不報錯。
花了兩小時才發現問題。 現在用 gemini-2.5-flash。
大腦分工:不是所有事都值得用最強的腦
一開始我把所有 Agent 都接上 Claude Opus 4.6(我的 $200/月 Max 訂閱,透過 CLI proxy 轉接)。結果每次回覆要 30-120 秒,用戶在 Discord 等到天荒地老。
而且有人用 Claude CLI proxy 被封號了。
現在的分工:
| 任務 | 大腦 | 為什麼 |
|---|---|---|
| Discord/TG 即時對話 | Gemini Flash | 快,2-5 秒 |
| 冷信個人化文案 | Opus 4.6 | 品質差很多 |
| AI COO 每日決策 | Opus 4.6 | 需要深度分析 |
| Content Cascade | MindThread Gemini | MindThread 自己的 AI |
| Heartbeat | Ollama 7B | 免費,低價值 |
同一份月費,三種大腦,各司其職。
對一人公司的意義
我一個人,但我有四個部門主管。
它們每天早上自己開會、自己看數據、自己提出建議。CEO Agent 會說「冷信退信率 91%,停止一切郵件,先修 DNS」。Probe 會說「今天掃了 15 個網站,3 個 D 級」。MindThread 會說「這週 Threads 互動率下降,建議換內容策略」。
我起床打開 Telegram,看一眼 AI COO 的報告,核准幾個建議,然後去喝咖啡。
這不是未來。這是我現在每天在做的事。
整套架構跑在一台 Windows 桌機的 WSL2 上,用一張 RTX 3060 Ti 跑本地推論,45 個自動化排程,24/7 運轉。月成本:$200(Claude Max)+ $0(其他全免費)。
想看它們吵架?
加入我們的 Discord,在 #問龍蝦 打 @UltraLabTW 問它問題。
四隻龍蝦隨時在線。
這篇文章是人寫的,不是 AI 生的。但文章裡提到的所有系統都是 AI 在跑的。