前言
在使用人工智慧助理,例如 OpenClaw, 的時候最大的問題之一,就是 Token (算力) 的使用量。因為 Token 很貴,所以如何有效率地使用 Token 就變成各家廠商及學者們熱門的話題。AI Agent 因為每次在跟 AI Model 進行溝通的時候,都要合併前後文一起詢問,所以 Token 量會爆增;因此,就會有一些自動化的機制去縮減前後文,這些機制通常是以統計的手法過濾經常出現的文字來進行;但是少出現的單詞不見得是不重要的事情,這種統計或資訊壓縮的手法,不見得適合每種使用的情況;從管理的角度來講,與其在跟 AI Agent 溝通的訊息發出之後再再整理濃縮,不如在溝通的訊息發出之前,就先整理好,更為有效率。將 OpenClaw 要處理的事情先分類好,在不同的溝通主題(Topic)上來進行,不僅更好管理 Token 的使用量;對我這種潔癖的人來說,每個主題都很清楚,不管是作事情的當下,或是討論之後的整理,都可以井井有條;非常舒服,又可以省錢。透過 Telegram 的 Topic Group 的工具,我們來實行這個作法。
安裝
首先,我們要在 Telegram 建立一個話題群組 (Topic Group)- 步驟1. 在 telegram 建立機器人
先向 '@RobFather 要一個機器人,例如先跟他要一個"topicBuilder"。這一步有點怪,但是在現行版本的 openclaw 上的連結就會比較不會出問題;

- 步驟2. 在 telegram 建立機器人可以使用的群組
啟動 'topicBuilder' 在右上方按下"Create Group",然後更改 Group 名稱、把小蝦加進來,最後按下"Create"


- 步驟3. 進入群組設定畫面
按下"Create"之後會出現另一個畫面,按右上角 "..." 的地方,再按"Info" ( 很重要,不是"Edit");就會有一個編輯畫面,這時候要按右上角的"Edit",這就是設定的主畫面。



- 步驟4. 設定 Adimistror
設定畫面往下拉,點"Administrators",把小蝦加進 Admin,按 save;再接 "< BACK"回設定畫面。



- 步驟5. 打開 Topic 開關
在設定畫面按下"Topics",出現啟動畫面,打開 Topic "Enable"功能;;再接 "< Back"回設定畫面;最後按 "Done" 結束,回到群組畫面,再按"<Back" 回到聊天畫面。



- 步驟6. 啟動 Topic
在聊天畫面可以看到多了群組 TopicRoom 以及一個 default topic "# General",點一下就會跑出Topic 畫面,這時候你跟他講什麼話都不會有任何反應。


再來要很注意,點擊 General一次,進入一個設定的畫面, 再點擊 General 的圖像,就會出現 topic 的資訊,在 share link 的那一行,會有 "https://xxx/c/[channel ID]/[topic ID]",要把 channel ID 以及 topic ID 記下來,接下來跟 openClaw 的連結就會用到。channel ID 是這個 Topic Group 都一樣的,但是 topic ID 是每一個 topic 都不同;之後跟 openClaw 溝通的時候都是使用這個數字來分別那一個 topic。所以,我習慣會把它記在 topic 標題中,例如,再按右上角 "Edit"直接把 "General"改成"General (#1)"。再回到 General Topic 聊天畫面,目前還是都沒有反應。



- 步驟 7. 連結 openclaw
回到主畫面,先找"userinfobot',先打"/start",他會顯示你的資訊;然後按 "Group",他就把你剛才建立的 Group 列出來,注意,這時候的 Group ID 會是 "-100" 開頭;表示你的 Group 是"Super Group";然後編輯 openclaw.json,在 telegram 區塊中加上 Groups 以及 groupAllowFrom,要注意 Group 的 group id 是 "-100" 開頭,而 group AllowFrom 不是。
然後要打開 "~/.openclaw/openclaw.json" 這個檔案,在 telegram 的區域加上 groups.topics 的內容
"telegram": {
"groups": {
"[-100+channel ID]": {
"topics": {
"[topic ID]": {
"requireMention": false,
"groupPolicy": "open",
"enabled": true
},
}
}
},
"groupAllowFrom": [
"[channel ID]"
],
大概像這個樣子:

然後,重新啟動 gateway service
openclaw gateway restart 再回到新建立好的 topic room 裏跟小蝦 say Hi,因為裏面有三個人,所以要用指定符號'@' 來指定人名。一旦小蝦有回覆就算是連結成功

- 步驟 8. 後續
第一個 Topic 建立起來之後,再來就一個一個把所需要的 topic 建立起來,並且啟動;例如是 "General", "寫程式"、"看信"、"會議"、"老板"之類的。全部都 OK 了,就可以把 topicBuilder 移除掉,這樣在 topic 中交談就可以不用再指定人名。
然後透過 dashboard 去更改每個 topic 所使用的 model,例如老板和寫信,就交給比較會唬爛的模型,像 GxP;寫程式就找個實在一點,不會廢話的模型;如果是專業學術的,當然就找專業氣息濃厚的模型。
最後要注意,每個 Topic 的 Agent 都是獨立運作的 session;所以,不旦 Agent與 AI model 的溝通只有同一個 topic 的上下文,如果把訊息刪除也完全不會影響到再其他 Topic 的 agent; 所以,我通常會在每個 topic 工作到一個段落的時候,請各自 Topic agent 整理報告存檔,然後只留下最後 5 毎訊息,刪除其他的訊息;在上下文資訊的管理上就會很有效率;可以大量減少 Token 的使用。然後小蝦就會變成大總管,負責監看各個 topic 的 token 使用量,決定要不要刪除 topic 或減少 topic 留下來的訊息數目;變成大尾龍蝦。






















